{"id":"src_14MlnLSGwVL0dmc8_uuPu","slug":"sentry","name":"Sentry","type":"github","url":"https://github.com/getsentry/sentry","orgId":"org_PbCfUNHVPaVg-vGKpxWUX","productId":null,"productSlug":null,"org":{"id":"org_PbCfUNHVPaVg-vGKpxWUX","slug":"sentry","name":"Sentry"},"isPrimary":false,"isHidden":false,"discovery":"curated","metadata":"{\"changelogDetectedAt\":\"2026-03-31T14:10:17.153Z\",\"wellKnownSweptAt\":\"2026-06-16T06:00:58.356Z\"}","notice":null,"kind":"platform","stars":44155,"starsFetchedAt":"2026-06-23T22:00:32.846Z","releaseCount":170,"releasesLast30Days":3,"avgReleasesPerWeek":0.5,"latestVersion":"26.6.0","latestDate":"2026-06-15T23:54:15.000Z","changelogUrl":null,"hasChangelogFile":false,"lastFetchedAt":"2026-06-23T22:00:32.846Z","lastPolledAt":"2026-06-23T22:00:29.922Z","trackingSince":"2015-07-28T20:46:11.000Z","releases":[{"id":"rel_PnFR1E1SkkXVzRHM2Zqqt","version":"26.6.0","type":"feature","title":"26.6.0","summary":"### New Features ✨\n\n#### Api\n\n- Accept project slugs in product integration endpoints by @gricha in [#117495](https://github.com/getsentry/sentry/pull...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Api\n\n- Accept project slugs in product integration endpoints by @gricha in [#117495](https://github.com/getsentry/sentry/pull/117495)\n- Accept project slugs in replay endpoints by @gricha in [#117494](https://github.com/getsentry/sentry/pull/117494)\n- Accept project slugs in release endpoints by @gricha in [#117493](https://github.com/getsentry/sentry/pull/117493)\n- Accept project slugs in organization filters by @gricha in [#117446](https://github.com/getsentry/sentry/pull/117446)\n- Add project ID-or-slug parser by @gricha in [#117445](https://github.com/getsentry/sentry/pull/117445)\n- Backfill Serializer[T] across 61 serializers by @azulus in [#116816](https://github.com/getsentry/sentry/pull/116816)\n- Tighten Response[T] on 14 endpoints (typed cohort) by @azulus in [#116800](https://github.com/getsentry/sentry/pull/116800)\n- Make organization tags endpoint public with OpenAPI spec by @MathurAditya724 in [#116751](https://github.com/getsentry/sentry/pull/116751)\n- Migrate Tag(Key|Value)Serializer to Serializer[T] by @azulus in [#116743](https://github.com/getsentry/sentry/pull/116743)\n- Tighten Response on 3 endpoints + add as_validation_errors helper by @azulus in [#116736](https://github.com/getsentry/sentry/pull/116736)\n- Tighten Response annotation on 6 endpoints (no-cast subset) by @azulus in [#116717](https://github.com/getsentry/sentry/pull/116717)\n\n#### Attributes\n\n- Roll out TaskProducer to attributes_snapshot_producer by @bmckerry in [#117360](https://github.com/getsentry/sentry/pull/117360)\n- Remove internal attributes on /trace-item/attributes/ by @nsdeschenes in [#116372](https://github.com/getsentry/sentry/pull/116372)\n- This adds count to string attribute values by @wmak in [#116811](https://github.com/getsentry/sentry/pull/116811)\n\n#### Autofix\n\n- Handle PR iteration completion and introspection by @joseph-sentry in [#117217](https://github.com/getsentry/sentry/pull/117217)\n- Trigger PR iteration runs and surface PR links in prompts by @joseph-sentry in [#117216](https://github.com/getsentry/sentry/pull/117216)\n- Add PR iteration variants to enums and type registrations by @joseph-sentry in [#117215](https://github.com/getsentry/sentry/pull/117215)\n- Has:issue.seer_last_run only show last 30 days by @Zylphrex in [#116924](https://github.com/getsentry/sentry/pull/116924)\n- Explain when code changes step makes no edits by @chromy in [#116957](https://github.com/getsentry/sentry/pull/116957)\n\n#### Cells\n\n- Require explicit locality configuration by @lynnagara in [#117462](https://github.com/getsentry/sentry/pull/117462)\n- Route org listing through control silo if option is set by @lynnagara in [#117116](https://github.com/getsentry/sentry/pull/117116)\n- Add option to route org listing through control silo by @lynnagara in [#117115](https://github.com/getsentry/sentry/pull/117115)\n- Wire devservices ingest path for cell-routing mode by @lynnagara in [#116714](https://github.com/getsentry/sentry/pull/116714)\n\n#### Cmdk\n\n- Route NEXT_PUBLIC_SENTRY_DSN search to Client Keys (DSN) by @JoshFerge in [#117677](https://github.com/getsentry/sentry/pull/117677)\n- Suggest auth token destinations by @JoshFerge in [#117106](https://github.com/getsentry/sentry/pull/117106)\n- Surface Client Keys (DSN) when searching \"SENTRY_DSN\" by @JoshFerge in [#116883](https://github.com/getsentry/sentry/pull/116883)\n\n#### Events\n\n- Wire up TagDerivers behind feature flag by @Christinarlong in [#116989](https://github.com/getsentry/sentry/pull/116989)\n- Add a log for query errors by @wmak in [#116696](https://github.com/getsentry/sentry/pull/116696)\n\n#### Explore\n\n- Heat maps fixed buckets by @nikkikapadia in [#117083](https://github.com/getsentry/sentry/pull/117083)\n- Apply Seer-suggested interval to Explore charts by @DominikB2014 in [#117196](https://github.com/getsentry/sentry/pull/117196)\n- Check attribute key and name for hidden values by @nsdeschenes in [#117304](https://github.com/getsentry/sentry/pull/117304)\n- Surface and apply Seer's expanded project scope by @manessaraj in [#117122](https://github.com/getsentry/sentry/pull/117122)\n- Use heatmap icon for Heat Map chart type by @gggritso in [#117180](https://github.com/getsentry/sentry/pull/117180)\n- View random trace from aggregates table by @nsdeschenes in [#116972](https://github.com/getsentry/sentry/pull/116972)\n- Add to filter option in heatmaps tooltip by @nikkikapadia in [#116690](https://github.com/getsentry/sentry/pull/116690)\n\n#### Ingest\n\n- Run save_event inline for ingest events raw task by @lvthanh03 in [#117580](https://github.com/getsentry/sentry/pull/117580)\n- Match messages in custom inbound filter by @oioki in [#116701](https://github.com/getsentry/sentry/pull/116701)\n\n#### Integrations\n\n- Normalize path mapping roots and refine field copy by @evanpurkhiser in [#117375](https://github.com/getsentry/sentry/pull/117375)\n- Add PathMapping component for repo code mappings by @evanpurkhiser in [#117191](https://github.com/getsentry/sentry/pull/117191)\n- ExternalActor from login-with-github identity by @hobzcalvin in [#116823](https://github.com/getsentry/sentry/pull/116823)\n- Set Perforce integration popularity weight by @souredoutlook in [#116998](https://github.com/getsentry/sentry/pull/116998)\n- Create ExternalActor from public GH email opportunistically by @hobzcalvin in [#116737](https://github.com/getsentry/sentry/pull/116737)\n- Create ExternalActor mappings on new CommitAuthors by @hobzcalvin in [#116645](https://github.com/getsentry/sentry/pull/116645)\n\n#### Issues\n\n- Add a new \"Progress\" column to the awaiting input page by @malwilley in [#117485](https://github.com/getsentry/sentry/pull/117485)\n- Model Sentry App and org callers as distinct action-log actors by @yuvmen in [#117354](https://github.com/getsentry/sentry/pull/117354)\n- Instrument Sentry App platform external issue attach/unlink by @yuvmen in [#117273](https://github.com/getsentry/sentry/pull/117273)\n- Add issue.progress search filter to frontend by @malwilley in [#117326](https://github.com/getsentry/sentry/pull/117326)\n- Add \"Awaiting Input\" page to issue stream nav by @malwilley in [#117460](https://github.com/getsentry/sentry/pull/117460)\n- Add issues-progress endpoint by @malwilley in [#117431](https://github.com/getsentry/sentry/pull/117431)\n- Add optional project scoping to qualified short id lookups by @oioki in [#117047](https://github.com/getsentry/sentry/pull/117047)\n- Move issue tracker actions into external links header by @scttcper in [#117343](https://github.com/getsentry/sentry/pull/117343)\n- Show linked pull requests in issue sidebar by @scttcper in [#117271](https://github.com/getsentry/sentry/pull/117271)\n- Add issue.progress search filter by @malwilley in [#117250](https://github.com/getsentry/sentry/pull/117250)\n- Add issue-stream-progress-ui feature flag by @malwilley in [#117251](https://github.com/getsentry/sentry/pull/117251)\n- Add endpoint for pull requests linked to an issue by @scttcper in [#116744](https://github.com/getsentry/sentry/pull/116744)\n- Instrument integration inbound handlers and update_group_status by @yuvmen in [#116797](https://github.com/getsentry/sentry/pull/116797)\n- Instrument TRIGGER_AUTOFIX on autofix kickoff by @yuvmen in [#116939](https://github.com/getsentry/sentry/pull/116939)\n- Instrument external issue create/link/unlink endpoints by @yuvmen in [#116781](https://github.com/getsentry/sentry/pull/116781)\n- Send resolving commit id on issue_resolved signal by @Zylphrex in [#116991](https://github.com/getsentry/sentry/pull/116991)\n- Add GroupActionLogEntry by @kcons in [#115771](https://github.com/getsentry/sentry/pull/115771)\n- Add GroupActionLog instrumentation for issue mutations by @yuvmen in [#116347](https://github.com/getsentry/sentry/pull/116347)\n- Improve merged issues drawer by @scttcper in [#116634](https://github.com/getsentry/sentry/pull/116634)\n\n#### Jira Server\n\n- Add frontend pipeline steps for integration setup by @evanpurkhiser in [#117185](https://github.com/getsentry/sentry/pull/117185)\n- Add API-driven pipeline backend for integration setup by @evanpurkhiser in [#117181](https://github.com/getsentry/sentry/pull/117181)\n\n#### Onboarding\n\n- Add Hono SDK (Deno) by @s1gr1d in [#117416](https://github.com/getsentry/sentry/pull/117416)\n- Wire ScmProjectDetailsCore into single-view project creation by @jaydgoss in [#117213](https://github.com/getsentry/sentry/pull/117213)\n- Wire ScmPlatformFeaturesCore into single-view project creation by @jaydgoss in [#116626](https://github.com/getsentry/sentry/pull/116626)\n- Wire ScmIntegrationConnect into single-view project creation by @jaydgoss in [#116582](https://github.com/getsentry/sentry/pull/116582)\n- Complete SCM task when Perforce integration is added by @souredoutlook in [#117009](https://github.com/getsentry/sentry/pull/117009)\n- Scaffold SCM-first project creation as a single view by @jaydgoss in [#116577](https://github.com/getsentry/sentry/pull/116577)\n\n#### Ourlogs\n\n- Switch from LoadingIndicator to Placeholder for loading pinned rows by @JoshuaKGoldberg in [#117352](https://github.com/getsentry/sentry/pull/117352)\n- Add 'all columns' option to export modal by @JoshuaKGoldberg in [#116192](https://github.com/getsentry/sentry/pull/116192)\n- Sync hover state between pinned and tbody log rows by @JoshuaKGoldberg in [#117034](https://github.com/getsentry/sentry/pull/117034)\n- Only re-query truncated logs on significant viewport width increases by @JoshuaKGoldberg in [#117014](https://github.com/getsentry/sentry/pull/117014)\n- Fetch not-yet-available pinned logs and invalidate on filter changes by @JoshuaKGoldberg in [#116614](https://github.com/getsentry/sentry/pull/116614)\n\n#### Pr Metrics\n\n- Forward needs-judge terminal PR events to Seer by @vaind in [#117512](https://github.com/getsentry/sentry/pull/117512)\n- Scaffold delegated-agent PR detection from GitHub webhooks by @giovanni-guidini in [#117171](https://github.com/getsentry/sentry/pull/117171)\n- Deterministic verdict + redelivery guard for PR terminal events by @vaind in [#117290](https://github.com/getsentry/sentry/pull/117290)\n- Capture branch_name in CodingAgentResult for delegated agents by @giovanni-guidini in [#117402](https://github.com/getsentry/sentry/pull/117402)\n- Add merge_commit_id to the PR close/merge event by @Zylphrex in [#117318](https://github.com/getsentry/sentry/pull/117318)\n- Add Seer judge callback update_pr_metrics by @vaind in [#117246](https://github.com/getsentry/sentry/pull/117246)\n- Attribute PRs opened by Seer-delegated coding agents by @giovanni-guidini in [#117072](https://github.com/getsentry/sentry/pull/117072)\n- Ensure to emit linked group ids to pr closed events by @Zylphrex in [#117192](https://github.com/getsentry/sentry/pull/117192)\n- Persist PR opened_at, draft, and metrics JSONB; make emit payload-free by @vaind in [#117062](https://github.com/getsentry/sentry/pull/117062)\n- Persist PR lifecycle fields and use them as emit fallback by @vaind in [#116962](https://github.com/getsentry/sentry/pull/116962)\n- Populate PullRequestActivity from GitHub PR lifecycle webhooks by @giovanni-guidini in [#116856](https://github.com/getsentry/sentry/pull/116856)\n- Emit a BigQuery row on PR close/merge (no-judge path) by @vaind in [#116842](https://github.com/getsentry/sentry/pull/116842)\n- Write PullRequestAttribution on PR open via GitHub webhook by @giovanni-guidini in [#116834](https://github.com/getsentry/sentry/pull/116834)\n- Attribute PRs from the seer.pr_created event by @vaind in [#116759](https://github.com/getsentry/sentry/pull/116759)\n- Extend PullRequest + add PullRequestAttribution, PullRequestMetrics, PullRequestActivity tables by @giovanni-guidini in [#116586](https://github.com/getsentry/sentry/pull/116586)\n\n#### Preprod\n\n- Surface errored images in snapshot status check and PR comment by @NicoHinderling in [#117560](https://github.com/getsentry/sentry/pull/117560)\n- Support selective builds as bases for stacked PRs by @NicoHinderling in [#117366](https://github.com/getsentry/sentry/pull/117366)\n- Add odiff desync detection and unchanged-diff telemetry by @NicoHinderling in [#117210](https://github.com/getsentry/sentry/pull/117210)\n- Add copy insight diff as JSON to clipboard by @jamieQ in [#116965](https://github.com/getsentry/sentry/pull/116965)\n- Smart-download or email-deliver snapshot images by @NicoHinderling in [#116952](https://github.com/getsentry/sentry/pull/116952)\n- Prefill original filename when saving snapshot images by @NicoHinderling in [#116954](https://github.com/getsentry/sentry/pull/116954)\n- Set Content-Disposition filename on snapshot images by @NicoHinderling in [#116953](https://github.com/getsentry/sentry/pull/116953)\n- Store and email-deliver snapshot image archives by @NicoHinderling in [#116928](https://github.com/getsentry/sentry/pull/116928)\n- Fan out snapshot comparison into bounded chunk tasks by @NicoHinderling in [#116813](https://github.com/getsentry/sentry/pull/116813)\n- Collapse duplicate files within a group by @jamieQ in [#116815](https://github.com/getsentry/sentry/pull/116815)\n- Add async resumable snapshot archive download endpoint by @NicoHinderling in [#116825](https://github.com/getsentry/sentry/pull/116825)\n\n#### Replays\n\n- Add EAP `spans` dataset support to replay counts endpoint by @mjq in [#116150](https://github.com/getsentry/sentry/pull/116150)\n- Hooked up logs search to standard TraceItemSearchQueryBuilder by @JoshuaKGoldberg in [#115944](https://github.com/getsentry/sentry/pull/115944)\n\n#### Scm Multi Platform Detetion\n\n- Extending multi platform detector functionality by @Abdkhan14 in [#117444](https://github.com/getsentry/sentry/pull/117444)\n- Calling platforms-test endpoint in the FE by @Abdkhan14 in [#117113](https://github.com/getsentry/sentry/pull/117113)\n\n#### Search\n\n- Add recommended_v2 sort using the Postgres-data sort framework by @roggenkemper in [#117227](https://github.com/getsentry/sentry/pull/117227)\n- Add Postgres-data sort framework for issue search by @roggenkemper in [#116896](https://github.com/getsentry/sentry/pull/116896)\n- Downrank capture_message issues in recommended sort by @roggenkemper in [#116588](https://github.com/getsentry/sentry/pull/116588)\n- Add `release:latest` as an autocomplete option in the issue feed by @shashjar in [#116742](https://github.com/getsentry/sentry/pull/116742)\n\n#### Seer\n\n- Wire enable_streaming flag to Seer agent runs by @natemoo-re in [#117573](https://github.com/getsentry/sentry/pull/117573)\n- Register seer-explorer-stream feature flag by @natemoo-re in [#117571](https://github.com/getsentry/sentry/pull/117571)\n- Enable autofix code review purely on the option by @chromy in [#117523](https://github.com/getsentry/sentry/pull/117523)\n- Backfill SeerAgentRun.group_id from autofix category_value by @trevor-e in [#117561](https://github.com/getsentry/sentry/pull/117561)\n- Accept and return SeerRun UUID in explorer autofix by @trevor-e in [#117464](https://github.com/getsentry/sentry/pull/117464)\n- Treat night-shift RCA verdicts as skips by @trevor-e in [#117480](https://github.com/getsentry/sentry/pull/117480)\n- Return and accept SeerRun UUID in explorer chat by @trevor-e in [#117265](https://github.com/getsentry/sentry/pull/117265)\n- Return \\_seer_error_detail on timeseries query 400s by @aliu39 in [#117395](https://github.com/getsentry/sentry/pull/117395)\n- Add CPU connection pools and rollout options for severity and fixability by @Mihir-Mavalankar in [#117359](https://github.com/getsentry/sentry/pull/117359)\n- Allow Seer Agent POST endpoints in sandbox demo mode by @constantinius in [#117397](https://github.com/getsentry/sentry/pull/117397)\n- Move troubleshooting context to the serialized event by @ArthurKnaus in [#117303](https://github.com/getsentry/sentry/pull/117303)\n- Register CPU rollout options for severity and fixability by @Mihir-Mavalankar in [#117350](https://github.com/getsentry/sentry/pull/117350)\n- Populate SeerAgentRun.group from the client's group by @trevor-e in [#117314](https://github.com/getsentry/sentry/pull/117314)\n- Poll search agent using UUID instead of numeric run ID by @trevor-e in [#115307](https://github.com/getsentry/sentry/pull/115307)\n- Add cross-event filter params to execute_table_query by @manessaraj in [#117195](https://github.com/getsentry/sentry/pull/117195)\n- Add issue troubleshooting context by @ArthurKnaus in [#117068](https://github.com/getsentry/sentry/pull/117068)\n- Add autofix RCA and solution to issue details LLM context by @Mihir-Mavalankar in [#116978](https://github.com/getsentry/sentry/pull/116978)\n- Register seer-explorer-embeds feature flag by @sentry-junior in [#116780](https://github.com/getsentry/sentry/pull/116780)\n- Add autofix high-intelligence and code-review org experiments by @chromy in [#116843](https://github.com/getsentry/sentry/pull/116843)\n- Add seer-use-agent-sandbox feature flag by @chromy in [#116841](https://github.com/getsentry/sentry/pull/116841)\n- Handle @sentry review notes in GitLab merge_request webhook handler by @sentry-junior in [#116599](https://github.com/getsentry/sentry/pull/116599)\n- Add deliver_feature_result RPC for Seer agent features by @trevor-e in [#116734](https://github.com/getsentry/sentry/pull/116734)\n- Pass ready_for_review when creating Explorer PRs by @trevor-e in [#116746](https://github.com/getsentry/sentry/pull/116746)\n- Add award-emoji parity to GitLab merge-request webhook handler by @cmanallen in [#116766](https://github.com/getsentry/sentry/pull/116766)\n\n#### Seer Activity\n\n- Implement activity action registry by @leeandher in [#117016](https://github.com/getsentry/sentry/pull/117016)\n- Add the frontend form for seer activity condition by @leeandher in [#116689](https://github.com/getsentry/sentry/pull/116689)\n\n#### Seer Infra Telemetry\n\n- Add DatadogIdentityProvider for OAuth2 by @srest2021 in [#117035](https://github.com/getsentry/sentry/pull/117035)\n- 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)\n- Add Datadog OAuth2 views with PKCE and DCR by @srest2021 in [#117026](https://github.com/getsentry/sentry/pull/117026)\n- Add GCP MCP identity provider for OAuth2 by @shashjar in [#117279](https://github.com/getsentry/sentry/pull/117279)\n\n#### Spans\n\n- Add visuals to spans that have warnings/errors by @adrianviquez in [#117380](https://github.com/getsentry/sentry/pull/117380)\n- Add any function by @wmak in [#116882](https://github.com/getsentry/sentry/pull/116882)\n\n#### Taskbroker\n\n- Add `taskworker-push` Topic by @george-sentry in [#117151](https://github.com/getsentry/sentry/pull/117151)\n- Add `TASKWORKER_INGEST_PUSH` to `Topic` Enum by @george-sentry in [#117135](https://github.com/getsentry/sentry/pull/117135)\n\n#### Teams\n\n- Add avatar upload UI to team settings by @shashjar in [#117140](https://github.com/getsentry/sentry/pull/117140)\n- Update team serializer to return avatar data by @shashjar in [#117132](https://github.com/getsentry/sentry/pull/117132)\n- Recreates the `TeamAvatar` model by @shashjar in [#117128](https://github.com/getsentry/sentry/pull/117128)\n\n#### Trace Waterfall\n\n- Add time compression feature flag by @nsdeschenes in [#117109](https://github.com/getsentry/sentry/pull/117109)\n- Render warning icon with count by @nsdeschenes in [#116566](https://github.com/getsentry/sentry/pull/116566)\n\n#### Tracemetrics\n\n- Update dashboard prompts to include equations by @narsaynorath in [#117103](https://github.com/getsentry/sentry/pull/117103)\n- Switch widget builder to toggle between series and equations by @narsaynorath in [#116383](https://github.com/getsentry/sentry/pull/116383)\n\n#### Vercel\n\n- Activate the API-driven pipeline for Vercel installs by @evanpurkhiser in [#116625](https://github.com/getsentry/sentry/pull/116625)\n- Add API-driven pipeline backend for Vercel integration setup by @evanpurkhiser in [#113094](https://github.com/getsentry/sentry/pull/113094)\n\n#### Vsts\n\n- Drive Marketplace installs through the API pipeline modal by @evanpurkhiser in [#117085](https://github.com/getsentry/sentry/pull/117085)\n- Accept the Marketplace account as API pipeline initial data by @evanpurkhiser in [#116974](https://github.com/getsentry/sentry/pull/116974)\n\n#### Webhooks\n\n- Add org-scoped legacy webhooks endpoint by @Christinarlong in [#116817](https://github.com/getsentry/sentry/pull/116817)\n- Add legacy-webhook-ui feature flag by @Christinarlong in [#116731](https://github.com/getsentry/sentry/pull/116731)\n\n#### Weekly Report\n\n- Removing dropped counts from snuba queries by @amy-chen23 in [#117578](https://github.com/getsentry/sentry/pull/117578)\n- Remove dropped columns from chart by @amy-chen23 in [#117577](https://github.com/getsentry/sentry/pull/117577)\n- Adding week over week percentage change to total errors and transactions by @amy-chen23 in [#117037](https://github.com/getsentry/sentry/pull/117037)\n\n#### Other\n\n- (account) Improve close account UX copy and confirmation by @sentry-junior in [#117051](https://github.com/getsentry/sentry/pull/117051)\n- (agents) Warn about wrongly reported tokens in span details by @obostjancic in [#117067](https://github.com/getsentry/sentry/pull/117067)\n- (apigw) Add cell address override support by @gi0baro in [#116846](https://github.com/getsentry/sentry/pull/116846)\n- (billing) Paginate invoice comparison admin UI by @armcknight in [#116647](https://github.com/getsentry/sentry/pull/116647)\n- (broadcasts) Add organization targeting to broadcast admin UI by @michelletran-sentry in [#116723](https://github.com/getsentry/sentry/pull/116723)\n- (clock-pulse) Rollout TaskProducer as checkin_producer by @bmckerry in [#117107](https://github.com/getsentry/sentry/pull/117107)\n- (cmd-k) Hide deprecated API Keys from command palette by @sentry-junior in [#116922](https://github.com/getsentry/sentry/pull/116922)\n- (config-issues) Add beta badge to Sentry Configuration by @ArthurKnaus in [#117156](https://github.com/getsentry/sentry/pull/117156)\n- (conversations) Support reasoning/thinking message parts by @obostjancic in [#117401](https://github.com/getsentry/sentry/pull/117401)\n- (cursor) Make agent display name editable and drop email from default by @JoshFerge in [#117559](https://github.com/getsentry/sentry/pull/117559)\n- (dashboards) Add backend support for heat map widgets by @gggritso in [#117575](https://github.com/getsentry/sentry/pull/117575)\n- (dev) Suppress mypy unused configs warnings when running via prek by @lcian in [#117281](https://github.com/getsentry/sentry/pull/117281)\n- (devserver) Tee console output to a local dev log file by @trevor-e in [#117486](https://github.com/getsentry/sentry/pull/117486)\n- (difs) Add Objectstore columns to ProjectDebugFile by @lcian in [#117500](https://github.com/getsentry/sentry/pull/117500)\n- (dynamic-sampling) Add config option to set the minimum implicit factor by @constantinius in [#116571](https://github.com/getsentry/sentry/pull/116571)\n- (eslint) Only run ESLint on impacted files, transitively by @JoshuaKGoldberg in [#116718](https://github.com/getsentry/sentry/pull/116718)\n- (explorer) Wire enable_embeds flag to Seer agent runs by @natemoo-re in [#117270](https://github.com/getsentry/sentry/pull/117270)\n- (fix) Update the sync export to send error to UI by @manessaraj in [#117077](https://github.com/getsentry/sentry/pull/117077)\n- (GAL) Add handling of GALEs during group merge by @thetruecpaul in [#117111](https://github.com/getsentry/sentry/pull/117111)\n- (gitlab) Track contributor seat on merge request opened by @tnt-sentry in [#116576](https://github.com/getsentry/sentry/pull/116576)\n- (grouping) Add feature flag to skip v1 fallback for grouping v2 by @yuvmen in [#117566](https://github.com/getsentry/sentry/pull/117566)\n- (heatmaps) Disable heat maps selection for equations by @nikkikapadia in [#117334](https://github.com/getsentry/sentry/pull/117334)\n- (icons) Add heatmap visualization icon to IconGraph by @gggritso in [#116977](https://github.com/getsentry/sentry/pull/116977)\n- (inbound-filters) Add spring boot globs by @tobias-wilfert in [#117157](https://github.com/getsentry/sentry/pull/117157)\n- (issue-sort) Skip zero-weighted factors in recommended sort by @roggenkemper in [#116726](https://github.com/getsentry/sentry/pull/116726)\n- (logs) Wire Seer AI visualization params into logs explore by @isaacwang-sentry in [#115585](https://github.com/getsentry/sentry/pull/115585)\n- (low-value-spans) Redesign configuration issue details by @ArthurKnaus in [#117160](https://github.com/getsentry/sentry/pull/117160)\n- (mcp-attribution) Create pull request attribution for mcp usage by @Zylphrex in [#117443](https://github.com/getsentry/sentry/pull/117443)\n- (mypy) Auto-derive Serializer[T] from typed serialize() returns by @azulus in [#116879](https://github.com/getsentry/sentry/pull/116879)\n- (navigation) Add search button to topbar by @JonasBa in [#116443](https://github.com/getsentry/sentry/pull/116443)\n- (night_shift) Gate Seer feature delivery behind an option by @trevor-e in [#116890](https://github.com/getsentry/sentry/pull/116890)\n- (options) Add configoptions validate subcommand by @wedamija in [#116831](https://github.com/getsentry/sentry/pull/116831)\n- (post-process) Add overridable SIEM security logging hook by @oioki in [#116820](https://github.com/getsentry/sentry/pull/116820)\n- (project transfer) Attempt to reconnect integration when Action is transferred by @ceorourke in [#116910](https://github.com/getsentry/sentry/pull/116910)\n- (report) Add metrics for weekly report pipeline observability by @amy-chen23 in [#116810](https://github.com/getsentry/sentry/pull/116810)\n- (reports) Cache per-project weekly report metrics by @amy-chen23 in [#116739](https://github.com/getsentry/sentry/pull/116739)\n- (repositories) Auto-link new projects to repos via name matching by @wedamija in [#116636](https://github.com/getsentry/sentry/pull/116636)\n- (scraps) Add no-double-dollar-interpolation eslint rule by @JoshuaKGoldberg in [#117121](https://github.com/getsentry/sentry/pull/117121)\n- (seer-agent) Include integration id on repo_pr_state by @Zylphrex in [#117687](https://github.com/getsentry/sentry/pull/117687)\n- (snapshots) Show label for active diff mode in toolbar by @mtopo27 in [#117118](https://github.com/getsentry/sentry/pull/117118)\n- (span-fields) Hide internal attributes by @nsdeschenes in [#116384](https://github.com/getsentry/sentry/pull/116384)\n- (trace-item-stats) Hide internal attributes by @nsdeschenes in [#116380](https://github.com/getsentry/sentry/pull/116380)\n- (trace-items) Remove internal attributes by @nsdeschenes in [#116329](https://github.com/getsentry/sentry/pull/116329)\n- (validate) Add a new validate endpoint by @wmak in [#117474](https://github.com/getsentry/sentry/pull/117474)\n- (values) Add a way to start deprecating this api by @wmak in [#117129](https://github.com/getsentry/sentry/pull/117129)\n- Add event stream only github webhook handlers by @joseph-sentry in [#116312](https://github.com/getsentry/sentry/pull/116312)\n- Emit issue.view.attribution events for mcp by @Zylphrex in [#116699](https://github.com/getsentry/sentry/pull/116699)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Handle missing conditions in DataConditionGroup create by @malwilley in [#117036](https://github.com/getsentry/sentry/pull/117036)\n- Add better condition validation by @malwilley in [#117007](https://github.com/getsentry/sentry/pull/117007)\n\n#### Api\n\n- Correctly serialize integration issues in group details by @sentry in [#117163](https://github.com/getsentry/sentry/pull/117163)\n- Document project param on replay count endpoint by @betegon in [#116836](https://github.com/getsentry/sentry/pull/116836)\n- Handle non-numeric group_id in project event details endpoint by @sentry in [#116866](https://github.com/getsentry/sentry/pull/116866)\n- Document missing query params on Teams, Projects, and Project Issues endpoints by @betegon in [#116835](https://github.com/getsentry/sentry/pull/116835)\n- Correct OpenAPI spec type gaps in issue_id and query params by @betegon in [#116782](https://github.com/getsentry/sentry/pull/116782)\n\n#### Cells\n\n- Fixes potential misalignment in group serializer when users are inactive or deleted by @GabeVillalobos in [#116886](https://github.com/getsentry/sentry/pull/116886)\n- Org member serialization returns empty email if user and email fields not available\" by @GabeVillalobos in [#116871](https://github.com/getsentry/sentry/pull/116871)\n\n#### Charts\n\n- Flip tall tooltips below the cursor when needed for space by @JoshuaKGoldberg in [#117264](https://github.com/getsentry/sentry/pull/117264)\n- Restore chart drag-to-select by @JoshuaKGoldberg in [#117256](https://github.com/getsentry/sentry/pull/117256)\n\n#### Ci\n\n- Pass GITHUB_TOKEN to devservices by @mchen-sentry in [#117345](https://github.com/getsentry/sentry/pull/117345)\n- Bump pytest-rerunfailures to 16.3 for pytest 9 compatibility by @mchen-sentry in [#117232](https://github.com/getsentry/sentry/pull/117232)\n\n#### Dashboards\n\n- Allow existing tracemetrics table widgets to save by @DominikB2014 in [#117452](https://github.com/getsentry/sentry/pull/117452)\n- Prevent crash on time series widgets with missing aggregates by @gggritso in [#117382](https://github.com/getsentry/sentry/pull/117382)\n- Collapse Seer system prompt in dashboard chat by @DominikB2014 in [#117307](https://github.com/getsentry/sentry/pull/117307)\n- Hide internal error messages from widget error state by @skaasten in [#116970](https://github.com/getsentry/sentry/pull/116970)\n- Reduce dashboard generation validation loop failures by @shruthilayaj in [#116501](https://github.com/getsentry/sentry/pull/116501)\n\n#### Deletions\n\n- Normalize group-deletion pagination cursor for Snuba by @mrduncan in [#117537](https://github.com/getsentry/sentry/pull/117537)\n- Avoid cross-table JOIN in `GroupEnvironment` bulk delete during org deletion by @shashjar in [#116627](https://github.com/getsentry/sentry/pull/116627)\n\n#### Explore\n\n- Preserve agent-selected interval not in the dropdown by @DominikB2014 in [#117355](https://github.com/getsentry/sentry/pull/117355)\n- Setting metrics heat map visualization with previous groupby by @nikkikapadia in [#117131](https://github.com/getsentry/sentry/pull/117131)\n- Reset cursor when searching saved queries by @matejminar in [#117177](https://github.com/getsentry/sentry/pull/117177)\n- Heatmap z-axis value in tooltip showing logarithmic value by @nikkikapadia in [#116844](https://github.com/getsentry/sentry/pull/116844)\n\n#### Grouping\n\n- Match Dart bootstrap stub frames by trimmed function name by @buenaflor in [#117161](https://github.com/getsentry/sentry/pull/117161)\n- Mark Flutter runtime native frames as non-app by @buenaflor in [#116177](https://github.com/getsentry/sentry/pull/116177)\n- Fix performance issues in grouping parameterization regexes by @shashjar in [#116897](https://github.com/getsentry/sentry/pull/116897)\n\n#### Intercom\n\n- Switch from user_hash to intercom_user_jwt by @scttcper in [#117378](https://github.com/getsentry/sentry/pull/117378)\n- Clear cookies before boot by @scttcper in [#117277](https://github.com/getsentry/sentry/pull/117277)\n- Wait before shutdown/restart by @scttcper in [#117149](https://github.com/getsentry/sentry/pull/117149)\n- Reboot messenger after first show by @scttcper in [#117127](https://github.com/getsentry/sentry/pull/117127)\n\n#### Issues\n\n- Show auto-resolve activity age by @scttcper in [#117481](https://github.com/getsentry/sentry/pull/117481)\n- Keep searched release selected in resolve modal by @scttcper in [#117496](https://github.com/getsentry/sentry/pull/117496)\n- Show auto ongoing activity duration by @scttcper in [#117477](https://github.com/getsentry/sentry/pull/117477)\n- Correct external issue activity title by @scttcper in [#117473](https://github.com/getsentry/sentry/pull/117473)\n- Shorten sidebar activity timestamps by @scttcper in [#117451](https://github.com/getsentry/sentry/pull/117451)\n- Decode issue stream query params by @scttcper in [#117435](https://github.com/getsentry/sentry/pull/117435)\n- Stop over-reporting status updates for already-matching groups by @yuvmen in [#117146](https://github.com/getsentry/sentry/pull/117146)\n- Key bulk short id lookup on (project, short id) pairs by @oioki in [#117046](https://github.com/getsentry/sentry/pull/117046)\n- Prefer closed status for closed draft PRs by @scttcper in [#117249](https://github.com/getsentry/sentry/pull/117249)\n- Serve org-prefixed public share links without login by @cvxluo in [#117200](https://github.com/getsentry/sentry/pull/117200)\n- Handle prototype tag roots by @scttcper in [#117155](https://github.com/getsentry/sentry/pull/117155)\n- Use map for project member index by @scttcper in [#116996](https://github.com/getsentry/sentry/pull/116996)\n- Show issue row checkbox on keyboard focus\" by @macuzi in [#116750](https://github.com/getsentry/sentry/pull/116750)\n- Tighten activity feed marker spacing by @scttcper in [#116828](https://github.com/getsentry/sentry/pull/116828)\n- Improve pull request activity wrapping by @scttcper in [#116785](https://github.com/getsentry/sentry/pull/116785)\n\n#### Low Value Spans\n\n- Handle null op/description in explore link and snippets by @ArthurKnaus in [#117292](https://github.com/getsentry/sentry/pull/117292)\n- Clarify extrapolation window in tooltips by @ArthurKnaus in [#117282](https://github.com/getsentry/sentry/pull/117282)\n- Correct typo in problem description by @ArthurKnaus in [#117189](https://github.com/getsentry/sentry/pull/117189)\n- Improve troubleshooting docs links by @ArthurKnaus in [#117176](https://github.com/getsentry/sentry/pull/117176)\n\n#### Metric Issues\n\n- Filter contributing issues by detector environment by @malwilley in [#117367](https://github.com/getsentry/sentry/pull/117367)\n- Show contributing issues for crash rate metric monitors by @malwilley in [#116703](https://github.com/getsentry/sentry/pull/116703)\n\n#### Metrics\n\n- Sync trace metric from assisted query agent output by @DominikB2014 in [#116975](https://github.com/getsentry/sentry/pull/116975)\n- Remove metric fallback attribute loading by @nsdeschenes in [#116840](https://github.com/getsentry/sentry/pull/116840)\n- Load fallback attributes in metric filters by @nsdeschenes in [#116764](https://github.com/getsentry/sentry/pull/116764)\n- Add group by attribute fallback by @nsdeschenes in [#116763](https://github.com/getsentry/sentry/pull/116763)\n\n#### Onboarding\n\n- Add `dataCollection.httpBodies` to setup snippet by @s1gr1d in [#117498](https://github.com/getsentry/sentry/pull/117498)\n- Keep getting-started rendered while back nav deletes by @jaydgoss in [#117325](https://github.com/getsentry/sentry/pull/117325)\n- Hide trial and volume info outside onboarding by @jaydgoss in [#117199](https://github.com/getsentry/sentry/pull/117199)\n- Route SCM modal analytics by flow by @jaydgoss in [#116730](https://github.com/getsentry/sentry/pull/116730)\n- Gate experiment exposure to recently created orgs by @jaydgoss in [#117017](https://github.com/getsentry/sentry/pull/117017)\n\n#### Ourlogs\n\n- Preserve graph type when adding a chart to dashboard by @JoshuaKGoldberg in [#117420](https://github.com/getsentry/sentry/pull/117420)\n- Reuse `useVisualizeFields` to avoid Visualize field resetting to None by @JoshuaKGoldberg in [#117528](https://github.com/getsentry/sentry/pull/117528)\n- Disable charts automerge outside of auto-refresh by @JoshuaKGoldberg in [#117421](https://github.com/getsentry/sentry/pull/117421)\n- Use dynamic back-to-top button offset by @JoshuaKGoldberg in [#116976](https://github.com/getsentry/sentry/pull/116976)\n- Shift pin icon 6px away from right scrollbar by @JoshuaKGoldberg in [#117030](https://github.com/getsentry/sentry/pull/117030)\n- Keep last column alignment stable on hover by @JoshuaKGoldberg in [#116900](https://github.com/getsentry/sentry/pull/116900)\n- Source observed timestamp from hover-prefetched trace item attributes by @JoshuaKGoldberg in [#116804](https://github.com/getsentry/sentry/pull/116804)\n\n#### Perforce\n\n- Fix the client usage and path settings by @mujacica in [#117422](https://github.com/getsentry/sentry/pull/117422)\n- Extend the hostname checks by @mujacica in [#117296](https://github.com/getsentry/sentry/pull/117296)\n- Fix the URL parsing when Release/Commit info is available by @mujacica in [#117158](https://github.com/getsentry/sentry/pull/117158)\n- Extend the logic for the perforce transport checks by @mujacica in [#117178](https://github.com/getsentry/sentry/pull/117178)\n- Add support for repo external ID and sync by @mujacica in [#116771](https://github.com/getsentry/sentry/pull/116771)\n\n#### Performance\n\n- Hide sample transaction button without event:write by @skaasten in [#116801](https://github.com/getsentry/sentry/pull/116801)\n- Use full issue URL in trace drawer by @scttcper in [#116819](https://github.com/getsentry/sentry/pull/116819)\n\n#### Preprod\n\n- Post snapshot PR comment when all images errored by @NicoHinderling in [#117585](https://github.com/getsentry/sentry/pull/117585)\n- Prevent duplicate snapshot PR comments under fanout by @NicoHinderling in [#117467](https://github.com/getsentry/sentry/pull/117467)\n- Stop chunk crash from reserved LogRecord key by @NicoHinderling in [#117550](https://github.com/getsentry/sentry/pull/117550)\n- Run expired-artifacts reaper every 30 minutes by @NicoHinderling in [#116860](https://github.com/getsentry/sentry/pull/116860)\n- Reap stuck PROCESSING snapshot comparisons by @NicoHinderling in [#116708](https://github.com/getsentry/sentry/pull/116708)\n\n#### Replays\n\n- Stop showing setup message for status-0 network requests by @JoshuaKGoldberg in [#117554](https://github.com/getsentry/sentry/pull/117554)\n- Keep replay reader from mutating records by @scttcper in [#116606](https://github.com/getsentry/sentry/pull/116606)\n- Clear stale filters when changing replay tabs by @nsdeschenes in [#116768](https://github.com/getsentry/sentry/pull/116768)\n\n#### Search\n\n- Treat Seer datetimes as plain UTC instead of Z-stripping by @isaacwang-sentry in [#117108](https://github.com/getsentry/sentry/pull/117108)\n- Ignore prototype keys in recent filters by @scttcper in [#117040](https://github.com/getsentry/sentry/pull/117040)\n\n#### Search Query Builder\n\n- Cache async key info by @nsdeschenes in [#117415](https://github.com/getsentry/sentry/pull/117415)\n- Sync external query while disabled by @nsdeschenes in [#116772](https://github.com/getsentry/sentry/pull/116772)\n\n#### Seer\n\n- Add GitLab support to autofix integration setup check by @billyvg in [#117678](https://github.com/getsentry/sentry/pull/117678)\n- Fix alignment of repo-count column by @ryan953 in [#117384](https://github.com/getsentry/sentry/pull/117384)\n- Send pull_request_review_comment as code-review trigger type by @billyvg in [#117433](https://github.com/getsentry/sentry/pull/117433)\n- Navigate same-origin markdown links with the router by @natemoo-re in [#117432](https://github.com/getsentry/sentry/pull/117432)\n- Fix an issue where the Autofix Agent filter wasnt working properly by @ryan953 in [#117381](https://github.com/getsentry/sentry/pull/117381)\n- Save Autofix modal repos through Seer endpoints by @billyvg in [#117340](https://github.com/getsentry/sentry/pull/117340)\n- Prefer to fall through to redirects for non-seat based orgs by @ryan953 in [#116483](https://github.com/getsentry/sentry/pull/116483)\n\n#### Settings\n\n- Fix the layout of the integrations page after a search by @ryan953 in [#117119](https://github.com/getsentry/sentry/pull/117119)\n- Handle prototype scrubbing sources by @scttcper in [#117008](https://github.com/getsentry/sentry/pull/117008)\n\n#### Tests\n\n- Correct mock for users endpoint in related issues test by @sentry in [#117535](https://github.com/getsentry/sentry/pull/117535)\n- Disable endpoint config fetch in RelayStoreHelper tests by @joshuarli in [#117243](https://github.com/getsentry/sentry/pull/117243)\n\n#### Tracemetrics\n\n- Add validation for single equation for timeseries by @narsaynorath in [#117568](https://github.com/getsentry/sentry/pull/117568)\n- Switching to equation mode clears aliases by @narsaynorath in [#117229](https://github.com/getsentry/sentry/pull/117229)\n- Read equation for total count in widget by @narsaynorath in [#116973](https://github.com/getsentry/sentry/pull/116973)\n- Add empty state for empty equation in metrics by @narsaynorath in [#116869](https://github.com/getsentry/sentry/pull/116869)\n- Auto select equation when switching to equation mode by @narsaynorath in [#116873](https://github.com/getsentry/sentry/pull/116873)\n\n#### Ui\n\n- Reset Intercom session on customer-domain org switches by @scttcper in [#116878](https://github.com/getsentry/sentry/pull/116878)\n- Remove /groups/ endpoints from endpoint list by @scttcper in [#116934](https://github.com/getsentry/sentry/pull/116934)\n- Exclude legacy issue URLs from generated types by @scttcper in [#116818](https://github.com/getsentry/sentry/pull/116818)\n\n#### Workflow Engine\n\n- Validate AssignedTo condition targets belong to the organization by @malwilley in [#117110](https://github.com/getsentry/sentry/pull/117110)\n- Skip deescalating condition for groups without open periods by @malwilley in [#116802](https://github.com/getsentry/sentry/pull/116802)\n\n#### Other\n\n- (action_log) Refine usage of idempotency key by @kcons in [#117391](https://github.com/getsentry/sentry/pull/117391)\n- (apigw) Handle multiple `set-cookie` headers in proxied requests by @gi0baro in [#117289](https://github.com/getsentry/sentry/pull/117289)\n- (apps) Fix theme issues with a divider by @Asynchronite in [#117231](https://github.com/getsentry/sentry/pull/117231)\n- (attachments) Disable preview for `prosperodmp` attachments by @JoshuaMoelans in [#117187](https://github.com/getsentry/sentry/pull/117187)\n- (auth) Redirect inactive authenticated users to reactivate, not next_uri by @sentry-junior in [#117052](https://github.com/getsentry/sentry/pull/117052)\n- (autofix) Remove non-null assertion in getFinalExplanation by @sentry-junior in [#116967](https://github.com/getsentry/sentry/pull/116967)\n- (billing) Clear region details in billing address if incorrect by @krithikravi in [#117590](https://github.com/getsentry/sentry/pull/117590)\n- (cell) Adds actor serialization fix for monitors by @GabeVillalobos in [#117020](https://github.com/getsentry/sentry/pull/117020)\n- (components) Fix copy block handler by @aliu39 in [#116833](https://github.com/getsentry/sentry/pull/116833)\n- (configuration-issues) Show event header in details by @ArthurKnaus in [#117162](https://github.com/getsentry/sentry/pull/117162)\n- (conversations) Stop rendering raw tool call JSON as message content by @obostjancic in [#117065](https://github.com/getsentry/sentry/pull/117065)\n- (crons) Add trace ID to occurrences by @thetruecpaul in [#117374](https://github.com/getsentry/sentry/pull/117374)\n- (devserver) Exclude .artifacts from granian reload watcher by @kitlord in [#117609](https://github.com/getsentry/sentry/pull/117609)\n- (discover) Wrap attribute values with spaces in quotes by @nsdeschenes in [#117532](https://github.com/getsentry/sentry/pull/117532)\n- (dynamic-sampling) Rename project_id in logs to avoid built-in column collision by @constantinius in [#117671](https://github.com/getsentry/sentry/pull/117671)\n- (email) Add login links to deactivation and org deletion emails by @sentry-junior in [#117053](https://github.com/getsentry/sentry/pull/117053)\n- (events) Add silo decorator by @wmak in [#117569](https://github.com/getsentry/sentry/pull/117569)\n- (external-issues) Preserve user-entered values when issue type changes by @sentry-junior in [#117043](https://github.com/getsentry/sentry/pull/117043)\n- (frontend) Migrate issueActions.tsx to requestPromise by @sentry in [#117626](https://github.com/getsentry/sentry/pull/117626)\n- (heatmaps) Change minimum duration unit to microsecond for small values by @nikkikapadia in [#117214](https://github.com/getsentry/sentry/pull/117214)\n- (issue details) Show PR author name instead of \"Sentry\" in activity feed by @shashjar in [#116888](https://github.com/getsentry/sentry/pull/116888)\n- (issue-detection) Exclude cached queries from N+1 DB detection by @roggenkemper in [#117190](https://github.com/getsentry/sentry/pull/117190)\n- (issueList) Convert undoAction to promise-based API by @ryan953 in [#117627](https://github.com/getsentry/sentry/pull/117627)\n- (monitors) Show \"no projects\" component in monitors list view by @malwilley in [#116814](https://github.com/getsentry/sentry/pull/116814)\n- (notifications) Use triggering event metadata in regression notifications by @vgrozdanic in [#117414](https://github.com/getsentry/sentry/pull/117414)\n- (options) Bump max option value length by @bmckerry in [#117316](https://github.com/getsentry/sentry/pull/117316)\n- (profile-issues) Bump vroomrs to 0.1.21 by @Zylphrex in [#117124](https://github.com/getsentry/sentry/pull/117124)\n- (project transfer) Clone shared workflows when transferring project by @ceorourke in [#116522](https://github.com/getsentry/sentry/pull/116522)\n- (replay) Guard against undefined frame.data in BreadcrumbIssueLink by @scttcper in [#117593](https://github.com/getsentry/sentry/pull/117593)\n- (report) Enforce enhanced privacy settings for weekly report by @amy-chen23 in [#116909](https://github.com/getsentry/sentry/pull/116909)\n- (reports) Fixing weekly report dev env by @amy-chen23 in [#116779](https://github.com/getsentry/sentry/pull/116779)\n- (scm) Adds additional check to GHE integration building step by @GabeVillalobos in [#117240](https://github.com/getsentry/sentry/pull/117240)\n- (sdk-crash) Add Trace ID by @thetruecpaul in [#117372](https://github.com/getsentry/sentry/pull/117372)\n- (seer-activity) Use preferred detector instead of issue stream by @leeandher in [#116695](https://github.com/getsentry/sentry/pull/116695)\n- (seer-explorer) Key tool-call rows by id, not function+index by @trevor-e in [#117365](https://github.com/getsentry/sentry/pull/117365)\n- (seer-settings) Scope Seer settings bulk PUT to all accessible projects by @srest2021 in [#117247](https://github.com/getsentry/sentry/pull/117247)\n- (sentry-apps) Omit empty optional fields from issue-link submissions by @priscilawebdev in [#116757](https://github.com/getsentry/sentry/pull/116757)\n- (smartSearchBar) Handle prototype filter keys by @scttcper in [#116999](https://github.com/getsentry/sentry/pull/116999)\n- (snapshots) Use `sentry-cli snapshots upload`, bump cli to 3.5.0 by @sentry-junior in [#117002](https://github.com/getsentry/sentry/pull/117002)\n- (snuba) Only tag snuba rejected queries by @cvxluo in [#117145](https://github.com/getsentry/sentry/pull/117145)\n- (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)\n- (tagstore) Skip array meta-columns in tag value paginator by @Zylphrex in [#117018](https://github.com/getsentry/sentry/pull/117018)\n- (taskbroker) Override Topic and Namespace in Task Sender Locally by @george-sentry in [#117466](https://github.com/getsentry/sentry/pull/117466)\n- (teams) Guard team avatar serializer on `avatar_type` instead of `file_id` by @shashjar in [#117320](https://github.com/getsentry/sentry/pull/117320)\n- (traces) Add fallbacks for renamed gen_ai span attributes by @obostjancic in [#117301](https://github.com/getsentry/sentry/pull/117301)\n- (txn-summary) Clean up `getEAPTotalsEventView` by @mjq in [#116711](https://github.com/getsentry/sentry/pull/116711)\n- (uptime) Rename 'View alert details' CTA to 'View monitor details' by @souredoutlook in [#117423](https://github.com/getsentry/sentry/pull/117423)\n- (vroom) Add Trace to Vroom occurrences by @thetruecpaul in [#117468](https://github.com/getsentry/sentry/pull/117468)\n- (webhooks) Return disabled projects in org legacy webhooks endpoint by @Christinarlong in [#116914](https://github.com/getsentry/sentry/pull/116914)\n- (workflow) Fix type choices being a snapshot list of grouptype registry by @Christinarlong in [#116637](https://github.com/getsentry/sentry/pull/116637)\n- (workflows) Validate delayed workflow tag filter keys by @kcons in [#117344](https://github.com/getsentry/sentry/pull/117344)\n- Improve 500 error page by @markstory in [#117437](https://github.com/getsentry/sentry/pull/117437)\n- Adjust grid template columns values to constraint attribute tree text by @adrianviquez in [#117019](https://github.com/getsentry/sentry/pull/117019)\n- Revert \"ref(webhooks): Hide PLUGIN action type from available actions endpoint (#116458)\" by @getsentry-bot in [4e8716f0](https://github.com/getsentry/sentry/commit/4e8716f08e28ed94e783a0843b85b23f8043d624)\n\n### Documentation 📚\n\n#### Agents\n\n- Mention conversation IDs in onboarding by @obostjancic in [#117165](https://github.com/getsentry/sentry/pull/117165)\n- Fix prek mypy run command by @lcian in [#117198](https://github.com/getsentry/sentry/pull/117198)\n- Point static/AGENTS.md design-system to the skill by @JoshFerge in [#116881](https://github.com/getsentry/sentry/pull/116881)\n- Trim noise from root and tests AGENTS.md by @JoshFerge in [#116875](https://github.com/getsentry/sentry/pull/116875)\n- Remove cross-doc duplication in AGENTS.md files by @JoshFerge in [#116874](https://github.com/getsentry/sentry/pull/116874)\n- Trim noise and stale duplication from src/AGENTS.md by @JoshFerge in [#116868](https://github.com/getsentry/sentry/pull/116868)\n\n#### Api\n\n- Migrate project users docs by @JoshFerge in [#116908](https://github.com/getsentry/sentry/pull/116908)\n- Migrate project stats docs by @JoshFerge in [#116906](https://github.com/getsentry/sentry/pull/116906)\n- Migrate organization repositories docs by @JoshFerge in [#116905](https://github.com/getsentry/sentry/pull/116905)\n\n#### Other\n\n- (backup) Document backup test coverage steps for new models by @shellmayr in [#117293](https://github.com/getsentry/sentry/pull/117293)\n- (seer) Add simple stories for the two AutofixRepositories components, aka \"Connected Repos\" lists by @ryan953 in [#117616](https://github.com/getsentry/sentry/pull/117616)\n- Added note about accuracy on sampled data / documented yAxis values by @bcoe in [#117684](https://github.com/getsentry/sentry/pull/117684)\n\n### Internal Changes 🔧\n\n#### Aci\n\n- Cleanup the code from rolling out the new activity handler by @saponifi3d in [#117388](https://github.com/getsentry/sentry/pull/117388)\n- Remove `workflow_status_update_handler` and use generic handler by @saponifi3d in [#117152](https://github.com/getsentry/sentry/pull/117152)\n- Add / adopt `DetectorId` instead of `int` by @saponifi3d in [#116902](https://github.com/getsentry/sentry/pull/116902)\n\n#### Alerts\n\n- Migrate handleOwnerChange from api.request to requestPromise by @ryan953 in [#117628](https://github.com/getsentry/sentry/pull/117628)\n- Bump up brownout schedule and include private endpoints by @ceorourke in [#117469](https://github.com/getsentry/sentry/pull/117469)\n\n#### Api\n\n- Use token operationIds + summary for replay endpoints by @betegon in [#117166](https://github.com/getsentry/sentry/pull/117166)\n- Use token operationIds + summary for discover endpoints by @betegon in [#117302](https://github.com/getsentry/sentry/pull/117302)\n- Use token operationIds + summary for dashboard endpoints by @betegon in [#117297](https://github.com/getsentry/sentry/pull/117297)\n- Type `source_map_debug` endpoint by @cvxluo in [#117274](https://github.com/getsentry/sentry/pull/117274)\n- Extract isSimilarOrigin and resolveHostname to utils/api/ by @ryan953 in [#117263](https://github.com/getsentry/sentry/pull/117263)\n- Tighten group_details.put() return to Response[T] by @azulus in [#117203](https://github.com/getsentry/sentry/pull/117203)\n- Tighten 2 more endpoint returns to Response[T] by @azulus in [#117197](https://github.com/getsentry/sentry/pull/117197)\n- Tighten 4 more paginate-based endpoint returns by @azulus in [#117154](https://github.com/getsentry/sentry/pull/117154)\n- Tighten 2 more Goal #1 endpoint methods by @azulus in [#117144](https://github.com/getsentry/sentry/pull/117144)\n- Tighten 5 more endpoint returns to Response[T] by @azulus in [#117138](https://github.com/getsentry/sentry/pull/117138)\n- Tighten 3 more PUBLIC endpoint returns to Response[T] by @azulus in [#117123](https://github.com/getsentry/sentry/pull/117123)\n- Tighten 11 endpoint methods to Response[T] by @azulus in [#117117](https://github.com/getsentry/sentry/pull/117117)\n- Tighten 3 endpoint returns to Response[T] by @azulus in [#117028](https://github.com/getsentry/sentry/pull/117028)\n- Move ApiResult/ResponseMeta types to a leaf module by @JoshuaKGoldberg in [#116854](https://github.com/getsentry/sentry/pull/116854)\n- Tighten 2 endpoint annotations via local TypedDict by @azulus in [#116918](https://github.com/getsentry/sentry/pull/116918)\n- Tighten 4 workflow-engine endpoint annotations by @azulus in [#116898](https://github.com/getsentry/sentry/pull/116898)\n- Tighten 15 endpoint return annotations to Response[T] by @azulus in [#116893](https://github.com/getsentry/sentry/pull/116893)\n- Remove legacy `blue-thunder-edition` URL by @cvxluo in [#116859](https://github.com/getsentry/sentry/pull/116859)\n- Remove publish-status allowlist and the UNKNOWN status by @gricha in [#116747](https://github.com/getsentry/sentry/pull/116747)\n- Document remaining UNKNOWN endpoints, drain publish-status allowlist by @gricha in [#116745](https://github.com/getsentry/sentry/pull/116745)\n- Resolve UNKNOWN publish_status for release and deprecated endpoints by @gricha in [#116650](https://github.com/getsentry/sentry/pull/116650)\n\n#### Autofix\n\n- Gate \"open in seer agent\" button behind a option by @joseph-sentry in [#117322](https://github.com/getsentry/sentry/pull/117322)\n- Declare seer-agent-debug-view flag by @joseph-sentry in [#117321](https://github.com/getsentry/sentry/pull/117321)\n- Remove get_autofix_state function by @Zylphrex in [#117228](https://github.com/getsentry/sentry/pull/117228)\n- Remove instances of launch coding agents for run by @Zylphrex in [#117174](https://github.com/getsentry/sentry/pull/117174)\n- Remove unused group ai autofix from frontend by @Zylphrex in [#117134](https://github.com/getsentry/sentry/pull/117134)\n- Remove legacy autofix state from PR by @Zylphrex in [#117125](https://github.com/getsentry/sentry/pull/117125)\n- Delete unused autofix update endpoint by @Zylphrex in [#117112](https://github.com/getsentry/sentry/pull/117112)\n- Make stopping point validation aware of billing tier by @srest2021 in [#116724](https://github.com/getsentry/sentry/pull/116724)\n- Remove unused legacy autofix path by @Zylphrex in [#116769](https://github.com/getsentry/sentry/pull/116769)\n\n#### Billing\n\n- Bump sentry-protos to 0.24.0 by @dashed in [#117038](https://github.com/getsentry/sentry/pull/117038)\n- Bumped protos to 0.22.3 by @krithikravi in [#117027](https://github.com/getsentry/sentry/pull/117027)\n- Bumped sentry protos to 0.22.2 by @krithikravi in [#116992](https://github.com/getsentry/sentry/pull/116992)\n\n#### Buffers\n\n- Handle none value in non-pickle dump by @dmajere in [#116993](https://github.com/getsentry/sentry/pull/116993)\n- Disable deprecated transactions in buffer usage by @dmajere in [#116916](https://github.com/getsentry/sentry/pull/116916)\n\n#### Cell\n\n- Updates apigateway metrics with method, removes old resolution code by @GabeVillalobos in [#117042](https://github.com/getsentry/sentry/pull/117042)\n- Changes netloc checks to match cells by hostname instead by @GabeVillalobos in [#116727](https://github.com/getsentry/sentry/pull/116727)\n- Cleans up import loops with apigateways by @GabeVillalobos in [#116658](https://github.com/getsentry/sentry/pull/116658)\n\n#### Cells\n\n- Unregister cells.use-control-org-listing by @lynnagara in [#117556](https://github.com/getsentry/sentry/pull/117556)\n- Stop exposing use-control-org-listing via client_config by @lynnagara in [#117373](https://github.com/getsentry/sentry/pull/117373)\n- Fetch org listing from control silo unconditionally by @lynnagara in [#117371](https://github.com/getsentry/sentry/pull/117371)\n- Adds Error Embed pages to metric allowed paths by @GabeVillalobos in [#117039](https://github.com/getsentry/sentry/pull/117039)\n\n#### Codecov\n\n- Remove OrganizationMapping codecov_access replication by @giovanni-guidini in [#116754](https://github.com/getsentry/sentry/pull/116754)\n- Remove Codecov client, helper, credentials and feature flag by @giovanni-guidini in [#116681](https://github.com/getsentry/sentry/pull/116681)\n\n#### Dashboards\n\n- Lower async queue parallel limit default to 10 by @DominikB2014 in [#117075](https://github.com/getsentry/sentry/pull/117075)\n- Remove dashboards-revisions feature flag (backend) by @skaasten in [#116969](https://github.com/getsentry/sentry/pull/116969)\n- Remove dashboards-revisions feature flag (frontend) by @skaasten in [#116971](https://github.com/getsentry/sentry/pull/116971)\n\n#### Deps\n\n- 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)\n- Bump sentry-conventions to 0.11.0 by @constantinius in [#117286](https://github.com/getsentry/sentry/pull/117286)\n- Bump echarts from 6.0.0 to 6.1.0 by @gggritso in [#117139](https://github.com/getsentry/sentry/pull/117139)\n- 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)\n- Bump @sentry/conventions from 0.4.0 to 0.8.0 by @dependabot in [#114825](https://github.com/getsentry/sentry/pull/114825)\n\n#### Dynamic Sampling\n\n- Correct the project_id column to specify ds by @shellmayr in [#117418](https://github.com/getsentry/sentry/pull/117418)\n- Add logging of project volumes for dynamic sampling per-org debugging by @shellmayr in [#117179](https://github.com/getsentry/sentry/pull/117179)\n- Additional debug data logging for per-org project sample rates by @shellmayr in [#117066](https://github.com/getsentry/sentry/pull/117066)\n- Clarify naming in per-org transaction balancing code by @shellmayr in [#116755](https://github.com/getsentry/sentry/pull/116755)\n\n#### Events\n\n- Remove unusable spansIndexed dataset by @wmak in [#117530](https://github.com/getsentry/sentry/pull/117530)\n- Add TagDeriver protocol for auto-tag extraction by @Christinarlong in [#116824](https://github.com/getsentry/sentry/pull/116824)\n\n#### Flags\n\n- Graduate organizations:uptime-backlog-retry by @wedamija in [#117225](https://github.com/getsentry/sentry/pull/117225)\n- Graduate organizations:processing-errors-eap by @wedamija in [#117224](https://github.com/getsentry/sentry/pull/117224)\n- Remove organizations:relay-default-trace-id by @thetruecpaul in [#116867](https://github.com/getsentry/sentry/pull/116867)\n- Graduate organizations:github-repo-auto-sync-webhook by @wedamija in [#116728](https://github.com/getsentry/sentry/pull/116728)\n- Graduate organizations:code-review-experiments-enabled by @wedamija in [#116657](https://github.com/getsentry/sentry/pull/116657)\n\n#### Integrations\n\n- Use stock Button for uninstall action by @natemoo-re in [#117439](https://github.com/getsentry/sentry/pull/117439)\n- Remove the legacy web-view setup pipeline from integrations by @evanpurkhiser in [#117362](https://github.com/getsentry/sentry/pull/117362)\n- Remove unused legacy extension configuration view by @evanpurkhiser in [#117338](https://github.com/getsentry/sentry/pull/117338)\n- Remove the unused setupDialog from the integration type by @evanpurkhiser in [#117370](https://github.com/getsentry/sentry/pull/117370)\n- Always use the pipeline modal on the integration link page by @evanpurkhiser in [#117363](https://github.com/getsentry/sentry/pull/117363)\n- Remove the legacy popup install flow by @evanpurkhiser in [#117364](https://github.com/getsentry/sentry/pull/117364)\n- Remove GA coding agent feature flags by @JoshFerge in [#116850](https://github.com/getsentry/sentry/pull/116850)\n- Remove Intercom support flag by @ceorourke in [#116738](https://github.com/getsentry/sentry/pull/116738)\n\n#### Issues\n\n- Make project_ids required on qualified short id lookups by @oioki in [#117508](https://github.com/getsentry/sentry/pull/117508)\n- Scope issue endpoint short id lookups to authorized projects by @oioki in [#117299](https://github.com/getsentry/sentry/pull/117299)\n- Bulk hide environments via new API endpoint by @amy-chen23 in [#117105](https://github.com/getsentry/sentry/pull/117105)\n- Add malicious detection hook contract by @gricha in [#117096](https://github.com/getsentry/sentry/pull/117096)\n- Use TaskProducer as the occurrence producer in tasks (round 2) by @bmckerry in [#117081](https://github.com/getsentry/sentry/pull/117081)\n- Use group naming for action log events and stringify IDs by @yuvmen in [#116988](https://github.com/getsentry/sentry/pull/116988)\n\n#### Jest\n\n- Add Sentry SDK instrumentation to snapshot tests by @ryan953 in [#117459](https://github.com/getsentry/sentry/pull/117459)\n- Mark flaky jest tests - 2026-06-08 by @cursor in [#117063](https://github.com/getsentry/sentry/pull/117063)\n- Mark flaky jest tests - 2026-06-01 by @ryan953 in [#116575](https://github.com/getsentry/sentry/pull/116575)\n\n#### Markdown\n\n- Add more to copy to markdown for performance issues by @shayna-ch in [#117130](https://github.com/getsentry/sentry/pull/117130)\n- Add span evidence section to performance issues by @shayna-ch in [#116884](https://github.com/getsentry/sentry/pull/116884)\n\n#### Mypy\n\n- Remove ActorSerializer + GroupEventReleaseSerializer from autoderive denylist by @azulus in [#116981](https://github.com/getsentry/sentry/pull/116981)\n- Remove 5 serializers from autoderive denylist by @azulus in [#116944](https://github.com/getsentry/sentry/pull/116944)\n- Remove IntegrationSerializer + DashboardListSerializer from autoderive denylist by @azulus in [#116927](https://github.com/getsentry/sentry/pull/116927)\n\n#### O11y\n\n- Add `scope.set_attribute` calls in tasks by @sentrivana in [#117517](https://github.com/getsentry/sentry/pull/117517)\n- Add `scope.set_attribute` calls in organization misc endpoints by @sentrivana in [#117516](https://github.com/getsentry/sentry/pull/117516)\n- Add set_attribute calls in data export tasks by @sentrivana in [#117505](https://github.com/getsentry/sentry/pull/117505)\n- Add `scope.set_attribute` calls in organization events endpoints by @sentrivana in [#117515](https://github.com/getsentry/sentry/pull/117515)\n- Add `scope.set_attribute` calls in API bases and query utils by @sentrivana in [#117514](https://github.com/getsentry/sentry/pull/117514)\n- Add set_attribute calls in middleware integration classifications by @sentrivana in [#117510](https://github.com/getsentry/sentry/pull/117510)\n- Add set_attribute calls in deliver webhooks by @sentrivana in [#117507](https://github.com/getsentry/sentry/pull/117507)\n- Add set_attribute calls in hybridcloud RPC service by @sentrivana in [#117506](https://github.com/getsentry/sentry/pull/117506)\n- Add scope.set_attribute calls in organization traces by @sentrivana in [#117413](https://github.com/getsentry/sentry/pull/117413)\n- Add set_attribute calls in reprocessing2 by @sentrivana in [#117511](https://github.com/getsentry/sentry/pull/117511)\n- Add `set_attribute` calls and switch to top level API in SCIM members by @sentrivana in [#117504](https://github.com/getsentry/sentry/pull/117504)\n- Add `set_attribute` calls in integrations base by @sentrivana in [#117409](https://github.com/getsentry/sentry/pull/117409)\n- Add `scope.set_attribute` in authentication by @sentrivana in [#117405](https://github.com/getsentry/sentry/pull/117405)\n- Add scope.set_attribute calls in organization releases by @sentrivana in [#117407](https://github.com/getsentry/sentry/pull/117407)\n- Add scope.set_attribute calls in Jira issue details by @sentrivana in [#117408](https://github.com/getsentry/sentry/pull/117408)\n- Add scope.set_attribute call in onboarding tasks by @sentrivana in [#117411](https://github.com/getsentry/sentry/pull/117411)\n- Add `scope.set_attribute` call in api base by @sentrivana in [#117406](https://github.com/getsentry/sentry/pull/117406)\n\n#### Onboarding\n\n- Drive the project-details form from host state by @jaydgoss in [#117333](https://github.com/getsentry/sentry/pull/117333)\n- Extract project-details form into a reusable hook and core by @jaydgoss in [#117209](https://github.com/getsentry/sentry/pull/117209)\n- Initialize TanStack Start React SDK from a dedicated client init file by @nicohrubec in [#117173](https://github.com/getsentry/sentry/pull/117173)\n- Extract ScmPlatformFeaturesCore from ScmPlatformFeatures by @jaydgoss in [#116624](https://github.com/getsentry/sentry/pull/116624)\n- Replace `sendDefaultPii` with `dataCollection` in JS snippets by @s1gr1d in [#117064](https://github.com/getsentry/sentry/pull/117064)\n- Extract ScmIntegrationConnect from ScmConnect by @jaydgoss in [#116581](https://github.com/getsentry/sentry/pull/116581)\n\n#### Options\n\n- Allow options to be fetched without an organization or project instance by @cmanallen in [#116680](https://github.com/getsentry/sentry/pull/116680)\n- Cleaning up more unused options by @kenzoengineer in [#116741](https://github.com/getsentry/sentry/pull/116741)\n\n#### Ourlogs\n\n- Rename PinnedLogs query prop to pinnedLogsQuery by @JoshuaKGoldberg in [#116966](https://github.com/getsentry/sentry/pull/116966)\n- Removed `observed_timestamp` from `AlwaysPresentLogFields` by @JoshuaKGoldberg in [#115505](https://github.com/getsentry/sentry/pull/115505)\n\n#### Pr Metrics\n\n- Type signal_details for delegated-agent attributions; add run_id by @giovanni-guidini in [#117519](https://github.com/getsentry/sentry/pull/117519)\n- Remove PullRequestAttribution REFERENCED_ISSUE from pull_request path by @giovanni-guidini in [#117284](https://github.com/getsentry/sentry/pull/117284)\n- Derive close_action from the PR row in emit by @vaind in [#117242](https://github.com/getsentry/sentry/pull/117242)\n- Add index for GroupLink by @Zylphrex in [#117204](https://github.com/getsentry/sentry/pull/117204)\n- Collapse SEER_APP into SENTRY_APP attribution signal by @giovanni-guidini in [#116958](https://github.com/getsentry/sentry/pull/116958)\n\n#### Preprod\n\n- Log exception type on chunk failure by @NicoHinderling in [#117552](https://github.com/getsentry/sentry/pull/117552)\n- Remove unused snapshot download endpoint by @NicoHinderling in [#117324](https://github.com/getsentry/sentry/pull/117324)\n- Hide overlay color picker at xs in toolbar snapshot by @mtopo27 in [#117104](https://github.com/getsentry/sentry/pull/117104)\n- Use file_path as React key for duplicate file rows by @jamieQ in [#117074](https://github.com/getsentry/sentry/pull/117074)\n- Download snapshot images via direct browser request by @NicoHinderling in [#116795](https://github.com/getsentry/sentry/pull/116795)\n\n#### Relay\n\n- Add option to disable internal ip auth bypass by @Dav1dde in [#116980](https://github.com/getsentry/sentry/pull/116980)\n- Remove unused feature flag 'relay-new-error-processing' by @Dav1dde in [#116620](https://github.com/getsentry/sentry/pull/116620)\n\n#### Releases\n\n- Tighten 4 release-file-details endpoint returns to Response[T] by @azulus in [#117208](https://github.com/getsentry/sentry/pull/117208)\n- Remove defer commit resolution flag by @JoshFerge in [#116848](https://github.com/getsentry/sentry/pull/116848)\n\n#### Replays\n\n- Speed up spans replay count query by @mjq in [#117456](https://github.com/getsentry/sentry/pull/117456)\n- Remove control-silo URL pattern for removed data export endpoint by @DominikB2014 in [#116298](https://github.com/getsentry/sentry/pull/116298)\n- Cut two type-only edges into the import cycle by @JoshuaKGoldberg in [#117031](https://github.com/getsentry/sentry/pull/117031)\n- Read live location in nuqs test adapter by @NicoHinderling in [#116803](https://github.com/getsentry/sentry/pull/116803)\n\n#### Search\n\n- Resolve issue: short ids org-wide with explicit project_ids=None by @oioki in [#117398](https://github.com/getsentry/sentry/pull/117398)\n- Deduplicate SeerComboBox components with shared hooks by @isaacwang-sentry in [#116205](https://github.com/getsentry/sentry/pull/116205)\n\n#### Seer\n\n- Move Seer components into components/seer/ by @ryan953 in [#117613](https://github.com/getsentry/sentry/pull/117613)\n- Scope Seer short id lookups; mark org-wide callers explicit by @oioki in [#117399](https://github.com/getsentry/sentry/pull/117399)\n- Drop night shift in-process triage path by @trevor-e in [#117032](https://github.com/getsentry/sentry/pull/117032)\n- Refactor Autofix settings to use the new endpoints, and cleaner table abstractions by @ryan953 in [#117000](https://github.com/getsentry/sentry/pull/117000)\n- Wrap settings pages with a Stack and hoist seer specific settings wrappers by @ryan953 in [#117099](https://github.com/getsentry/sentry/pull/117099)\n- Return SeerRun from start_run to drop a re-query by @trevor-e in [#117025](https://github.com/getsentry/sentry/pull/117025)\n- Tighten SeerModelsEndpoint.get() to Response[SeerModelsResponse] by @azulus in [#116997](https://github.com/getsentry/sentry/pull/116997)\n- Add diagnostic logs to GitLab MR emoji reaction path by @billyvg in [#116982](https://github.com/getsentry/sentry/pull/116982)\n- Default SeerRun double-write and drop flag gates by @trevor-e in [#116955](https://github.com/getsentry/sentry/pull/116955)\n- Remove coding agent frontend flag checks by @JoshFerge in [#116849](https://github.com/getsentry/sentry/pull/116849)\n- Send explorer experiment flags as nested agent_run_options by @chromy in [#116761](https://github.com/getsentry/sentry/pull/116761)\n\n#### Span Buffer\n\n- Add pipelined queue deadline lookups by @cmanallen in [#117436](https://github.com/getsentry/sentry/pull/117436)\n- Use bulk project lookup and cache results locally by @cmanallen in [#117442](https://github.com/getsentry/sentry/pull/117442)\n- Improve performance of span buffer processor with typed msgspec deserializer by @cmanallen in [#117673](https://github.com/getsentry/sentry/pull/117673)\n- Exit early if the add_buffer script was previously loaded by @cmanallen in [#117427](https://github.com/getsentry/sentry/pull/117427)\n\n#### Support\n\n- Remove remaining Zendesk references by @ceorourke in [#116870](https://github.com/getsentry/sentry/pull/116870)\n- Remove Intercom support flag from front end by @ceorourke in [#116822](https://github.com/getsentry/sentry/pull/116822)\n\n#### Types\n\n- Move SelectValue out of types/core into scraps/select by @JoshuaKGoldberg in [#116880](https://github.com/getsentry/sentry/pull/116880)\n- Move PlatformKey to a leaf module by @JoshuaKGoldberg in [#116809](https://github.com/getsentry/sentry/pull/116809)\n- Relocate context and shared types into leaf modules by @JoshuaKGoldberg in [#116774](https://github.com/getsentry/sentry/pull/116774)\n\n#### Typing\n\n- Remove `sentry.search.events.datasets.filter_aliases` from mypy ignore list by @shashjar in [#116937](https://github.com/getsentry/sentry/pull/116937)\n- Remove `sentry.search.events.builder.metrics` from mypy ignore list by @shashjar in [#116733](https://github.com/getsentry/sentry/pull/116733)\n- Remove `sentry.search.events.builder.errors` from mypy ignore list by @shashjar in [#116621](https://github.com/getsentry/sentry/pull/116621)\n\n#### Ui\n\n- Enable tsgo in rspack-typescript-checker by @scttcper in [#117315](https://github.com/getsentry/sentry/pull/117315)\n- Type isEmptyObject inputs, block Map type by @scttcper in [#117211](https://github.com/getsentry/sentry/pull/117211)\n\n#### Vsts\n\n- Remove legacy web setup views in favor of API pipeline steps by @evanpurkhiser in [#117336](https://github.com/getsentry/sentry/pull/117336)\n- Remove the vsts-extension provider and redirect the configure URL by @evanpurkhiser in [#117101](https://github.com/getsentry/sentry/pull/117101)\n\n#### Webhooks\n\n- Restructure project sidebar and add dedicated legacy-webhooks route by @Christinarlong in [#117143](https://github.com/getsentry/sentry/pull/117143)\n- Show webhooks on integrations directory page by @Christinarlong in [#117045](https://github.com/getsentry/sentry/pull/117045)\n- Route /integrations/webhooks/ to WebhookDetailedView by @Christinarlong in [#117033](https://github.com/getsentry/sentry/pull/117033)\n- Add standalone org-level webhook detail page by @Christinarlong in [#116830](https://github.com/getsentry/sentry/pull/116830)\n- Replace plugin page with standalone webhook settings by @Christinarlong in [#116735](https://github.com/getsentry/sentry/pull/116735)\n\n#### Weekly Report\n\n- Batch key errors Snuba query by @amy-chen23 in [#117329](https://github.com/getsentry/sentry/pull/117329)\n- Add cache hit metric by @amy-chen23 in [#117346](https://github.com/getsentry/sentry/pull/117346)\n\n#### Workflows\n\n- Cache assignee lookup in-memory by @cmanallen in [#115863](https://github.com/getsentry/sentry/pull/115863)\n- Add batch DataConditionGroup lookup by @cmanallen in [#115864](https://github.com/getsentry/sentry/pull/115864)\n\n#### Other\n\n- (_admin) Remove unused customer details components by @ceorourke in [#116877](https://github.com/getsentry/sentry/pull/116877)\n- (action log) Verify publish transactionality by @kcons in [#117567](https://github.com/getsentry/sentry/pull/117567)\n- (apidocs) Add x-learn-more pagination link to cursor query param by @JoshFerge in [#116936](https://github.com/getsentry/sentry/pull/116936)\n- (apigw) Pass host headers to control proxied requests by @gi0baro in [#117202](https://github.com/getsentry/sentry/pull/117202)\n- (attribute-values) Remove unused endpoint by @wmak in [#117230](https://github.com/getsentry/sentry/pull/117230)\n- (auth) Make signed-URL email verification the only path by @nora-shap in [#116748](https://github.com/getsentry/sentry/pull/116748)\n- (automations) Hide plugin action type from action picker by @Christinarlong in [#117479](https://github.com/getsentry/sentry/pull/117479)\n- (avatars) Refactor `AvatarChooserProps` to a discriminated union on `type` by @shashjar in [#117348](https://github.com/getsentry/sentry/pull/117348)\n- (cmdk) Add all dashboards to global Cmd+K action with search by @JonasBa in [#116863](https://github.com/getsentry/sentry/pull/116863)\n- (code-review) Add flagged logging in gitlab note flow by @suejungshin in [#116983](https://github.com/getsentry/sentry/pull/116983)\n- (constants) Split consts to leaves to break import cycles by @JoshuaKGoldberg in [#116792](https://github.com/getsentry/sentry/pull/116792)\n- (data-forwarding) Add a metric for non-scheduled for direct comparison by @leeandher in [#116725](https://github.com/getsentry/sentry/pull/116725)\n- (detectors) Remove unnessary parameters and interfaces by @cmanallen in [#116709](https://github.com/getsentry/sentry/pull/116709)\n- (explore) Clean up experimental validation by @nsdeschenes in [#117332](https://github.com/getsentry/sentry/pull/117332)\n- (flake8) Add S019 rule banning reserved LogRecord keys in logging extra= by @NicoHinderling in [#117562](https://github.com/getsentry/sentry/pull/117562)\n- (gitlab) Add select logging for gl webhooks by @suejungshin in [#116832](https://github.com/getsentry/sentry/pull/116832)\n- (grouping) Add test cases for duration regex word boundary behavior by @shashjar in [#116907](https://github.com/getsentry/sentry/pull/116907)\n- (gsAdmin) Add responsive CSS for narrow screens by @sentry-junior in [#117056](https://github.com/getsentry/sentry/pull/117056)\n- (hybrid-cloud) Explicitly handle errors rather than 500ing by @cmanallen in [#117335](https://github.com/getsentry/sentry/pull/117335)\n- (icons) Import theme types from the theme types leaf by @JoshuaKGoldberg in [#116777](https://github.com/getsentry/sentry/pull/116777)\n- (ingest) Add taskbroker raw task for ingest-events by @lvthanh03 in [#117133](https://github.com/getsentry/sentry/pull/117133)\n- (issueDetails) Move DetectorDetails type to a leaf module by @JoshuaKGoldberg in [#116787](https://github.com/getsentry/sentry/pull/116787)\n- (jest-balance) Parallelize balancer across 8 shards by @ryan953 in [#117059](https://github.com/getsentry/sentry/pull/117059)\n- (jira-server) Remove legacy pipeline setup views by @evanpurkhiser in [#117311](https://github.com/getsentry/sentry/pull/117311)\n- (kafka) Remove --cluster kwawg from consumer CLI by @enochtangg in [#117434](https://github.com/getsentry/sentry/pull/117434)\n- (logging) Configure grpc logger so its errors aren't dropped by @untitaker in [#116806](https://github.com/getsentry/sentry/pull/116806)\n- (merge) Refactor for GAL by @thetruecpaul in [#116710](https://github.com/getsentry/sentry/pull/116710)\n- (migrations) Delete migration tests older than a week by @JoshFerge in [#116940](https://github.com/getsentry/sentry/pull/116940)\n- (monitors) Batch issue stream detector fetches on Monitors list by @shashjar in [#116794](https://github.com/getsentry/sentry/pull/116794)\n- (overlay) Import NODE_ENV/defined from leaves to break import cycle by @JoshuaKGoldberg in [#116805](https://github.com/getsentry/sentry/pull/116805)\n- (plugins) Break language plugin preprocessors out of plugin infrastructure by @Christinarlong in [#117441](https://github.com/getsentry/sentry/pull/117441)\n- (profiles) Begin TaskProducer rollout by @bmckerry in [#117549](https://github.com/getsentry/sentry/pull/117549)\n- (profiling) Extract clamp into a leaf module by @JoshuaKGoldberg in [#116855](https://github.com/getsentry/sentry/pull/116855)\n- (scm) Pass timeouts through the internal hybrid-cloud proxying by @cmanallen in [#117098](https://github.com/getsentry/sentry/pull/117098)\n- (scm-multi-platform-detetion) Adding metrics for single platform detector. by @Abdkhan14 in [#117060](https://github.com/getsentry/sentry/pull/117060)\n- (scraps) Rename CompactSelect `grid` prop to `mode` by @natemoo-re in [#117454](https://github.com/getsentry/sentry/pull/117454)\n- (sdk) Bump JS SDK to 10.57.0 and migrate to dataCollection by @cleptric in [#117169](https://github.com/getsentry/sentry/pull/117169)\n- (seer-activity) Update the data condition endpoint, revert-revert by @leeandher in [#116721](https://github.com/getsentry/sentry/pull/116721)\n- (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)\n- (sentry apps, webhooks) Remove unused flags by @ceorourke in [#116713](https://github.com/getsentry/sentry/pull/116713)\n- (sentry-apps) Tighten sentry_app_details + installation_details to Response[T] by @azulus in [#117095](https://github.com/getsentry/sentry/pull/117095)\n- (settings) Migrate project issue grouping form to scraps form by @priscilawebdev in [#116465](https://github.com/getsentry/sentry/pull/116465)\n- (snapshots) Add diff mode snapshots for toolbar by @mtopo27 in [#117114](https://github.com/getsentry/sentry/pull/117114)\n- (source-maps) Point source map debug at the canonical endpoint by @cvxluo in [#116691](https://github.com/getsentry/sentry/pull/116691)\n- (span consumer) Use new reference to transaction name by @lobsterkatie in [#116646](https://github.com/getsentry/sentry/pull/116646)\n- (span-flusher) Remove script-exists option check by @cmanallen in [#117679](https://github.com/getsentry/sentry/pull/117679)\n- (stats) Remove barMinHeight from usage chart bars by @priscilawebdev in [#116762](https://github.com/getsentry/sentry/pull/116762)\n- (stories) Extract <PickProject> for re-use in stories by @ryan953 in [#117614](https://github.com/getsentry/sentry/pull/117614)\n- (taskbroker) Migrate ingest-profiles devenv to new config format by @untitaker in [#116758](https://github.com/getsentry/sentry/pull/116758)\n- (teams) Remove deprecated callback-based joinTeam function by @sentry in [#117625](https://github.com/getsentry/sentry/pull/117625)\n- (tracemetrics) Use useEffectEvent for restoring equation mode state by @narsaynorath in [#117685](https://github.com/getsentry/sentry/pull/117685)\n- (txn-summary) Remove old (pre-EAP) transaction summary by @mjq in [#116720](https://github.com/getsentry/sentry/pull/116720)\n- (utils) Move issue-tag query helpers out of the utils barrel by @JoshuaKGoldberg in [#116807](https://github.com/getsentry/sentry/pull/116807)\n- (vercel) Replace legacy configure view with the pipeline redirect by @evanpurkhiser in [#116857](https://github.com/getsentry/sentry/pull/116857)\n- (workflow_engine) Tighten access checks on open periods endpoint by @JoshFerge in [#116062](https://github.com/getsentry/sentry/pull/116062)\n- 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)\n- Remove legacy upgrade request page by @noahsmartin in [#117597](https://github.com/getsentry/sentry/pull/117597)\n- Replace am2/3 checks with capability checks by @noahsmartin in [#117565](https://github.com/getsentry/sentry/pull/117565)\n- Bump sentry-protos 0.28.0 by @armcknight in [#117579](https://github.com/getsentry/sentry/pull/117579)\n- Replace isEnterprise frontend check with backend field by @noahsmartin in [#117563](https://github.com/getsentry/sentry/pull/117563)\n- Remove support for admin provisioning of non-am plans by @noahsmartin in [#117546](https://github.com/getsentry/sentry/pull/117546)\n- Register an empty service worker by @ryan953 in [#117470](https://github.com/getsentry/sentry/pull/117470)\n- Add new feature-flag definition organizations:api-fetch-v2 by @ryan953 in [#117471](https://github.com/getsentry/sentry/pull/117471)\n- Remove frontend for grace period by @noahsmartin in [#117492](https://github.com/getsentry/sentry/pull/117492)\n- Delete system.logging-format by @joshuarli in [#117465](https://github.com/getsentry/sentry/pull/117465)\n- Bump taskbroker-client to 0.18.6 by @getsentry-bot in [#117447](https://github.com/getsentry/sentry/pull/117447)\n- Link colocated stories when a component file changes by @evanpurkhiser in [#117438](https://github.com/getsentry/sentry/pull/117438)\n- Bump sentry-protos 0.27.1 by @brendanhsentry in [#117425](https://github.com/getsentry/sentry/pull/117425)\n- Post story preview links on PRs that change stories by @evanpurkhiser in [#117309](https://github.com/getsentry/sentry/pull/117309)\n- Lint PUBLIC endpoints for typed return annotations by @azulus in [#117356](https://github.com/getsentry/sentry/pull/117356)\n- Bump taskbroker-client to 0.18.5 by @getsentry-bot in [#117357](https://github.com/getsentry/sentry/pull/117357)\n- Type final 4 PUBLIC endpoints, closing the Goal #1 gap by @azulus in [#117280](https://github.com/getsentry/sentry/pull/117280)\n- Type 3 preprod snapshot PUBLIC endpoints via cast() on pydantic .dict() by @azulus in [#117278](https://github.com/getsentry/sentry/pull/117278)\n- Type 8 Goal #1 PUBLIC endpoints (trace, profiling, replay, releases) by @azulus in [#117276](https://github.com/getsentry/sentry/pull/117276)\n- Remove barely used tabs prop from SettingsPageHeader by @ryan953 in [#117266](https://github.com/getsentry/sentry/pull/117266)\n- Type 9 more PUBLIC endpoints incl. multi-shape & drift cases by @azulus in [#117268](https://github.com/getsentry/sentry/pull/117268)\n- Update imports of ApiQueryKey to read from apiQueryKey.ts instead of queryClient by @ryan953 in [#117254](https://github.com/getsentry/sentry/pull/117254)\n- Type 12 PUBLIC endpoints via local error TypedDicts and serializer typing by @azulus in [#117252](https://github.com/getsentry/sentry/pull/117252)\n- Update imports of QueryKeyEndpointOptions by @ryan953 in [#117253](https://github.com/getsentry/sentry/pull/117253)\n- Type 14 PUBLIC core/workflow/repo endpoints by @azulus in [#117248](https://github.com/getsentry/sentry/pull/117248)\n- Upgrade to devservices 1.4.1 by @joshuarli in [#117244](https://github.com/getsentry/sentry/pull/117244)\n- Type 16 PUBLIC endpoints via typed-variable + existing TypedDicts by @azulus in [#117237](https://github.com/getsentry/sentry/pull/117237)\n- Type PUBLIC monitor get/put endpoints via mixin by @azulus in [#117235](https://github.com/getsentry/sentry/pull/117235)\n- Extend length of repository.name by @markstory in [#117205](https://github.com/getsentry/sentry/pull/117205)\n- Type PUBLIC delete endpoints via helper return types by @azulus in [#117223](https://github.com/getsentry/sentry/pull/117223)\n- Type PUBLIC delete endpoints as Response[None] by @azulus in [#117222](https://github.com/getsentry/sentry/pull/117222)\n- Move system.logging-format to django settings as SENTRY_LOGGING_FORMAT by @joshuarli in [#117102](https://github.com/getsentry/sentry/pull/117102)\n- Bump taskbroker-client to 0.18.4 by @lvthanh03 in [#117182](https://github.com/getsentry/sentry/pull/117182)\n- Add JS SDK teams as codeowners for initializeSdk by @cleptric in [#117172](https://github.com/getsentry/sentry/pull/117172)\n- Update protos 0.25.1 by @noahsmartin in [#117087](https://github.com/getsentry/sentry/pull/117087)\n- Bump taskbroker-client to 0.18.3 by @bmckerry in [#117011](https://github.com/getsentry/sentry/pull/117011)\n- Create ListItemSelectedState to declaratively render by @ryan953 in [#116995](https://github.com/getsentry/sentry/pull/116995)\n- Remove context engine flag by @shruthilayaj in [#116894](https://github.com/getsentry/sentry/pull/116894)\n- Add provider for issue.resolved event by @Zylphrex in [#116865](https://github.com/getsentry/sentry/pull/116865)\n- Update the span-tags we record when jest suite runs by @ryan953 in [#116775](https://github.com/getsentry/sentry/pull/116775)\n- Move the DSN for the jest project to github secrets by @ryan953 in [#116776](https://github.com/getsentry/sentry/pull/116776)\n- Cleanup AGENTS.md a bit by @JoshFerge in [#116864](https://github.com/getsentry/sentry/pull/116864)\n- Rename issue.view.attribution to issue.viewed by @Zylphrex in [#116845](https://github.com/getsentry/sentry/pull/116845)\n- Bump taskbroker-client to 0.18.1 by @getsentry-bot in [#116789](https://github.com/getsentry/sentry/pull/116789)\n- Remove launched metric kit feature flag by @noahsmartin in [#116773](https://github.com/getsentry/sentry/pull/116773)\n- 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)\n- Bump symbolic to 13.1.1 by @supervacuus in [#116756](https://github.com/getsentry/sentry/pull/116756)\n- 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)\n- Remove sentry_email model from schema by @markstory in [#116631](https://github.com/getsentry/sentry/pull/116631)\n- Bump new development version by @sentry-release-bot[bot] in [c3ab05c0](https://github.com/getsentry/sentry/commit/c3ab05c096e70f9d8ad7cab99fb79de656d59047)\n- Rollout root-cause-stopping-point by @ryan953 in [#116623](https://github.com/getsentry/sentry/pull/116623)\n\n### Other\n\n- fix(typing) Fix typing for a few model modules by @markstory in [#117582](https://github.com/getsentry/sentry/pull/117582)\n- chore(cells) Remove regions & memberRegions from initialdata by @markstory in [#117583](https://github.com/getsentry/sentry/pull/117583)\n- Update addToStartupProgramAction.tsx by @rahulchhabria in [#117598](https://github.com/getsentry/sentry/pull/117598)\n- Move organization integrations query options helper by @cursor in [#117612](https://github.com/getsentry/sentry/pull/117612)\n- chore(cells) Remove more region references from UI code. by @markstory in [#117463](https://github.com/getsentry/sentry/pull/117463)\n- Improve DetailList responsiveness and text overflow handling by @rahulchhabria in [#117533](https://github.com/getsentry/sentry/pull/117533)\n- o11y(assisted-query): Track error outcomes in trackAiQueryOutcome by @aliu39 in [#117396](https://github.com/getsentry/sentry/pull/117396)\n- ref(cells) Rename utils/region -> utils/cells by @markstory in [#117369](https://github.com/getsentry/sentry/pull/117369)\n- chore(cells) Add option to disable RPC connection pooling by @markstory in [#117331](https://github.com/getsentry/sentry/pull/117331)\n- dep: upgrade granian to 2.7.6 by @gi0baro in [#117410](https://github.com/getsentry/sentry/pull/117410)\n- Fix issue type numbers in group.tsx by @thetruecpaul in [#117389](https://github.com/getsentry/sentry/pull/117389)\n- Update sentry-protos version to 0.27.0 by @skonves in [#117386](https://github.com/getsentry/sentry/pull/117386)\n- fix(cells) Reorder cells so that US is first in admin. by @markstory in [#117376](https://github.com/getsentry/sentry/pull/117376)\n- fix(scm) Truncate data that will overflow in create_repository by @markstory in [#117310](https://github.com/getsentry/sentry/pull/117310)\n- fix(aci) More tags for tracking metrics by @saponifi3d in [#117353](https://github.com/getsentry/sentry/pull/117353)\n- chore(cells) Separate cell + locality usage in UI code. by @markstory in [#117126](https://github.com/getsentry/sentry/pull/117126)\n- ref(seer-issue-activity) Refactor the Seer Issue Activity hook to be generic by @saponifi3d in [#116938](https://github.com/getsentry/sentry/pull/116938)\n- fix(api) Convert snuba RPC rate limit errors to 429 by @markstory in [#117212](https://github.com/getsentry/sentry/pull/117212)\n- analytics(scm-multi-platform-detetion): Adding event for skip detection clicks by @Abdkhan14 in [#117058](https://github.com/getsentry/sentry/pull/117058)\n- deps(ui): Upgrade moment timezone by @scttcper in [#117150](https://github.com/getsentry/sentry/pull/117150)\n- chore(cells) Add localities and cells to client_config by @markstory in [#116895](https://github.com/getsentry/sentry/pull/116895)\n- Remove unused VSTS social auth feature flag by @michelletran-sentry in [#117082](https://github.com/getsentry/sentry/pull/117082)\n- deps(ui): Upgrade @sentry/webpack-plugin v5.3.0 by @scttcper in [#117141](https://github.com/getsentry/sentry/pull/117141)\n- chore(cells) Drop the OrganizationSlugReservationReplica model by @markstory in [#117084](https://github.com/getsentry/sentry/pull/117084)\n\n_Plus 12 more_","publishedAt":"2026-06-15T23:54:15.000Z","fetchedAt":"2026-06-16T01:01:22.756Z","url":"https://github.com/getsentry/sentry/releases/tag/26.6.0","media":[],"coverageCount":0},{"id":"rel_5ZbY0TptXsWttwI4WIQnt","version":"26.5.2","type":"feature","title":"26.5.2","summary":"Published 13 previously internal API endpoints including source map debug, organization profiling, traces, and event attachments. Added per-organization transaction rebalancing and sliding window calculation to dynamic sampling, and improved conversation search with conversation ID targeting and higher auto-collapse limits.","titleGenerated":"Sentry 26.5.2 publishes 13 API endpoints and improves dynamic sampling","titleShort":"13 API endpoints published; dynamic sampling per-org","content":"### New Features ✨\n\n#### Admin\n\n- Filter invoice comparison to both-sides orgs + parity metric by @armcknight in [#116420](https://github.com/getsentry/sentry/pull/116420)\n- Add Billing Platform admin page with invoice comparison by @armcknight in [#116269](https://github.com/getsentry/sentry/pull/116269)\n\n#### Api\n\n- Union response annotations with plugin narrowing + relaxed linter by @azulus in [#116659](https://github.com/getsentry/sentry/pull/116659)\n- Add [T] to 33 Serializer subclasses by @azulus in [#116629](https://github.com/getsentry/sentry/pull/116629)\n- Add Serializer[T] generic; pilot on environments by @azulus in [#116538](https://github.com/getsentry/sentry/pull/116538)\n- Opt 43 endpoints into Response[T] typed bodies by @azulus in [#116433](https://github.com/getsentry/sentry/pull/116433)\n- Type @extend_schema responses via Response[T] stub + linter by @azulus in [#116335](https://github.com/getsentry/sentry/pull/116335)\n\n#### Api Docs\n\n- Publish source map debug endpoint by @cvxluo in [#116649](https://github.com/getsentry/sentry/pull/116649)\n- Publish organization profile chunks endpoint by @cvxluo in [#116632](https://github.com/getsentry/sentry/pull/116632)\n- Publish organization trace endpoint by @cvxluo in [#116596](https://github.com/getsentry/sentry/pull/116596)\n- Publish project profiling profile endpoint by @cvxluo in [#116597](https://github.com/getsentry/sentry/pull/116597)\n- Publish organization profiling flamegraph endpoint by @cvxluo in [#116449](https://github.com/getsentry/sentry/pull/116449)\n- Publish group hashes endpoint by @cvxluo in [#116029](https://github.com/getsentry/sentry/pull/116029)\n- Publish event attachment details endpoint by @cvxluo in [#116580](https://github.com/getsentry/sentry/pull/116580)\n- Publish organization trace meta endpoint by @cvxluo in [#116445](https://github.com/getsentry/sentry/pull/116445)\n- Publish event attachments list endpoint by @cvxluo in [#116536](https://github.com/getsentry/sentry/pull/116536)\n- Publish project releases list endpoint by @cvxluo in [#116220](https://github.com/getsentry/sentry/pull/116220)\n- Publish organization trace item attributes endpoint by @cvxluo in [#116398](https://github.com/getsentry/sentry/pull/116398)\n- Publish project debug files list endpoint by @cvxluo in [#116444](https://github.com/getsentry/sentry/pull/116444)\n- Publish group details endpoint by @cvxluo in [#116119](https://github.com/getsentry/sentry/pull/116119)\n\n#### Autofix\n\n- Allow retry creating PR by @Zylphrex in [#116518](https://github.com/getsentry/sentry/pull/116518)\n- Link linear ticket in autofix PR by @Zylphrex in [#116510](https://github.com/getsentry/sentry/pull/116510)\n- Add Seer Agent debug button to Autofix header by @sentry-junior in [#116166](https://github.com/getsentry/sentry/pull/116166)\n\n#### Bitbucket Server\n\n- Route install through API pipeline modal by @evanpurkhiser in [#116314](https://github.com/getsentry/sentry/pull/116314)\n- Add frontend pipeline steps for Bitbucket Server integration setup by @evanpurkhiser in [#116294](https://github.com/getsentry/sentry/pull/116294)\n- Add API-driven pipeline backend for Bitbucket Server integration setup by @evanpurkhiser in [#116295](https://github.com/getsentry/sentry/pull/116295)\n\n#### Cells\n\n- Use control silo organization listing for setup wizard by @lynnagara in [#116423](https://github.com/getsentry/sentry/pull/116423)\n- Implement owner=1 on control silo org listing by @lynnagara in [#116439](https://github.com/getsentry/sentry/pull/116439)\n- Remove cross-org feature gating from quota notifications by @lynnagara in [#115937](https://github.com/getsentry/sentry/pull/115937)\n\n#### Conversations\n\n- Add conversation ID to freeform search suggestions by @obostjancic in [#116568](https://github.com/getsentry/sentry/pull/116568)\n- Update default search hints for AI conversations by @obostjancic in [#116561](https://github.com/getsentry/sentry/pull/116561)\n- Improve freeform search to target conversation fields by @obostjancic in [#116562](https://github.com/getsentry/sentry/pull/116562)\n- Expand JSON with higher auto-collapse limit in messages panel by @obostjancic in [#116368](https://github.com/getsentry/sentry/pull/116368)\n\n#### Dynamic Sampling\n\n- Per-org transaction rebalancing by @constantinius in [#116475](https://github.com/getsentry/sentry/pull/116475)\n- Add project rebalancing to per-org pipeline by @shellmayr in [#116393](https://github.com/getsentry/sentry/pull/116393)\n- Add sliding window calculation to per-org by @shellmayr in [#116083](https://github.com/getsentry/sentry/pull/116083)\n- Add per-org EAP transaction volume query by @constantinius in [#115161](https://github.com/getsentry/sentry/pull/115161)\n\n#### Eslint\n\n- Add css interpolation semi rule by @scttcper in [#116428](https://github.com/getsentry/sentry/pull/116428)\n- Add no-raw-css-in-styled rule by @scttcper in [#115934](https://github.com/getsentry/sentry/pull/115934)\n- Add prefer-info-text lint rule and migrate existing usages by @TkDodo in [#116211](https://github.com/getsentry/sentry/pull/116211)\n\n#### Explore\n\n- Promote schema hints removal from now-done logs to remaining pages by @JoshuaKGoldberg in [#116224](https://github.com/getsentry/sentry/pull/116224)\n- Switch feature flag from ourlogs- to explore-schema-hints-removal by @JoshuaKGoldberg in [#116225](https://github.com/getsentry/sentry/pull/116225)\n- Space out heat maps y-axis labels by @nikkikapadia in [#116341](https://github.com/getsentry/sentry/pull/116341)\n\n#### Issues\n\n- Add issue.agent search filter by @malwilley in [#116584](https://github.com/getsentry/sentry/pull/116584)\n- Add pretty rendering for Android Runtime (ART) event context by @markushi in [#116270](https://github.com/getsentry/sentry/pull/116270)\n- Extend event context formatters for mobile SDKs by @markushi in [#116273](https://github.com/getsentry/sentry/pull/116273)\n- Restore issue details tour, remove guide by @scttcper in [#116355](https://github.com/getsentry/sentry/pull/116355)\n- Refine low-value span configuration UI by @ArthurKnaus in [#116460](https://github.com/getsentry/sentry/pull/116460)\n- Fully enable recording of Seer actions as issue activities (with option) by @shashjar in [#116424](https://github.com/getsentry/sentry/pull/116424)\n- Use shared markdown component for activity notes by @scttcper in [#116300](https://github.com/getsentry/sentry/pull/116300)\n- Consolidate user feedback activity styles by @scttcper in [#116318](https://github.com/getsentry/sentry/pull/116318)\n\n#### Jira\n\n- Wire Marketplace installs through the API pipeline modal by @evanpurkhiser in [#116525](https://github.com/getsentry/sentry/pull/116525)\n- Support installing through the API pipeline modal by @evanpurkhiser in [#116500](https://github.com/getsentry/sentry/pull/116500)\n\n#### Msteams\n\n- Wire Teams Marketplace installs through the API pipeline modal by @evanpurkhiser in [#116488](https://github.com/getsentry/sentry/pull/116488)\n- Support installing through the API pipeline modal by @evanpurkhiser in [#116490](https://github.com/getsentry/sentry/pull/116490)\n\n#### Ourlogs\n\n- Add `truncate` RPC parameter for logs events query by @JoshuaKGoldberg in [#116008](https://github.com/getsentry/sentry/pull/116008)\n- Add tab click tracking for Logs and Traces explore tabs by @JoshuaKGoldberg in [#115748](https://github.com/getsentry/sentry/pull/115748)\n- Use `truncate` parameter in page-level logs requests by @JoshuaKGoldberg in [#116009](https://github.com/getsentry/sentry/pull/116009)\n\n#### Preprod\n\n- Fix snapshot tag filtering and make tags interactive by @mtopo27 in [#116330](https://github.com/getsentry/sentry/pull/116330)\n- Add structured tags to snapshot test metadata by @mtopo27 in [#116307](https://github.com/getsentry/sentry/pull/116307)\n\n#### Repositories\n\n- Backfill auto-link repos by name matching by @wedamija in [#116541](https://github.com/getsentry/sentry/pull/116541)\n- Auto-link repos to projects by name matching by @wedamija in [#116533](https://github.com/getsentry/sentry/pull/116533)\n\n#### Seer\n\n- Gate structured context routes on rollout flag by @Mihir-Mavalankar in [#116605](https://github.com/getsentry/sentry/pull/116605)\n- Add flag to roll out structured page context to all orgs by @Mihir-Mavalankar in [#116600](https://github.com/getsentry/sentry/pull/116600)\n- Remove stale feature flag `organizations:seer-agent-pr-consolidation` by @cvxluo in [#116438](https://github.com/getsentry/sentry/pull/116438)\n- Add structured LLM context for metrics and profiling explorer page by @Mihir-Mavalankar in [#116250](https://github.com/getsentry/sentry/pull/116250)\n\n#### Workflow Engine\n\n- Update delayed processing and add evaluation logs by @saponifi3d in [#115692](https://github.com/getsentry/sentry/pull/115692)\n- Implement Seer Activity handler by @leeandher in [#116410](https://github.com/getsentry/sentry/pull/116410)\n\n#### Other\n\n- (activity) Add (project, type) index on sentry_activity by @malwilley in [#116524](https://github.com/getsentry/sentry/pull/116524)\n- (apidocs) Support union Response[T] annotations in structural linter by @azulus in [#116496](https://github.com/getsentry/sentry/pull/116496)\n- (cmdk) Add search keywords to reduce no-result queries by @JonasBa in [#116431](https://github.com/getsentry/sentry/pull/116431)\n- (dashboards) Track dashboard generation validation attempts by @DominikB2014 in [#116502](https://github.com/getsentry/sentry/pull/116502)\n- (discord) Wire App Directory installs through the API pipeline modal by @evanpurkhiser in [#116429](https://github.com/getsentry/sentry/pull/116429)\n- (eap) Add superuser `debug` param to trace item attributes by @mjq in [#116579](https://github.com/getsentry/sentry/pull/116579)\n- (flagpole) Register onboarding-scm-project-creation-experiment feature flag by @jaydgoss in [#116189](https://github.com/getsentry/sentry/pull/116189)\n- (github-enterprise) Route install through API pipeline modal by @evanpurkhiser in [#116316](https://github.com/getsentry/sentry/pull/116316)\n- (ingest) Allow custom global inbound filter by @oioki in [#116685](https://github.com/getsentry/sentry/pull/116685)\n- (issue-details) Enable Autofix for low-value spans by @ArthurKnaus in [#116468](https://github.com/getsentry/sentry/pull/116468)\n- (loader) Add pride loader by @natemoo-re in [#116348](https://github.com/getsentry/sentry/pull/116348)\n- (markdown) Add tag extension by @natemoo-re in [#116504](https://github.com/getsentry/sentry/pull/116504)\n- (night-shift) Be more conservative about which issues get autofixed by @chromy in [#116476](https://github.com/getsentry/sentry/pull/116476)\n- (onboarding) Add ScmAnalyticsFlow for project-creation reuse by @jaydgoss in [#116434](https://github.com/getsentry/sentry/pull/116434)\n- (replays) Add superuser replay debugger dropdown option by @billyvg in [#116391](https://github.com/getsentry/sentry/pull/116391)\n- (scm) Add github_enterprise support to SCM Platform RPC dispatch by @tnt-sentry in [#116193](https://github.com/getsentry/sentry/pull/116193)\n- (scraps) RevealOnHover compound component by @natemoo-re in [#115953](https://github.com/getsentry/sentry/pull/115953)\n- (seer explorer) Add unread message count to the tab icon by @sehr-m in [#114071](https://github.com/getsentry/sentry/pull/114071)\n- (seer-activity) Set up the new Seer Activity data condition by @leeandher in [#116506](https://github.com/getsentry/sentry/pull/116506)\n- (settings) Support legacy usage-based Seer in project settings endpoint by @srest2021 in [#115962](https://github.com/getsentry/sentry/pull/115962)\n- (skills) Add analytics instrumentation skill by @natemoo-re in [#116437](https://github.com/getsentry/sentry/pull/116437)\n- (snapshots) Add viewport width support to snapshot testing framework by @mtopo27 in [#115887](https://github.com/getsentry/sentry/pull/115887)\n- (trace) Add `debug` param to trace item details endpoint by @mjq in [#116151](https://github.com/getsentry/sentry/pull/116151)\n- (trace-waterfall) Add \"EAP JSON\" debug button for superusers by @mjq in [#116131](https://github.com/getsentry/sentry/pull/116131)\n- (utils) Add shuffle option to CursoredScheduler by @roggenkemper in [#116297](https://github.com/getsentry/sentry/pull/116297)\n- (waterfall) Add visual indication for SDK-sent v2 spans by @Lms24 in [#116386](https://github.com/getsentry/sentry/pull/116386)\n- (webhooks) Add REST API endpoint for webhook URL management by @Christinarlong in [#115861](https://github.com/getsentry/sentry/pull/115861)\n- Add KAFKA_TOPIC_CONSUMER_CONFIG for per-topic consumer config by @enochtangg in [#116611](https://github.com/getsentry/sentry/pull/116611)\n- Reorder get topic to resolve override before lookup by @enochtangg in [#116337](https://github.com/getsentry/sentry/pull/116337)\n- Remove code coverage feature by @calvin-codecov in [#116240](https://github.com/getsentry/sentry/pull/116240)\n- Install sentry-options by @joshuarli in [#115835](https://github.com/getsentry/sentry/pull/115835)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Remove openIssues from Detector serializer response by @ceorourke in [#116414](https://github.com/getsentry/sentry/pull/116414)\n- Scope rule workflow lookups by organization by @kcons in [#116353](https://github.com/getsentry/sentry/pull/116353)\n\n#### Api Logs\n\n- Log snuba throttle_threshold on rate-limited requests by @cvxluo in [#116338](https://github.com/getsentry/sentry/pull/116338)\n- Preserve snuba policy info on throttles by @cvxluo in [#116263](https://github.com/getsentry/sentry/pull/116263)\n\n#### Eap\n\n- Handle None exception data in event forwarding by @roggenkemper in [#116544](https://github.com/getsentry/sentry/pull/116544)\n- Recognize `normalize` deprecations in attribute mapping by @mjq in [#116509](https://github.com/getsentry/sentry/pull/116509)\n\n#### Feedback\n\n- Remove extra padding from LayoutGrid component by @sentry-junior in [#116377](https://github.com/getsentry/sentry/pull/116377)\n- Make UserReport name and email nullable by @TkDodo in [#116362](https://github.com/getsentry/sentry/pull/116362)\n\n#### Integrations\n\n- Hide the integration Settings tab when it is empty by @evanpurkhiser in [#116688](https://github.com/getsentry/sentry/pull/116688)\n- Return the proper error response shape from the integration details POST endpoint by @malwilley in [#116447](https://github.com/getsentry/sentry/pull/116447)\n- Use paginated jira projects endpoint in another place by @hobzcalvin in [#116418](https://github.com/getsentry/sentry/pull/116418)\n- Use paginated jira projects endpoint, behind flag by @hobzcalvin in [#116327](https://github.com/getsentry/sentry/pull/116327)\n\n#### Issues\n\n- Make linked issue metadata clickable by @scttcper in [#116583](https://github.com/getsentry/sentry/pull/116583)\n- Read low-value span evidence as camelCase by @ArthurKnaus in [#116557](https://github.com/getsentry/sentry/pull/116557)\n\n#### Logs\n\n- Go back to prefetch query by @k-fish in [#114893](https://github.com/getsentry/sentry/pull/114893)\n- Pass timestamp to trace item details by @nsdeschenes in [#116374](https://github.com/getsentry/sentry/pull/116374)\n\n#### Metrics\n\n- Pass timestamp to trace item details by @nsdeschenes in [#116315](https://github.com/getsentry/sentry/pull/116315)\n- Skip tag validation when deleting Snuba subscriptions by @wedamija in [#116325](https://github.com/getsentry/sentry/pull/116325)\n\n#### Preprod\n\n- Document latest base project slug filter by @cameroncooke in [#116102](https://github.com/getsentry/sentry/pull/116102)\n- Balance padding on active tag filter chips by @NicoHinderling in [#116417](https://github.com/getsentry/sentry/pull/116417)\n- Enforce project access for artifact endpoints by @cameroncooke in [#116381](https://github.com/getsentry/sentry/pull/116381)\n- Pre-filter latest base snapshot query by project access by @NicoHinderling in [#116319](https://github.com/getsentry/sentry/pull/116319)\n\n#### Replays\n\n- Query canonical replay id in trace tab by @romtsn in [#116432](https://github.com/getsentry/sentry/pull/116432)\n- Scope issue.id group lookup to caller's accessible projects by @JoshuaKGoldberg in [#116188](https://github.com/getsentry/sentry/pull/116188)\n- Stop page reloads on initial tab change by @nsdeschenes in [#116494](https://github.com/getsentry/sentry/pull/116494)\n\n#### Workflows\n\n- Rule deletion shouldn't automatically result in Workflow deletion by @kcons in [#116537](https://github.com/getsentry/sentry/pull/116537)\n- Update Workflows with org-scoped envs when transfered with a project by @kcons in [#116239](https://github.com/getsentry/sentry/pull/116239)\n\n#### Other\n\n- (alerts) Fall through to issue alert handler by @ceorourke in [#116241](https://github.com/getsentry/sentry/pull/116241)\n- (api) Rename duplicated event reprocessable URL by @cvxluo in [#116395](https://github.com/getsentry/sentry/pull/116395)\n- (api-docs) Improve flamegraph endpoint description by @cvxluo in [#116633](https://github.com/getsentry/sentry/pull/116633)\n- (autofix) Set default stopping point based on preferences by @Zylphrex in [#116340](https://github.com/getsentry/sentry/pull/116340)\n- (ci) Revert parallel devservices startup for backend tests by @mchen-sentry in [#116648](https://github.com/getsentry/sentry/pull/116648)\n- (conversations) Use 24h statsPeriod on detail page back link by @obostjancic in [#116361](https://github.com/getsentry/sentry/pull/116361)\n- (dashboards) Move global filter loading spinner to dropdown footer by @DominikB2014 in [#116342](https://github.com/getsentry/sentry/pull/116342)\n- (data-scrubbing) Stop source field suggestion scroll from crashing by @scttcper in [#116653](https://github.com/getsentry/sentry/pull/116653)\n- (discord) Route App Directory install through API pipeline modal by @evanpurkhiser in [#116375](https://github.com/getsentry/sentry/pull/116375)\n- (discover) Link issue event ids directly by @scttcper in [#116507](https://github.com/getsentry/sentry/pull/116507)\n- (dynamic-sampling) Exclude zero-volume projects from project balancing by @shellmayr in [#116572](https://github.com/getsentry/sentry/pull/116572)\n- (events) Don't default the seer referrers by @wmak in [#116704](https://github.com/getsentry/sentry/pull/116704)\n- (eventstream) Guard against None entries in exception values list by @roggenkemper in [#116511](https://github.com/getsentry/sentry/pull/116511)\n- (explore) Y-axis formatting decimal truncation for heatmaps by @nikkikapadia in [#116144](https://github.com/getsentry/sentry/pull/116144)\n- (forms) Surface backend error messages in AutoSaveForm by @malwilley in [#116448](https://github.com/getsentry/sentry/pull/116448)\n- (grouping) Fix hostname regex bugs, take 2 by @lobsterkatie in [#116587](https://github.com/getsentry/sentry/pull/116587)\n- (heatmaps) Very small y-axis values turning into engineering notation and throwing errors by @nikkikapadia in [#116421](https://github.com/getsentry/sentry/pull/116421)\n- (jest) Exclude scripts/ from discovery and module resolution by @armcknight in [#116413](https://github.com/getsentry/sentry/pull/116413)\n- (low-value-spans) Use project platform for snippets by @ArthurKnaus in [#116675](https://github.com/getsentry/sentry/pull/116675)\n- (oauth) Use hashed token lookup and reject tokens for inactive users by @michelletran-sentry in [#116323](https://github.com/getsentry/sentry/pull/116323)\n- (options) Suppress option seen logs in debug mode by @JoshFerge in [#116324](https://github.com/getsentry/sentry/pull/116324)\n- (ourlogs) Stabilize ECharts chart position to prevent getAttribute crash by @JoshuaKGoldberg in [#115753](https://github.com/getsentry/sentry/pull/115753)\n- (pageFilters) Sort bookmarked projects above non-member projects by @JonasBa in [#116196](https://github.com/getsentry/sentry/pull/116196)\n- (project-filter) Increase bottom margin by @cvxluo in [#116328](https://github.com/getsentry/sentry/pull/116328)\n- (releases) Combine duplicate Author type by @cvxluo in [#116358](https://github.com/getsentry/sentry/pull/116358)\n- (scm) Map unknown referrer to shared by @cmanallen in [#116403](https://github.com/getsentry/sentry/pull/116403)\n- (search-query-builder) Add dynamic fetching to has by @nsdeschenes in [#116097](https://github.com/getsentry/sentry/pull/116097)\n- (seer) Fix font color and link position in autofix project settings by @ryan953 in [#116602](https://github.com/getsentry/sentry/pull/116602)\n- (segment-enrichment) Propagate conventional user attributes by @mjq in [#116492](https://github.com/getsentry/sentry/pull/116492)\n- (settings) List all projects in context picker instead of default 1st page by @hobzcalvin in [#116072](https://github.com/getsentry/sentry/pull/116072)\n- (snapshots) Increase snapshot test timeout to 30s by @mtopo27 in [#116378](https://github.com/getsentry/sentry/pull/116378)\n- (spans) Deprecations shouldn't shadow public field names by @mjq in [#116387](https://github.com/getsentry/sentry/pull/116387)\n- (theme) Update config.theme when mutating user theme option by @TkDodo in [#116336](https://github.com/getsentry/sentry/pull/116336)\n- (trace-item-details) Allow timestamp by @wmak in [#116321](https://github.com/getsentry/sentry/pull/116321)\n- (trace-waterfall) Pass timestamp to trace item details by @nsdeschenes in [#116376](https://github.com/getsentry/sentry/pull/116376)\n- (traces) Downgrade Group.DoesNotExist log to info in trace serialization by @wedamija in [#116322](https://github.com/getsentry/sentry/pull/116322)\n- (webhooks) Check webhooks:enabled in new webhook path by @Christinarlong in [#116459](https://github.com/getsentry/sentry/pull/116459)\n- Trigger ad-hoc explorer index runs by @shruthilayaj in [#116530](https://github.com/getsentry/sentry/pull/116530)\n\n### Internal Changes 🔧\n\n#### Aci\n\n- Remove usage of workflow engine redirect flag by @ceorourke in [#116609](https://github.com/getsentry/sentry/pull/116609)\n- Update alerts:write settings toggle label to include reference to monitors by @malwilley in [#116313](https://github.com/getsentry/sentry/pull/116313)\n\n#### Api\n\n- Mark prompts-activity as private by @cvxluo in [#116702](https://github.com/getsentry/sentry/pull/116702)\n- Rename `SourceMapDebugBlueThunderEdition` to `SourceMapDebug` by @cvxluo in [#116619](https://github.com/getsentry/sentry/pull/116619)\n- Remove unused source-map-debug endpoint by @cvxluo in [#116594](https://github.com/getsentry/sentry/pull/116594)\n- Remove experimental/projects backward-compat shim by @betegon in [#116498](https://github.com/getsentry/sentry/pull/116498)\n- Remove unused events-trace-light endpoint by @cvxluo in [#116519](https://github.com/getsentry/sentry/pull/116519)\n- Remove stale entries from api ownership and publish status by @cvxluo in [#116400](https://github.com/getsentry/sentry/pull/116400)\n- Promote org-scoped project creation endpoint to public by @betegon in [#116333](https://github.com/getsentry/sentry/pull/116333)\n\n#### Api Docs\n\n- Add `EventAttachmentSerializerResponse` type and example by @cvxluo in [#116515](https://github.com/getsentry/sentry/pull/116515)\n- Add DebugFileSerializerResponse type and example fixture by @cvxluo in [#116397](https://github.com/getsentry/sentry/pull/116397)\n\n#### Ci\n\n- Skip type coverage comment if there is no change by @shellmayr in [#116672](https://github.com/getsentry/sentry/pull/116672)\n- Skip broken trace item detail tests by @kenzoengineer in [#116497](https://github.com/getsentry/sentry/pull/116497)\n\n#### Codecov\n\n- Remove auto_enable_codecov daily job by @giovanni-guidini in [#116570](https://github.com/getsentry/sentry/pull/116570)\n- Remove GitHub Codecov account-link hooks by @giovanni-guidini in [#116569](https://github.com/getsentry/sentry/pull/116569)\n- Remove stacktrace-coverage endpoint and codecovAccess setting by @giovanni-guidini in [#116565](https://github.com/getsentry/sentry/pull/116565)\n- Remove Prevent API endpoints and routes by @giovanni-guidini in [#116559](https://github.com/getsentry/sentry/pull/116559)\n\n#### Deps\n\n- Bump js-cookie from 3.0.5 to 3.0.7 by @dependabot in [#116057](https://github.com/getsentry/sentry/pull/116057)\n- Update sentry-conventions to 0.10.0 by @mjq in [#116517](https://github.com/getsentry/sentry/pull/116517)\n\n#### Dynamic Sampling\n\n- Document config types and simplify dir structure by @shellmayr in [#116462](https://github.com/getsentry/sentry/pull/116462)\n- Only run sliding window calculations when config is enabled by @shellmayr in [#116371](https://github.com/getsentry/sentry/pull/116371)\n- With multiple org volumes, make sure their duration is clear in scheduler by @shellmayr in [#116367](https://github.com/getsentry/sentry/pull/116367)\n\n#### Explore\n\n- Remove raw search replacement flag checks by @nsdeschenes in [#116590](https://github.com/getsentry/sentry/pull/116590)\n- Port schema hints list to scraps by @priscilawebdev in [#116159](https://github.com/getsentry/sentry/pull/116159)\n\n#### Flags\n\n- Remove organizations:processing-error-analytics by @wedamija in [#116643](https://github.com/getsentry/sentry/pull/116643)\n- Remove organizations:workflow-engine-redirect-opt-out by @wedamija in [#116641](https://github.com/getsentry/sentry/pull/116641)\n- Remove organizations:seer-slack-explorer by @wedamija in [#116639](https://github.com/getsentry/sentry/pull/116639)\n- Remove organizations:search-query-builder-raw-search-replacement by @wedamija in [#116638](https://github.com/getsentry/sentry/pull/116638)\n- Remove organizations:insights-alerts by @wedamija in [#116223](https://github.com/getsentry/sentry/pull/116223)\n\n#### Forms\n\n- Migrate RequestIntegrationModal to TanStack form system by @priscilawebdev in [#115990](https://github.com/getsentry/sentry/pull/115990)\n- Migrate CreateTeamForm to TanStack form system by @priscilawebdev in [#115991](https://github.com/getsentry/sentry/pull/115991)\n\n#### Github Enterprise\n\n- Remove legacy pipeline setup views by @evanpurkhiser in [#116436](https://github.com/getsentry/sentry/pull/116436)\n- Remove fully-GA github.com source flag checks by @tnt-sentry in [#116385](https://github.com/getsentry/sentry/pull/116385)\n\n#### Integrations\n\n- Remove `organizations:integrations-github-project-management` by @cvxluo in [#116551](https://github.com/getsentry/sentry/pull/116551)\n- Drop the external-install React route by @evanpurkhiser in [#116426](https://github.com/getsentry/sentry/pull/116426)\n- Redirect GitHub installs straight to the link page by @evanpurkhiser in [#116412](https://github.com/getsentry/sentry/pull/116412)\n- Clean up integrationOrganizationLink by @evanpurkhiser in [#116415](https://github.com/getsentry/sentry/pull/116415)\n- Extract GitHub installation callout from org link view by @evanpurkhiser in [#116379](https://github.com/getsentry/sentry/pull/116379)\n- Reorganize pipeline components into per-provider folders by @evanpurkhiser in [#116334](https://github.com/getsentry/sentry/pull/116334)\n\n#### Issues\n\n- Add fallback event components codeowner by @scttcper in [#116505](https://github.com/getsentry/sentry/pull/116505)\n- 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)\n- Minor cleanup of boolean logic in escalating issue algorithm by @shashjar in [#116453](https://github.com/getsentry/sentry/pull/116453)\n- Remove streamline names from issue details by @scttcper in [#116344](https://github.com/getsentry/sentry/pull/116344)\n\n#### Logs\n\n- Add superuser only log json debug button by @Dav1dde in [#116482](https://github.com/getsentry/sentry/pull/116482)\n- Update trace item timestamp expectations by @nsdeschenes in [#116405](https://github.com/getsentry/sentry/pull/116405)\n\n#### Onboarding\n\n- Update project creation URL to /organizations/{org}/projects/ by @betegon in [#116388](https://github.com/getsentry/sentry/pull/116388)\n- Decouple SCM step components from OnboardingContext by @jaydgoss in [#115639](https://github.com/getsentry/sentry/pull/115639)\n\n#### Repositories\n\n- 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)\n- Mark project repo endpoint as public by @wedamija in [#116343](https://github.com/getsentry/sentry/pull/116343)\n\n#### Seer\n\n- Mark seer endpoints as private instead of experimental by @gricha in [#116591](https://github.com/getsentry/sentry/pull/116591)\n- Remove `organizations:seer-wizard` by @cvxluo in [#116546](https://github.com/getsentry/sentry/pull/116546)\n- Remove `organizations:seer-issue-view` by @cvxluo in [#116528](https://github.com/getsentry/sentry/pull/116528)\n- 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)\n- Add GitLab code-review web hooks by @cmanallen in [#116317](https://github.com/getsentry/sentry/pull/116317)\n- 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)\n- Use get_group_list helper in supergroups-by-group endpoint by @giovanni-guidini in [#116474](https://github.com/getsentry/sentry/pull/116474)\n- 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)\n\n#### Settings\n\n- Migrate project security & privacy form to scraps form by @priscilawebdev in [#116463](https://github.com/getsentry/sentry/pull/116463)\n- Remove service hooks forms and routes by @TkDodo in [#116296](https://github.com/getsentry/sentry/pull/116296)\n\n#### Snapshots\n\n- Snapshot the snapshots toolbar by @mtopo27 in [#116479](https://github.com/getsentry/sentry/pull/116479)\n- Resolve real design-system imports under SSR by @mtopo27 in [#116478](https://github.com/getsentry/sentry/pull/116478)\n- Make the snapshots toolbar presentational and de-duplicate by @mtopo27 in [#116477](https://github.com/getsentry/sentry/pull/116477)\n\n#### Snuba\n\n- Use metrics.timer instead of bespoke timer helper by @mrduncan in [#115279](https://github.com/getsentry/sentry/pull/115279)\n- Use metrics.timer for get_snuba_map timing by @mrduncan in [#116357](https://github.com/getsentry/sentry/pull/116357)\n- Re-enable boolean double-write tests by @phacops in [#116390](https://github.com/getsentry/sentry/pull/116390)\n\n#### Spans\n\n- Improve flush cleanup coverage by @lvthanh03 in [#116694](https://github.com/getsentry/sentry/pull/116694)\n- Move flushed segment cleanup into buffer store by @lvthanh03 in [#116495](https://github.com/getsentry/sentry/pull/116495)\n- Move queue updates into spans buffer store by @lvthanh03 in [#116435](https://github.com/getsentry/sentry/pull/116435)\n- Use full web vitals attribute strings by @mjq in [#116135](https://github.com/getsentry/sentry/pull/116135)\n- Introduce spans buffer store abstraction by @lvthanh03 in [#116382](https://github.com/getsentry/sentry/pull/116382)\n- Read deprecations from `sentry-conventions` by @mjq in [#116399](https://github.com/getsentry/sentry/pull/116399)\n- Add loaded segment data model by @lvthanh03 in [#116346](https://github.com/getsentry/sentry/pull/116346)\n\n#### Typing\n\n- Remove 9 zero-error modules from mypy ignore list by @shashjar in [#116430](https://github.com/getsentry/sentry/pull/116430)\n- Remove `sentry.services.eventstore.models` from mypy ignore list by @shashjar in [#116229](https://github.com/getsentry/sentry/pull/116229)\n\n#### Webhooks\n\n- Hide PLUGIN action type from available actions endpoint by @Christinarlong in [#116458](https://github.com/getsentry/sentry/pull/116458)\n- Remove raise that short circuit url sending by @Christinarlong in [#116534](https://github.com/getsentry/sentry/pull/116534)\n- Add legacy_webhook to the Plugin ActionType by @Christinarlong in [#116454](https://github.com/getsentry/sentry/pull/116454)\n\n#### Other\n\n- (alerts) Disable alert buttons for users without write access by @malwilley in [#116306](https://github.com/getsentry/sentry/pull/116306)\n- (apigateway) Use a threadlocal session for proxy requests by @JoshFerge in [#116054](https://github.com/getsentry/sentry/pull/116054)\n- (assemble) Validate debug ids on assemble endpoint by @Dav1dde in [#116283](https://github.com/getsentry/sentry/pull/116283)\n- (autofix) Remove the organizations:autofix-on-explorer feature flag by @chromy in [#116165](https://github.com/getsentry/sentry/pull/116165)\n- (billing) Bumped sentry-protos version to 0.15.0 by @krithikravi in [#116351](https://github.com/getsentry/sentry/pull/116351)\n- (billing-platform) Bump sentry-protos 0.21.0 by @brendanhsentry in [#116539](https://github.com/getsentry/sentry/pull/116539)\n- (bitbucket-server) Remove legacy pipeline setup views by @evanpurkhiser in [#116489](https://github.com/getsentry/sentry/pull/116489)\n- (cell) Renames proxy region metric tag to cell for clarity by @GabeVillalobos in [#116402](https://github.com/getsentry/sentry/pull/116402)\n- (cells) Adds CellResolver, refactors ApiGateway to use them when special casing proxy requests by @GabeVillalobos in [#116221](https://github.com/getsentry/sentry/pull/116221)\n- (codeowners) Reuse get_projects in associations endpoint by @giovanni-guidini in [#116359](https://github.com/getsentry/sentry/pull/116359)\n- (conversations) Simplify conversation details endpoint by @obostjancic in [#116087](https://github.com/getsentry/sentry/pull/116087)\n- (dashboards) Validate prebuilt widget layouts and lengths by @DominikB2014 in [#116217](https://github.com/getsentry/sentry/pull/116217)\n- (eap) Make trace item attributes alias test less fragile by @mjq in [#116545](https://github.com/getsentry/sentry/pull/116545)\n- (feature-flags) Remove `organizations:insights-ai-and-mcp-dashboard-migration` by @cvxluo in [#116450](https://github.com/getsentry/sentry/pull/116450)\n- (inbound-filters) Add feature flag by @shellmayr in [#116287](https://github.com/getsentry/sentry/pull/116287)\n- (ingest) Minor cleanup in issue occurrence ingestion logic by @shashjar in [#116608](https://github.com/getsentry/sentry/pull/116608)\n- (issue-detection) Update badge for AI Issue Detection by @roggenkemper in [#116311](https://github.com/getsentry/sentry/pull/116311)\n- (issueDetails) Migrate onDiscard to useMutation + fetchMutation by @sentry-junior in [#116157](https://github.com/getsentry/sentry/pull/116157)\n- (jira) Replace legacy configure view with the pipeline redirect by @evanpurkhiser in [#116574](https://github.com/getsentry/sentry/pull/116574)\n- (mcp-adoption-value-discovery) Adding utm source to mcp docs link by @Abdkhan14 in [#116202](https://github.com/getsentry/sentry/pull/116202)\n- (metrics) Metric detail action menu tweaks by @nsdeschenes in [#116292](https://github.com/getsentry/sentry/pull/116292)\n- (msteams) Replace legacy configure view with the pipeline redirect by @evanpurkhiser in [#116520](https://github.com/getsentry/sentry/pull/116520)\n- (night-shift) Use default autofix model for night-shift runs by @chromy in [#116469](https://github.com/getsentry/sentry/pull/116469)\n- (ourlogs) Switch logs pinning from context to a straightforward hook by @JoshuaKGoldberg in [#116176](https://github.com/getsentry/sentry/pull/116176)\n- (rpc) Log from `_make_rpc_request` by @mjq in [#116408](https://github.com/getsentry/sentry/pull/116408)\n- (scm) Remove /rate-limit endpoint from internal rate-limit computation by @cmanallen in [#116471](https://github.com/getsentry/sentry/pull/116471)\n- (search-query-builder) Break up contexts by @nsdeschenes in [#116126](https://github.com/getsentry/sentry/pull/116126)\n- (seer-grouping) Rm backfill url by @kddubey in [#116253](https://github.com/getsentry/sentry/pull/116253)\n- (seer-slack) Remove unused flag by @leeandher in [#116683](https://github.com/getsentry/sentry/pull/116683)\n- (slack) Remove assistant:write OAuth scope from Slack integration by @alexsohn1126 in [#116567](https://github.com/getsentry/sentry/pull/116567)\n- (tempest) Squash migrations by @vgrozdanic in [#116679](https://github.com/getsentry/sentry/pull/116679)\n- (timeSince) Migrate TimeSince to use InfoText internally by @TkDodo in [#116369](https://github.com/getsentry/sentry/pull/116369)\n- (trace-items) Remove `performance-sentry-conventions-fields` by @mjq in [#116392](https://github.com/getsentry/sentry/pull/116392)\n- (trace-waterfall) Drop deprecated aliases from trace meta endpoint by @cvxluo in [#116514](https://github.com/getsentry/sentry/pull/116514)\n- (traces) Remove stale events-trace-light frontend references by @cvxluo in [#116523](https://github.com/getsentry/sentry/pull/116523)\n- (utils) Small `SafeRolloutComparator` refactors by @lobsterkatie in [#116257](https://github.com/getsentry/sentry/pull/116257)\n- (workflow-engine) Build out new registry for activities by @leeandher in [#116200](https://github.com/getsentry/sentry/pull/116200)\n- (workflows) Dramatically more efficient DetectorGroup querying by @kcons in [#116441](https://github.com/getsentry/sentry/pull/116441)\n- Devservices 1.4.0 by @joshuarli in [#116700](https://github.com/getsentry/sentry/pull/116700)\n- Rollout semver-ordering-with-build-code by @ryan953 in [#116622](https://github.com/getsentry/sentry/pull/116622)\n- Remove `relay:measurements-smart-conversion` feature by @loewenheim in [#116615](https://github.com/getsentry/sentry/pull/116615)\n- Replace custom JEST_TEST_BALANCER env var with --testResultsProcessor by @ryan953 in [#116661](https://github.com/getsentry/sentry/pull/116661)\n- Bump taskbroker-client to 0.18.0 by @getsentry-bot in [#116630](https://github.com/getsentry/sentry/pull/116630)\n- Cleanup seer-config-reminder flag by @ryan953 in [#116628](https://github.com/getsentry/sentry/pull/116628)\n- Fix log statement by @joseph-sentry in [#116512](https://github.com/getsentry/sentry/pull/116512)\n- Bump taskbroker-client to 0.17.1 by @getsentry-bot in [#116535](https://github.com/getsentry/sentry/pull/116535)\n- Bump taskbroker-client to 0.17.0 by @getsentry-bot in [#116526](https://github.com/getsentry/sentry/pull/116526)\n- Delete unused options by @joshuarli in [#116409](https://github.com/getsentry/sentry/pull/116409)\n- Type utils.signing.unsign return as Any by @evanpurkhiser in [#116486](https://github.com/getsentry/sentry/pull/116486)\n- Add some logging by @shruthilayaj in [#116481](https://github.com/getsentry/sentry/pull/116481)\n- Remove Email model by @markstory in [#116245](https://github.com/getsentry/sentry/pull/116245)\n- Bump sentry-protos 0.17.0 by @brendanhsentry in [#116456](https://github.com/getsentry/sentry/pull/116456)\n- Bump taskbroker-client to 0.16.0 by @getsentry-bot in [#116411](https://github.com/getsentry/sentry/pull/116411)\n- Bump sentry-protos to 0.16.1 by @getsentry-bot in [#116401](https://github.com/getsentry/sentry/pull/116401)\n- Delete plan migration frontend by @noahsmartin in [#116331](https://github.com/getsentry/sentry/pull/116331)\n- Bump new development version by @sentry-release-bot[bot] in [c9c46150](https://github.com/getsentry/sentry/commit/c9c461506030aae3c8e58b814b746a897237eb46)\n\n### Other\n\n- fix(cells) Hide US2 in customer facing dropdowns by @markstory in [#116529](https://github.com/getsentry/sentry/pull/116529)\n- Remove `organizations:scm-repositories-v2` by @cvxluo in [#116555](https://github.com/getsentry/sentry/pull/116555)\n- Add new org suspension reason by @geoffg-sentry in [#116616](https://github.com/getsentry/sentry/pull/116616)\n- Upgrade sentry-scm to 0.22.0 by @cmanallen in [#116585](https://github.com/getsentry/sentry/pull/116585)\n- 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)\n- :bug: fix[gitlab]: add assignee sync diagnostics by @iamrajjoshi in [#115356](https://github.com/getsentry/sentry/pull/115356)\n- feat(cells) Allow staff users to create orgs in hidden cells by @markstory in [#116503](https://github.com/getsentry/sentry/pull/116503)\n- fix(cells) Add flag and display name for us2 by @markstory in [#116513](https://github.com/getsentry/sentry/pull/116513)\n- Extract BoundedLRUCache into common utility module by @cmanallen in [#116527](https://github.com/getsentry/sentry/pull/116527)\n- fix(typing) Remove sentry.db.postgres.base from ignore list by @markstory in [#116493](https://github.com/getsentry/sentry/pull/116493)\n- deps(scm): Upgrade sentry-scm to 0.20.0 by @cmanallen in [#116499](https://github.com/getsentry/sentry/pull/116499)\n- tracemetrics(perf): Add client_sample_rate to high-volume metrics by @k-fish in [#116308](https://github.com/getsentry/sentry/pull/116308)\n- chore(typing) Fix typing errors in sentry.ratelimits by @markstory in [#116310](https://github.com/getsentry/sentry/pull/116310)\n- revert changes to jest config from #116269 by @armcknight in [#116416](https://github.com/getsentry/sentry/pull/116416)\n- chore(typing) Fix typing issues in relocations by @markstory in [#116301](https://github.com/getsentry/sentry/pull/116301)","publishedAt":"2026-06-02T18:34:00.000Z","fetchedAt":"2026-06-02T19:01:06.444Z","url":"https://github.com/getsentry/sentry/releases/tag/26.5.2","media":[],"coverageCount":0},{"id":"rel_-3VU7tAc2FLf-ZwGGLeM1","version":"26.5.1","type":"feature","title":"26.5.1","summary":"### New Features ✨\n\n#### Apigw\n\n- Expose proxy latency metrics by target by @gi0baro in [#116086](https://github.com/getsentry/sentry/pull/116086)\n- A...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Apigw\n\n- Expose proxy latency metrics by target by @gi0baro in [#116086](https://github.com/getsentry/sentry/pull/116086)\n- Add non-orgid/slug endpoints to proxied cell requests by @gi0baro in [#115930](https://github.com/getsentry/sentry/pull/115930)\n\n#### Autofix\n\n- Allow non seat based seer to skip setup in [#116208](https://github.com/getsentry/sentry/pull/116208)\n- Switch inspection to single llm call using gemini flas… by @Zylphrex in [#116071](https://github.com/getsentry/sentry/pull/116071)\n- Autofix introspection analytics by @Zylphrex in [#115891](https://github.com/getsentry/sentry/pull/115891)\n- Add UI labels for missing AutofixReferrer values by @chromy in [#115655](https://github.com/getsentry/sentry/pull/115655)\n- Render line numbers in autofix evidence by @Zylphrex in [#115649](https://github.com/getsentry/sentry/pull/115649)\n\n#### Cells\n\n- Remove cross-org feature gating from notification settings by @lynnagara in [#115829](https://github.com/getsentry/sentry/pull/115829)\n- Add cell-routing mode to devservices by @lynnagara in [#115737](https://github.com/getsentry/sentry/pull/115737)\n\n#### Cmdk\n\n- Add Open in Production and Open in Development actions in [#116242](https://github.com/getsentry/sentry/pull/116242)\n- Freeze visible action list during keyboard navigation in [#115851](https://github.com/getsentry/sentry/pull/115851)\n- Add project search action to command palette by @JonasBa in [#115591](https://github.com/getsentry/sentry/pull/115591)\n\n#### Conversations\n\n- Add copy conversation as markdown button in [#116171](https://github.com/getsentry/sentry/pull/116171)\n- Swap badge from alpha to beta by @obostjancic in [#115712](https://github.com/getsentry/sentry/pull/115712)\n- Add Amplitude analytics to conversation pages by @obostjancic in [#115622](https://github.com/getsentry/sentry/pull/115622)\n\n#### Dashboards\n\n- Add span-first support for web vital dashboard in [#115882](https://github.com/getsentry/sentry/pull/115882)\n- Validate display type against dataset config by @DominikB2014 in [#115951](https://github.com/getsentry/sentry/pull/115951)\n- Require metric_unit in AI tracemetrics aggregates by @DominikB2014 in [#116101](https://github.com/getsentry/sentry/pull/116101)\n- Teach AI dashboard generator the tracemetrics aggregate format by @DominikB2014 in [#115480](https://github.com/getsentry/sentry/pull/115480)\n\n#### Explore\n\n- Heatmap tooltip trace links by @nikkikapadia in [#115925](https://github.com/getsentry/sentry/pull/115925)\n- Link to aggregates from dropdown by @nsdeschenes in [#115789](https://github.com/getsentry/sentry/pull/115789)\n- Add Heat Map widget to Explore metrics by @gggritso in [#115608](https://github.com/getsentry/sentry/pull/115608)\n\n#### Github Enterprise\n\n- Add frontend pipeline steps for GHE integration setup in [#114367](https://github.com/getsentry/sentry/pull/114367)\n- Add API-driven pipeline backend for GHE integration setup in [#114366](https://github.com/getsentry/sentry/pull/114366)\n- Allow github.com as a source for the GitHub Enterprise integration by @tnt-sentry in [#115599](https://github.com/getsentry/sentry/pull/115599)\n\n#### Issues\n\n- Bring back `SEER_PR_CREATED` activity creation and hide from timeline in [#116233](https://github.com/getsentry/sentry/pull/116233)\n- Two-column activity icons, colors by @scttcper in [#115958](https://github.com/getsentry/sentry/pull/115958)\n- Unify issue activity streams by @scttcper in [#115848](https://github.com/getsentry/sentry/pull/115848)\n- Add activity feed v2 flag by @scttcper in [#115966](https://github.com/getsentry/sentry/pull/115966)\n- Consolidate activity comment input by @scttcper in [#115824](https://github.com/getsentry/sentry/pull/115824)\n- Replace DebugMeta store with context by @scttcper in [#115842](https://github.com/getsentry/sentry/pull/115842)\n\n#### Low Value Spans\n\n- Add configuration issue UI in [#116271](https://github.com/getsentry/sentry/pull/116271)\n- Add Snuba referrer for detector by @vgrozdanic in [#115980](https://github.com/getsentry/sentry/pull/115980)\n- Add low-value span issue UI by @ArthurKnaus in [#115870](https://github.com/getsentry/sentry/pull/115870)\n- Add low-value span issue type by @ArthurKnaus in [#115868](https://github.com/getsentry/sentry/pull/115868)\n\n#### Onboarding\n\n- Link selected repository to project after creation by @wedamija in [#115761](https://github.com/getsentry/sentry/pull/115761)\n- Update Hono onboarding with `@sentry/hono` by @s1gr1d in [#115476](https://github.com/getsentry/sentry/pull/115476)\n\n#### Ourlogs\n\n- Reduce modal export rows limit to 10k by @JoshuaKGoldberg in [#116180](https://github.com/getsentry/sentry/pull/116180)\n- Show estimated total dataset size in needle-in-haystack searches by @JoshuaKGoldberg in [#115731](https://github.com/getsentry/sentry/pull/115731)\n- Implement pinned logs with sticky header (part 1) by @JoshuaKGoldberg in [#115102](https://github.com/getsentry/sentry/pull/115102)\n- Add 'Group by attribute' to log property context menu by @JoshuaKGoldberg in [#115420](https://github.com/getsentry/sentry/pull/115420)\n\n#### Preprod\n\n- Display snapshot image tags in card headers in [#115723](https://github.com/getsentry/sentry/pull/115723)\n- Display images_skipped in snapshot table by @NicoHinderling in [#116074](https://github.com/getsentry/sentry/pull/116074)\n- Add images_skipped to builds API response by @NicoHinderling in [#116073](https://github.com/getsentry/sentry/pull/116073)\n- Display skipped images in snapshots UI by @NicoHinderling in [#116041](https://github.com/getsentry/sentry/pull/116041)\n- Expose is_selective flag in snapshot details API response by @NicoHinderling in [#115832](https://github.com/getsentry/sentry/pull/115832)\n- Add Snapshot status check rules API by @cameroncooke in [#115621](https://github.com/getsentry/sentry/pull/115621)\n\n#### Search\n\n- Add recommended sort option to issue stream dropdown in [#116197](https://github.com/getsentry/sentry/pull/116197)\n- Surface recommended sort in UI when active via query param in [#116186](https://github.com/getsentry/sentry/pull/116186)\n- Register feature flag for recommended issue sort by @roggenkemper in [#116191](https://github.com/getsentry/sentry/pull/116191)\n\n#### Seer\n\n- Add structured LLM context for replay list and detail pages in [#116045](https://github.com/getsentry/sentry/pull/116045)\n- Always show action buttons in explorer chat blocks by @ChrisandraVaz in [#116049](https://github.com/getsentry/sentry/pull/116049)\n- Add bulk Seer project connected repos endpoint by @srest2021 in [#115942](https://github.com/getsentry/sentry/pull/115942)\n- Add Seer project connected repo endpoint by @srest2021 in [#115199](https://github.com/getsentry/sentry/pull/115199)\n- Add structured LLM context for explore logs trace route by @Mihir-Mavalankar in [#116036](https://github.com/getsentry/sentry/pull/116036)\n- Add CRUD helpers for Seer project repos by @srest2021 in [#115904](https://github.com/getsentry/sentry/pull/115904)\n- Add structured LLM context for issue detail sub-tabs by @Mihir-Mavalankar in [#115936](https://github.com/getsentry/sentry/pull/115936)\n- Add bulk-project Seer settings endpoint by @srest2021 in [#115234](https://github.com/getsentry/sentry/pull/115234)\n- Add helper for bulk updating Seer project settings by @srest2021 in [#115756](https://github.com/getsentry/sentry/pull/115756)\n- Scope /conversations slash command lookup with start/end/project by @chromy in [#115785](https://github.com/getsentry/sentry/pull/115785)\n- Add single-project Seer settings endpoint by @srest2021 in [#115230](https://github.com/getsentry/sentry/pull/115230)\n- Add SeerRun FK to SeerNightShiftRun by @trevor-e in [#115694](https://github.com/getsentry/sentry/pull/115694)\n- Add SeerWorkflowConfig model and link to night shift runs by @trevor-e in [#115615](https://github.com/getsentry/sentry/pull/115615)\n- Mirror last_triggered_at to SeerRun on autofix triggers by @trevor-e in [#115611](https://github.com/getsentry/sentry/pull/115611)\n\n#### Tracemetrics\n\n- Include equations in Add to Dashboard by @narsaynorath in [#116141](https://github.com/getsentry/sentry/pull/116141)\n- Convert equation alias to full equation for queries by @narsaynorath in [#116047](https://github.com/getsentry/sentry/pull/116047)\n- Open in Explore for metrics dashboard widgets by @narsaynorath in [#115805](https://github.com/getsentry/sentry/pull/115805)\n- Lazy load trace details per metric by @nsdeschenes in [#115066](https://github.com/getsentry/sentry/pull/115066)\n\n#### Webhooks\n\n- Add dry run check to sentry app webhook path in [#116265](https://github.com/getsentry/sentry/pull/116265)\n- Add payload validation during dual-write migration in [#116040](https://github.com/getsentry/sentry/pull/116040)\n- Add metrics for legacy webhook migration validation by @Christinarlong in [#116039](https://github.com/getsentry/sentry/pull/116039)\n- Wire new service with feature-flagged routing by @Christinarlong in [#115747](https://github.com/getsentry/sentry/pull/115747)\n- Add standalone legacy webhook service module by @Christinarlong in [#115688](https://github.com/getsentry/sentry/pull/115688)\n- Register legacy webhook migration feature flags by @Christinarlong in [#115669](https://github.com/getsentry/sentry/pull/115669)\n\n#### Other\n\n- (aci) Add sort param to workflow group history endpoint in [#116031](https://github.com/getsentry/sentry/pull/116031)\n- (alerts) Add cleanup task to NotificationMessage in [#116027](https://github.com/getsentry/sentry/pull/116027)\n- (amplitude) Track whether users are viewing sentry-built dashboards by @bcoe in [#116138](https://github.com/getsentry/sentry/pull/116138)\n- (api-docs) Publish project event details endpoint in [#116059](https://github.com/getsentry/sentry/pull/116059)\n- (apigateway) Add separated async `apigw` package by @gi0baro in [#115624](https://github.com/getsentry/sentry/pull/115624)\n- (button) Add `size` prop to `ButtonBar` via `SizeContext` by @natemoo-re in [#115728](https://github.com/getsentry/sentry/pull/115728)\n- (ci) Add merge_base_strategy tag to Jest CI runs by @ryan953 in [#115967](https://github.com/getsentry/sentry/pull/115967)\n- (data-forwarding) Enable retries for data forwarders via task dispatch by @leeandher in [#115511](https://github.com/getsentry/sentry/pull/115511)\n- (dev) Add SENTRY_CELL_ROUTING env var that runs cell-routing mode locally by @lynnagara in [#115852](https://github.com/getsentry/sentry/pull/115852)\n- (dynamic-sampling) Add per-project volume query in [#114286](https://github.com/getsentry/sentry/pull/114286)\n- (examples) Add task that produces by @bmckerry in [#115820](https://github.com/getsentry/sentry/pull/115820)\n- (explorer) Add query parameter to explorer-runs API by @JonasBa in [#115760](https://github.com/getsentry/sentry/pull/115760)\n- (integrations) Disable auth token creation button without perms by @cvxluo in [#115769](https://github.com/getsentry/sentry/pull/115769)\n- (markdown) Expose default components via `Default` prop by @natemoo-re in [#115745](https://github.com/getsentry/sentry/pull/115745)\n- (options) Add timing metric to options.get() by @kenzoengineer in [#115762](https://github.com/getsentry/sentry/pull/115762)\n- (profiling) Add task for taskbroker passthrough mode by @untitaker in [#115065](https://github.com/getsentry/sentry/pull/115065)\n- (repositories) Add project repo-link endpoint by @wedamija in [#115754](https://github.com/getsentry/sentry/pull/115754)\n- (routes) Add redirect from /snapshots/ to explore releases by @NicoHinderling in [#116053](https://github.com/getsentry/sentry/pull/116053)\n- (scm) Add streaming integration-proxy which accepts any 'Accepts' header value by @cmanallen in [#115917](https://github.com/getsentry/sentry/pull/115917)\n- (self-healing) Add support for seer activities in workflow engine by @saponifi3d in [#115933](https://github.com/getsentry/sentry/pull/115933)\n- (settings) Add 'Recent Error Events' column to project environments by @JoshuaKGoldberg in [#115902](https://github.com/getsentry/sentry/pull/115902)\n- (source-map-config-issues) Updating processing errors metric by @Abdkhan14 in [#115822](https://github.com/getsentry/sentry/pull/115822)\n- (spans) Add separate Redis cluster setting for span deduplication by @untitaker in [#116010](https://github.com/getsentry/sentry/pull/116010)\n- (trace-waterfall) Small tweaks to trace-waterfall tab by @nsdeschenes in [#115584](https://github.com/getsentry/sentry/pull/115584)\n- (ui) Add debug FeatureBadge variant by @chromy in [#116000](https://github.com/getsentry/sentry/pull/116000)\n- Flags and rpc for frontend code search tool by @shruthilayaj in [#116098](https://github.com/getsentry/sentry/pull/116098)\n- Add SENTRY_ALLOWED_IPS to allow IP, overwrite SENTRY_DISALLOWED… by @fe80 in [#115773](https://github.com/getsentry/sentry/pull/115773)\n- Add Relay measurements conversion feature by @loewenheim in [#115979](https://github.com/getsentry/sentry/pull/115979)\n- Track read options via seen logline by @joshuarli in [#115610](https://github.com/getsentry/sentry/pull/115610)\n- Add toggle to migrate to billing platform by @noahsmartin in [#115895](https://github.com/getsentry/sentry/pull/115895)\n\n### Bug Fixes 🐛\n\n#### Alerts\n\n- Handle gte/lte condition types in metric alert serializers by @kcons in [#115972](https://github.com/getsentry/sentry/pull/115972)\n- Update migration to not remove FK to group by @ceorourke in [#115932](https://github.com/getsentry/sentry/pull/115932)\n- Surface API error messages in create/update toasts by @malwilley in [#115894](https://github.com/getsentry/sentry/pull/115894)\n- Batch NotificationMessage delete metric alert rows by @ceorourke in [#115726](https://github.com/getsentry/sentry/pull/115726)\n\n#### Api\n\n- Correctly parse `full` parameter in project events endpoint in [#116216](https://github.com/getsentry/sentry/pull/116216)\n- Validate IDs in OrganizationGroupIndexEndpoint.delete by @kcons in [#115770](https://github.com/getsentry/sentry/pull/115770)\n\n#### Conversations\n\n- Restore side-by-side layout for platform option dropdown in [#116272](https://github.com/getsentry/sentry/pull/116272)\n- Improve tool badge rendering and overflow behavior by @obostjancic in [#115880](https://github.com/getsentry/sentry/pull/115880)\n- Improve truncation of non-UUID conversation IDs by @sentry-junior in [#115978](https://github.com/getsentry/sentry/pull/115978)\n\n#### Dashboards\n\n- Raise widget description limit to 350 by @DominikB2014 in [#116185](https://github.com/getsentry/sentry/pull/116185)\n- Propagate global filters in Open in Issues link by @DominikB2014 in [#116105](https://github.com/getsentry/sentry/pull/116105)\n- Stop widget header action clicks from bubbling by @skaasten in [#116096](https://github.com/getsentry/sentry/pull/116096)\n- Anchor Editors dropdown to the right edge of the trigger by @skaasten in [#116104](https://github.com/getsentry/sentry/pull/116104)\n- Reset table fields when switching from details widget by @DominikB2014 in [#115788](https://github.com/getsentry/sentry/pull/115788)\n- Prevent sticky navbar misalignment on scroll by @priscilawebdev in [#115716](https://github.com/getsentry/sentry/pull/115716)\n\n#### Discover\n\n- Add missing check for DiscoverSavedQueryVisitEndpoint in [#116187](https://github.com/getsentry/sentry/pull/116187)\n- Add org id to project filter by @nsdeschenes in [#116174](https://github.com/getsentry/sentry/pull/116174)\n\n#### Dynamic Sampling\n\n- Use the correct field name for dynamic sampling project id in [#116279](https://github.com/getsentry/sentry/pull/116279)\n- 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)\n\n#### Events\n\n- Debug param wasn't being passed down correctly in [#116152](https://github.com/getsentry/sentry/pull/116152)\n- Correctly parse full parameter in group hashes endpoint in [#116219](https://github.com/getsentry/sentry/pull/116219)\n\n#### Explore\n\n- Use unique ids for visuals in [#116204](https://github.com/getsentry/sentry/pull/116204)\n- Cross events date selector allow 7d anytime within 30 days by @nikkikapadia in [#116099](https://github.com/getsentry/sentry/pull/116099)\n- Increase strictness on URLs by @nsdeschenes in [#115881](https://github.com/getsentry/sentry/pull/115881)\n- Pymark fail on test for arrays in detail endpoint by @manessaraj in [#115828](https://github.com/getsentry/sentry/pull/115828)\n\n#### Integrations\n\n- Validate user-provided IDs in webhooks by @kcons in [#115910](https://github.com/getsentry/sentry/pull/115910)\n- Replace useIntegrationTabs with nuqs useQueryState by @ryan953 in [#115738](https://github.com/getsentry/sentry/pull/115738)\n\n#### Issues\n\n- Align collapsed activity row in [#116266](https://github.com/getsentry/sentry/pull/116266)\n- Fix undefined variable in `StreamGroupSerializerSnuba` feature flag check in [#116259](https://github.com/getsentry/sentry/pull/116259)\n- Move user serialization out of loop in ignored issues handler in [#116246](https://github.com/getsentry/sentry/pull/116246)\n- Fix sidebar comment box horizontal overflow in [#116209](https://github.com/getsentry/sentry/pull/116209)\n- Match short id when combined with filters in [#116153](https://github.com/getsentry/sentry/pull/116153)\n- Make GroupSearchViewPermission fail closed for unknown object types by @roggenkemper in [#116183](https://github.com/getsentry/sentry/pull/116183)\n- Provide correct value for `search.sort` SDK tag by @shashjar in [#116065](https://github.com/getsentry/sentry/pull/116065)\n- Use full URL for open link button in breadcrumb messages by @scttcper in [#115911](https://github.com/getsentry/sentry/pull/115911)\n- Enforce project access on event ID lookup endpoint by @oioki in [#115784](https://github.com/getsentry/sentry/pull/115784)\n- Stop double-emitting issue activities for Seer PR created by @shashjar in [#115749](https://github.com/getsentry/sentry/pull/115749)\n- Add int ID validation to a few endpoints by @kcons in [#115690](https://github.com/getsentry/sentry/pull/115690)\n- Search org members for note mentions by @scttcper in [#115614](https://github.com/getsentry/sentry/pull/115614)\n\n#### Metrics\n\n- Resolve flaky metrics tab tests in [#116280](https://github.com/getsentry/sentry/pull/116280)\n- Default to largest interval when using heatmaps visualization by @nikkikapadia in [#116129](https://github.com/getsentry/sentry/pull/116129)\n\n#### Monitors\n\n- Surface schedule config errors on cron form fields by @malwilley in [#116016](https://github.com/getsentry/sentry/pull/116016)\n- Add tooltip for disabled project in edits by @JoshuaKGoldberg in [#115931](https://github.com/getsentry/sentry/pull/115931)\n\n#### Onboarding\n\n- Remove broken aria-label from RadioGroup radio inputs by @scttcper in [#116032](https://github.com/getsentry/sentry/pull/116032)\n- Include shared feedback for Hono onbarding by @s1gr1d in [#115721](https://github.com/getsentry/sentry/pull/115721)\n\n#### Perforce\n\n- Update onboarding frontend for Unicode support by @mujacica in [#116005](https://github.com/getsentry/sentry/pull/116005)\n- Support Unicode Perforce server connections by @mujacica in [#115775](https://github.com/getsentry/sentry/pull/115775)\n\n#### Preprod\n\n- Reduce snapshot download concurrency to prevent stream failures in [#116267](https://github.com/getsentry/sentry/pull/116267)\n- Reapply \"Include image key and field path in snapshot validation errors\" by @runningcode in [#115987](https://github.com/getsentry/sentry/pull/115987)\n- Remove native lazy loading from LazyImage component by @NicoHinderling in [#115922](https://github.com/getsentry/sentry/pull/115922)\n- Eliminate race condition in snapshot status check posting by @NicoHinderling in [#115650](https://github.com/getsentry/sentry/pull/115650)\n- Skip strict jsonschema for snapshot image metadata by @runningcode in [#115720](https://github.com/getsentry/sentry/pull/115720)\n- Restore extra field passthrough in snapshot image responses by @NicoHinderling in [#115658](https://github.com/getsentry/sentry/pull/115658)\n- Change snapshot image tags from list to dict by @NicoHinderling in [#115643](https://github.com/getsentry/sentry/pull/115643)\n\n#### Replays\n\n- Shrink timeline hover timestamp in [#116268](https://github.com/getsentry/sentry/pull/116268)\n- Remove timeline icon z-index workaround in [#116255](https://github.com/getsentry/sentry/pull/116255)\n- Remove extra padding from BodyGrid in replayLayout by @sentry-junior in [#116156](https://github.com/getsentry/sentry/pull/116156)\n- Disable breadcrumbs autoscroll on user scroll by @JoshuaKGoldberg in [#115914](https://github.com/getsentry/sentry/pull/115914)\n- Correct query invalidation on refresh by @JoshuaKGoldberg in [#115629](https://github.com/getsentry/sentry/pull/115629)\n- Allow org admins to bulk delete replays by @jameskeane in [#115886](https://github.com/getsentry/sentry/pull/115886)\n- Make link copy button accessible and non-variable width by @JoshuaKGoldberg in [#115598](https://github.com/getsentry/sentry/pull/115598)\n\n#### Search\n\n- Prevent Ask AI from doubling pasted query text in [#116050](https://github.com/getsentry/sentry/pull/116050)\n- Hide size limit prompt while filtering by @nsdeschenes in [#115816](https://github.com/getsentry/sentry/pull/115816)\n\n#### Seer\n\n- Sort autofix project table by slug instead of name by @mrduncan in [#115642](https://github.com/getsentry/sentry/pull/115642)\n- Keep repo loading indicator active by @scttcper in [#115854](https://github.com/getsentry/sentry/pull/115854)\n- Pass issue short ID to coding agents by @JoshFerge in [#115838](https://github.com/getsentry/sentry/pull/115838)\n- Make ToolResult.content optional to prevent Pydantic validation error by @sentry in [#115630](https://github.com/getsentry/sentry/pull/115630)\n\n#### Settings\n\n- Fix CI permission checkbox not reflecting state by @scttcper in [#116055](https://github.com/getsentry/sentry/pull/116055)\n- Restore title on accept-invite and accept-transfer pages by @natemoo-re in [#116013](https://github.com/getsentry/sentry/pull/116013)\n- Fix Seer drawer stopping point not changing on mutate from \"No Automation\" by @srest2021 in [#115847](https://github.com/getsentry/sentry/pull/115847)\n\n#### Snapshots\n\n- Add instrumentation logging to snapshot download stream in [#116079](https://github.com/getsentry/sentry/pull/116079)\n- Add timeout override for snapshot download in emmett gateway by @NicoHinderling in [#116078](https://github.com/getsentry/sentry/pull/116078)\n\n#### Tests\n\n- Don't include trace context in symbolicator snapshots in [#116275](https://github.com/getsentry/sentry/pull/116275)\n- Use findByRole for async options in opJsonPath.spec.tsx by @sentry in [#115645](https://github.com/getsentry/sentry/pull/115645)\n- Correct monitor form crontab test with fireEvent by @sentry in [#115644](https://github.com/getsentry/sentry/pull/115644)\n- Update staleTime and add default mocks for external issue tests by @sentry in [#115646](https://github.com/getsentry/sentry/pull/115646)\n\n#### Tracemetrics\n\n- Use equation alias format for widget builder in [#116213](https://github.com/getsentry/sentry/pull/116213)\n- Expand selector dropdown menu width to 100% by @narsaynorath in [#116026](https://github.com/getsentry/sentry/pull/116026)\n- Drop placeholder unit and always use none by @narsaynorath in [#116007](https://github.com/getsentry/sentry/pull/116007)\n- Pass project and env in request filters for filter by @narsaynorath in [#115920](https://github.com/getsentry/sentry/pull/115920)\n\n#### Ui\n\n- Add inset focus ring to SimpleTable header cells in [#116276](https://github.com/getsentry/sentry/pull/116276)\n- Increase dropdown z-index to appear above sidebar by @jameskeane in [#116139](https://github.com/getsentry/sentry/pull/116139)\n- Add self signed package to support https by @scttcper in [#115941](https://github.com/getsentry/sentry/pull/115941)\n\n#### Workflow Engine\n\n- Sanitize corrupted dynamic_form_fields choice labels by @malwilley in [#115855](https://github.com/getsentry/sentry/pull/115855)\n- Normalize error.handled values to 0/1 by @kcons in [#115740](https://github.com/getsentry/sentry/pull/115740)\n\n#### Other\n\n- (a11y) Add missing alt attributes to context icons and feedback images by @sentry-junior in [#115772](https://github.com/getsentry/sentry/pull/115772)\n- (agents) Use minVersion in SDK update alert for consistency by @obostjancic in [#115714](https://github.com/getsentry/sentry/pull/115714)\n- (api-docs) Correct event/replay/processing-error ID schemas in [#116201](https://github.com/getsentry/sentry/pull/116201)\n- (apigw) Disable asyncpg statement cache (issues with pgbouncer) by @gi0baro in [#115992](https://github.com/getsentry/sentry/pull/115992)\n- (attachments) Infer MIME type from filename when stored as octet-stream by @sentry-junior in [#115977](https://github.com/getsentry/sentry/pull/115977)\n- (auth) Verify primary email on password reset by @michelletran-sentry in [#115651](https://github.com/getsentry/sentry/pull/115651)\n- (autofix) Prevent loading spinner clip in artifact loading card by @priscilawebdev in [#115988](https://github.com/getsentry/sentry/pull/115988)\n- (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)\n- (code-mapping) Update codeowners GET endpoint and tests in [#116309](https://github.com/getsentry/sentry/pull/116309)\n- (codeblock) Improve nested scroll by @natemoo-re in [#115839](https://github.com/getsentry/sentry/pull/115839)\n- (crons) De-flake \"prefills with an existing monitor\" test by @priscilawebdev in [#115782](https://github.com/getsentry/sentry/pull/115782)\n- (cross-events) Correct styling based off date selection by @nsdeschenes in [#116124](https://github.com/getsentry/sentry/pull/116124)\n- (cursored-scheduler) Recalculate batch size on tick interval change by @roggenkemper in [#115888](https://github.com/getsentry/sentry/pull/115888)\n- (data_export) Cap export row limit at 10k for all callers by @manessaraj in [#116048](https://github.com/getsentry/sentry/pull/116048)\n- (escalating) Register issue_velocity referrer in Referrer enum by @cvxluo in [#115812](https://github.com/getsentry/sentry/pull/115812)\n- (feedback) Downgrade log level for insufficient feedback count in [#116247](https://github.com/getsentry/sentry/pull/116247)\n- (forms) Preserve choice value types when submitting sentry app forms by @priscilawebdev in [#115869](https://github.com/getsentry/sentry/pull/115869)\n- (grouping) Parameterize error message fingerprint variables by @lobsterkatie in [#115496](https://github.com/getsentry/sentry/pull/115496)\n- (issue search) Fix invalid search query error message for device classes in [#116243](https://github.com/getsentry/sentry/pull/116243)\n- (issue-detection) Add plural KBLayouts_iPhone.dat to FileIO ignore list by @roggenkemper in [#116182](https://github.com/getsentry/sentry/pull/116182)\n- (jira) Bind JWT iss to body clientKey on install webhook by @michelletran-sentry in [#114225](https://github.com/getsentry/sentry/pull/114225)\n- (kafkapublisher) Leaks memory: rdkafka stats grow without poll() in [#116123](https://github.com/getsentry/sentry/pull/116123)\n- (members) Scope invite-request role updates to caller's allowed roles by @oioki in [#115807](https://github.com/getsentry/sentry/pull/115807)\n- (migrations) Get rid of progress bar by @ceorourke in [#115691](https://github.com/getsentry/sentry/pull/115691)\n- (mypy) Fix import location by @kcons in [#115654](https://github.com/getsentry/sentry/pull/115654)\n- (ourlogs) Reset column sort to default on third click by @JoshuaKGoldberg in [#115751](https://github.com/getsentry/sentry/pull/115751)\n- (pageFilters) Clear shift-click anchor on empty selection by @priscilawebdev in [#115472](https://github.com/getsentry/sentry/pull/115472)\n- (profiles) Indicate invalid page URL state as error by @JoshuaKGoldberg in [#115897](https://github.com/getsentry/sentry/pull/115897)\n- (profiling) Render single-sample continuous profile chunks in [#116234](https://github.com/getsentry/sentry/pull/116234)\n- (rate-limit) Tighten rate limits on test notification endpoints by @nora-shap in [#115613](https://github.com/getsentry/sentry/pull/115613)\n- (ratelimits) Handle AnonymousUser missing is_sentry_app attribute in [#116251](https://github.com/getsentry/sentry/pull/116251)\n- (relay) Make trustedRelays optional on Organization type by @TkDodo in [#116014](https://github.com/getsentry/sentry/pull/116014)\n- (releases) Pass Environment objects to get_latest_release by @mrduncan in [#115637](https://github.com/getsentry/sentry/pull/115637)\n- (repositories) Fix deletion ordering for ProjectRepository children by @wedamija in [#115739](https://github.com/getsentry/sentry/pull/115739)\n- (security) Add project-level access check to GroupEventJsonView by @roggenkemper in [#116184](https://github.com/getsentry/sentry/pull/116184)\n- (self-hosted) Avoid install wizard mail TLS/SSL immutable errors by @aldy505 in [#114011](https://github.com/getsentry/sentry/pull/114011)\n- (static) Add missing nonce attribute on app.js preload link by @oioki in [#115984](https://github.com/getsentry/sentry/pull/115984)\n- (supergroups) Move to post process task in [#116195](https://github.com/getsentry/sentry/pull/116195)\n- (tabs) Stop tooltips in overflowMenuItems from crashing the page by @TkDodo in [#115993](https://github.com/getsentry/sentry/pull/115993)\n- (traces) Handle deleted groups in trace endpoint in [#116248](https://github.com/getsentry/sentry/pull/116248)\n- (web) Redirect /scraps to stories by @priscilawebdev in [#115776](https://github.com/getsentry/sentry/pull/115776)\n- (webauthn) Handle missing WebAuthn challenge data in [#116167](https://github.com/getsentry/sentry/pull/116167)\n- (webhooks) Route sentry app actions through send_alert_webhook_v2 in new path in [#115975](https://github.com/getsentry/sentry/pull/115975)\n- (workflow) Use Group cache in get_group_to_groupevent by @kcons in [#115960](https://github.com/getsentry/sentry/pull/115960)\n- (workflows) Filter out workflows from other organizations in [#116075](https://github.com/getsentry/sentry/pull/116075)\n- Add catch-all path to explore route and redirect to index by @adrianviquez in [#116066](https://github.com/getsentry/sentry/pull/116066)\n- Revert \"fix(ourlogs): stabilized column widths during scrolling (#115389)\" by @getsentry-bot in [84d0139e](https://github.com/getsentry/sentry/commit/84d0139e1cc325da0c0e75380bc7dc3099c5f400)\n\n### Documentation 📚\n\n- (replays) Fix OpenAPI schema/example for replay details response by @JoshFerge in [#115752](https://github.com/getsentry/sentry/pull/115752)\n- (scraps) Render to HTML pattern by @natemoo-re in [#115943](https://github.com/getsentry/sentry/pull/115943)\n- (snapshots) Add public OpenAPI documentation for snapshot endpoints in [#116231](https://github.com/getsentry/sentry/pull/116231)\n\n### Internal Changes 🔧\n\n#### Admin\n\n- Migrate forkCustomer off browserHistory by @evanpurkhiser in [#115915](https://github.com/getsentry/sentry/pull/115915)\n- Drop browserHistory and HOCs from ResultGrid by @evanpurkhiser in [#115908](https://github.com/getsentry/sentry/pull/115908)\n\n#### Alerts\n\n- Clean up usage of AlertRuleSerializerResponse in [#116218](https://github.com/getsentry/sentry/pull/116218)\n- Remove AlertRuleSerializer in [#116052](https://github.com/getsentry/sentry/pull/116052)\n- Remove PUT and POST legacy paths for metric alerts by @ceorourke in [#116017](https://github.com/getsentry/sentry/pull/116017)\n- Fully remove metric alert columns on NotificationMessage by @ceorourke in [#116025](https://github.com/getsentry/sentry/pull/116025)\n- Remove legacy issue alert delete endpoint code by @ceorourke in [#115954](https://github.com/getsentry/sentry/pull/115954)\n- Add index on date_added, soft remove metric alert colu… by @ceorourke in [#115823](https://github.com/getsentry/sentry/pull/115823)\n- Remove legacy issue alert GET endpoint code by @ceorourke in [#115948](https://github.com/getsentry/sentry/pull/115948)\n- Migrate issue rule editor off browserHistory by @evanpurkhiser in [#115924](https://github.com/getsentry/sentry/pull/115924)\n- Remove legacy metric alerts code by @ceorourke in [#115865](https://github.com/getsentry/sentry/pull/115865)\n- Remove incident serializer usages by @ceorourke in [#115845](https://github.com/getsentry/sentry/pull/115845)\n- Remove legacy metric alert handlers by @ceorourke in [#115850](https://github.com/getsentry/sentry/pull/115850)\n- Remove metric alert columns on NotificationMessage by @ceorourke in [#115578](https://github.com/getsentry/sentry/pull/115578)\n- Replace AlertStore with GlobalAlertProvider + useGlobalAlerts by @evanpurkhiser in [#115315](https://github.com/getsentry/sentry/pull/115315)\n- Clean up old metric alert rows in NotificationMessage by @ceorourke in [#115647](https://github.com/getsentry/sentry/pull/115647)\n- Remove unused team alerts endpoints by @ceorourke in [#115339](https://github.com/getsentry/sentry/pull/115339)\n- Remove team alerts triggered modal by @ceorourke in [#115336](https://github.com/getsentry/sentry/pull/115336)\n\n#### Api\n\n- Type nullable fields in the base group serializer by @cvxluo in [#116068](https://github.com/getsentry/sentry/pull/116068)\n- Move `GroupEventDetailsResponse` to event serializer module by @cvxluo in [#116058](https://github.com/getsentry/sentry/pull/116058)\n- Resolve suggested_api from Django route names by @strongs in [#115907](https://github.com/getsentry/sentry/pull/115907)\n- Migrate auth-error navigation off browserHistory by @evanpurkhiser in [#115935](https://github.com/getsentry/sentry/pull/115935)\n- Move to_valid_int_id to a more central location by @kcons in [#115581](https://github.com/getsentry/sentry/pull/115581)\n\n#### Apigw\n\n- Add `abort_with_json` as an util, allow config httpx client limits by @gi0baro in [#116037](https://github.com/getsentry/sentry/pull/116037)\n- Enhance proxy implementation by @gi0baro in [#115892](https://github.com/getsentry/sentry/pull/115892)\n\n#### Autofix\n\n- Remove SCM requirement from autofix in [#116206](https://github.com/getsentry/sentry/pull/116206)\n- Remove legacy autofix path from GroupAutofixEndpoint by @chromy in [#116164](https://github.com/getsentry/sentry/pull/116164)\n- Always use explorer mode in GroupAutofixEndpoint by @chromy in [#116162](https://github.com/getsentry/sentry/pull/116162)\n- Remove old useAutofixData hook by @Zylphrex in [#116103](https://github.com/getsentry/sentry/pull/116103)\n- Remove intelligence level from group ai autofix endpoint by @Zylphrex in [#116145](https://github.com/getsentry/sentry/pull/116145)\n- Add log for autofix introspection reason by @Zylphrex in [#116132](https://github.com/getsentry/sentry/pull/116132)\n- Remove unused autofix v1 UI by @Zylphrex in [#116100](https://github.com/getsentry/sentry/pull/116100)\n- Use new Markdown primitive in v3 cards by @priscilawebdev in [#115879](https://github.com/getsentry/sentry/pull/115879)\n- Check repo connected before starting autofix by @Zylphrex in [#115648](https://github.com/getsentry/sentry/pull/115648)\n\n#### Conversations\n\n- Adopt scraps primitives for 4 wrappers by @priscilawebdev in [#116082](https://github.com/getsentry/sentry/pull/116082)\n- Default to 24h period in sidebar link by @obostjancic in [#115873](https://github.com/getsentry/sentry/pull/115873)\n\n#### Dashboards\n\n- Remove text widget flag defintion in [#116212](https://github.com/getsentry/sentry/pull/116212)\n- Remove text widget flag references frontend in [#116210](https://github.com/getsentry/sentry/pull/116210)\n- Remove text widget flag references backend in [#116207](https://github.com/getsentry/sentry/pull/116207)\n- Migrate utils.tsx off browserHistory by @evanpurkhiser in [#115923](https://github.com/getsentry/sentry/pull/115923)\n- Migrate detail.tsx off browserHistory to useNavigate by @evanpurkhiser in [#115903](https://github.com/getsentry/sentry/pull/115903)\n\n#### Discover\n\n- Migrate fieldRenderers off browserHistory by @evanpurkhiser in [#115938](https://github.com/getsentry/sentry/pull/115938)\n- Migrate transactionsList off browserHistory by @evanpurkhiser in [#115926](https://github.com/getsentry/sentry/pull/115926)\n- Migrate queryList off browserHistory by @evanpurkhiser in [#115913](https://github.com/getsentry/sentry/pull/115913)\n- Migrate savedQuery off browserHistory by @evanpurkhiser in [#115912](https://github.com/getsentry/sentry/pull/115912)\n- Migrate results.tsx off browserHistory by @evanpurkhiser in [#115909](https://github.com/getsentry/sentry/pull/115909)\n\n#### Dynamic Sampling\n\n- In per org pipeline, retrieve the project ids in config retrieval, just once by @shellmayr in [#115983](https://github.com/getsentry/sentry/pull/115983)\n- Use already queried data when computing boosted release platform by @cmanallen in [#115792](https://github.com/getsentry/sentry/pull/115792)\n- Rename dynamic sampling status enum by @shellmayr in [#115360](https://github.com/getsentry/sentry/pull/115360)\n- Cleanup transaction based health check rule by @shellmayr in [#115471](https://github.com/getsentry/sentry/pull/115471)\n- Add status for snuba timeouts by @shellmayr in [#115359](https://github.com/getsentry/sentry/pull/115359)\n\n#### Eslint\n\n- Turn on no-unsafe-member-access for scraps in [#116004](https://github.com/getsentry/sentry/pull/116004)\n- Add curly rule to prettier config section by @sentry-junior in [#116158](https://github.com/getsentry/sentry/pull/116158)\n- Enable no-unsafe-call for scraps by @TkDodo in [#115981](https://github.com/getsentry/sentry/pull/115981)\n- Enable no-unsafe-arguments in scraps by @TkDodo in [#115877](https://github.com/getsentry/sentry/pull/115877)\n- Enable no-unsafe-return for scraps by @TkDodo in [#115722](https://github.com/getsentry/sentry/pull/115722)\n\n#### Flags\n\n- Remove organizations:dashboards-drilldown-flow in [#115670](https://github.com/getsentry/sentry/pull/115670)\n- Remove organizations:scoped-partner-oauth by @wedamija in [#115675](https://github.com/getsentry/sentry/pull/115675)\n- Remove organizations:dashboards-import by @wedamija in [#115671](https://github.com/getsentry/sentry/pull/115671)\n- Remove organizations:revoke-org-auth-on-slug-rename by @wedamija in [#114807](https://github.com/getsentry/sentry/pull/114807)\n- Remove organizations:tracemetrics-alerts gates (backend) by @wedamija in [#115019](https://github.com/getsentry/sentry/pull/115019)\n- Remove organizations:workflow-engine-metric-alert-group-by-creation by @wedamija in [#114805](https://github.com/getsentry/sentry/pull/114805)\n- 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)\n- Remove organizations:tracemetrics-alerts gates (frontend) by @wedamija in [#115018](https://github.com/getsentry/sentry/pull/115018)\n- Remove organizations:performance-mep-reintroduce-histograms by @wedamija in [#115674](https://github.com/getsentry/sentry/pull/115674)\n- Remove organizations:ingest-through-trusted-relays-only by @wedamija in [#115682](https://github.com/getsentry/sentry/pull/115682)\n- Remove organizations:pr-page by @wedamija in [#115686](https://github.com/getsentry/sentry/pull/115686)\n- Remove organizations:performance-remove-metrics-compatibility-fallback by @wedamija in [#115684](https://github.com/getsentry/sentry/pull/115684)\n- Remove organizations:performance-transaction-name-only-search by @wedamija in [#115685](https://github.com/getsentry/sentry/pull/115685)\n- Remove organizations:starfish-mobile-ui-module by @wedamija in [#115687](https://github.com/getsentry/sentry/pull/115687)\n- Move organizations:init-sentry-toolbar to permanent by @wedamija in [#115862](https://github.com/getsentry/sentry/pull/115862)\n- Remove organizations:on-demand-metrics-extraction-experimental by @wedamija in [#115683](https://github.com/getsentry/sentry/pull/115683)\n- Remove organizations:view-hierarchies-options-dev by @wedamija in [#115678](https://github.com/getsentry/sentry/pull/115678)\n- Remove organizations:issues-suspect-tags by @wedamija in [#115680](https://github.com/getsentry/sentry/pull/115680)\n- Remove organizations:performance-spans-fields-stats by @wedamija in [#115679](https://github.com/getsentry/sentry/pull/115679)\n- Remove organizations:update-action-status by @wedamija in [#115676](https://github.com/getsentry/sentry/pull/115676)\n- Remove organizations:sentry-app-webhook-requests by @wedamija in [#114813](https://github.com/getsentry/sentry/pull/114813)\n\n#### Forms\n\n- Migrate projectFiltersSettings to scraps form system by @TkDodo in [#115783](https://github.com/getsentry/sentry/pull/115783)\n- Migrate highlights settings by @priscilawebdev in [#115778](https://github.com/getsentry/sentry/pull/115778)\n- Migrate early features settings by @priscilawebdev in [#115777](https://github.com/getsentry/sentry/pull/115777)\n- Migrate keyRateLimitsForm off legacy Form by @priscilawebdev in [#115265](https://github.com/getsentry/sentry/pull/115265)\n- Migrate addCodeOwnerModal off legacy Form by @priscilawebdev in [#115256](https://github.com/getsentry/sentry/pull/115256)\n\n#### Instrumentation Issues\n\n- Remove issue type config and types by @ArthurKnaus in [#115718](https://github.com/getsentry/sentry/pull/115718)\n- Remove fix section UI by @ArthurKnaus in [#115717](https://github.com/getsentry/sentry/pull/115717)\n- Remove nav entries and route by @ArthurKnaus in [#115715](https://github.com/getsentry/sentry/pull/115715)\n\n#### Issues\n\n- Use standard logging pattern in group details endpoint in [#116262](https://github.com/getsentry/sentry/pull/116262)\n- Remove redundant check on `event_id` in [#116261](https://github.com/getsentry/sentry/pull/116261)\n- Indicate duration when \"Since First Seen\" is selected in [#115533](https://github.com/getsentry/sentry/pull/115533)\n- Remove grouping store by @scttcper in [#115970](https://github.com/getsentry/sentry/pull/115970)\n- Remove the option gating custom tag resolver logic by @shashjar in [#116024](https://github.com/getsentry/sentry/pull/116024)\n- Add multiple property to select field schema by @amy-chen23 in [#115814](https://github.com/getsentry/sentry/pull/115814)\n- Prevent assigning issues to deactivated users by @amy-chen23 in [#115668](https://github.com/getsentry/sentry/pull/115668)\n- Update frontend types after removing unnecessary issue activity metadata for Seer actions by @shashjar in [#115734](https://github.com/getsentry/sentry/pull/115734)\n- Remove unnecessary structured metadata under issue activities for Seer actions by @shashjar in [#115732](https://github.com/getsentry/sentry/pull/115732)\n- Remove stray `use_flagpole_for_all_features` usage by @lobsterkatie in [#115537](https://github.com/getsentry/sentry/pull/115537)\n\n#### Jest\n\n- Mark flaky jest tests - 2026-05-25 by @cursor in [#116121](https://github.com/getsentry/sentry/pull/116121)\n- Mark flaky jest tests - 2026-05-18 by @cursor in [#115729](https://github.com/getsentry/sentry/pull/115729)\n\n#### Onboarding\n\n- Convert CreateSampleEventButton to functional component by @ryan953 in [#115830](https://github.com/getsentry/sentry/pull/115830)\n- Adopt useModal in onboarding flows by @evanpurkhiser in [#115127](https://github.com/getsentry/sentry/pull/115127)\n\n#### Ourlogs\n\n- Remove `expanded` and window virtualizer from LogsInfiniteTable by @JoshuaKGoldberg in [#115884](https://github.com/getsentry/sentry/pull/115884)\n- Remove ourlogs-table-expando flag backend code by @JoshuaKGoldberg in [#115794](https://github.com/getsentry/sentry/pull/115794)\n- Remove ourlogs-table-expando flag frontend code by @JoshuaKGoldberg in [#115793](https://github.com/getsentry/sentry/pull/115793)\n\n#### Preprod\n\n- Simplify project filtering in latest base snapshot endpoint in [#116237](https://github.com/getsentry/sentry/pull/116237)\n- Optimize snapshot download with connection reuse and progressive streaming by @NicoHinderling in [#116051](https://github.com/getsentry/sentry/pull/116051)\n- Use TimeToIdle instead of TimeToLive for upload expiration by @NicoHinderling in [#116033](https://github.com/getsentry/sentry/pull/116033)\n- Virtualize snapshot sidebar for 40k image builds by @NicoHinderling in [#115836](https://github.com/getsentry/sentry/pull/115836)\n- Replace snapshot status badges with plain text by @mtopo27 in [#115659](https://github.com/getsentry/sentry/pull/115659)\n- Remove deprecated snapshot detail TS types and update debug modal by @mtopo27 in [#115653](https://github.com/getsentry/sentry/pull/115653)\n- Remove deprecated comparison_run_info and approval_info from snapshot detail API by @mtopo27 in [#115652](https://github.com/getsentry/sentry/pull/115652)\n\n#### Replays\n\n- Remove unused data export notifications endpoint in [#116232](https://github.com/getsentry/sentry/pull/116232)\n- Replace useFetchSequentialPages with useInfiniteQuery by @ryan953 in [#116115](https://github.com/getsentry/sentry/pull/116115)\n- Use shared platform icon resolver by @priscilawebdev in [#115705](https://github.com/getsentry/sentry/pull/115705)\n\n#### Repositories\n\n- Simplify ProjectRepoLink serializer and make url better by @wedamija in [#115826](https://github.com/getsentry/sentry/pull/115826)\n- Drop old project/repository columns by @wedamija in [#115741](https://github.com/getsentry/sentry/pull/115741)\n- Remove `project` and `repo` columns from `SeerProjectRepository` and `RepositoryProjectPathConfig` by @wedamija in [#115663](https://github.com/getsentry/sentry/pull/115663)\n- Add unique index on `repository_project` columns by @wedamija in [#115662](https://github.com/getsentry/sentry/pull/115662)\n- Remove feature flag branching for RepositoryProjectPathConfig reads by @wedamija in [#115607](https://github.com/getsentry/sentry/pull/115607)\n- Remove feature flag branching for SeerProjectRepository reads by @wedamija in [#115606](https://github.com/getsentry/sentry/pull/115606)\n\n#### Scm\n\n- Merge integration-proxy endpoints by @cmanallen in [#116028](https://github.com/getsentry/sentry/pull/116028)\n- Add quota policy for GitHub API requests by @cmanallen in [#115657](https://github.com/getsentry/sentry/pull/115657)\n\n#### Seer\n\n- Move agent access check from entrypoint to operator in [#116143](https://github.com/getsentry/sentry/pull/116143)\n- Use `elif` instead of `if` in actionability filter logic for clarity in [#116203](https://github.com/getsentry/sentry/pull/116203)\n- Remove seer-slack-workflows and seer-slack-explorer flags in [#116140](https://github.com/getsentry/sentry/pull/116140)\n- Simplify block component states by @natemoo-re in [#115589](https://github.com/getsentry/sentry/pull/115589)\n- Persist Seer Explorer input draft per run by @aliu39 in [#115919](https://github.com/getsentry/sentry/pull/115919)\n- Replace chat history dropdown with searchable CompactSelect by @JonasBa in [#115843](https://github.com/getsentry/sentry/pull/115843)\n- Rm severity group-seer option by @kddubey in [#115768](https://github.com/getsentry/sentry/pull/115768)\n- Rm severity conditional routing by @kddubey in [#115765](https://github.com/getsentry/sentry/pull/115765)\n- Option to route severity to group-seer by @kddubey in [#115702](https://github.com/getsentry/sentry/pull/115702)\n\n#### Settings\n\n- Update `action` prop and remove `hasPageFrame` by @natemoo-re in [#115815](https://github.com/getsentry/sentry/pull/115815)\n- Update breadcrumbTitle spec for routes prop removal by @ryan953 in [#115866](https://github.com/getsentry/sentry/pull/115866)\n- Move routes from prop to useRoutes() in BreadcrumbTitle by @ryan953 in [#115766](https://github.com/getsentry/sentry/pull/115766)\n- Convert OrganizationAccessRequests to function component with fetchMutation by @ryan953 in [#115813](https://github.com/getsentry/sentry/pull/115813)\n- Replace billing navigation config with a react-hook by @evanpurkhiser in [#115808](https://github.com/getsentry/sentry/pull/115808)\n\n#### Slack\n\n- Remove widget unfurl feature flags by @DominikB2014 in [#116128](https://github.com/getsentry/sentry/pull/116128)\n- Move ephemeral message sending to workspace module by @leeandher in [#115586](https://github.com/getsentry/sentry/pull/115586)\n\n#### Snuba\n\n- Port query subscriptions consumer to taskbroker raw mode in [#116288](https://github.com/getsentry/sentry/pull/116288)\n- Update tests for removal of boolean double-writing in [#111421](https://github.com/getsentry/sentry/pull/111421)\n- Stop dropping deprecated spans dataset in reset_snuba by @phacops in [#115973](https://github.com/getsentry/sentry/pull/115973)\n- Add exception type for snuba timeouts by @shellmayr in [#115362](https://github.com/getsentry/sentry/pull/115362)\n\n#### Spans\n\n- Remove tests for deprecated standalone spans storage in [#116147](https://github.com/getsentry/sentry/pull/116147)\n- Extract flush_segment pipeline helpers by @lvthanh03 in [#116149](https://github.com/getsentry/sentry/pull/116149)\n- Split load_segment_data into helper steps by @lvthanh03 in [#116136](https://github.com/getsentry/sentry/pull/116136)\n- Split process_spans into typed pipeline steps by @lvthanh03 in [#115858](https://github.com/getsentry/sentry/pull/115858)\n- Add back cumulative flusher log and flushed segments log by @lvthanh03 in [#116015](https://github.com/getsentry/sentry/pull/116015)\n- Extract span buffer observability models by @lvthanh03 in [#115849](https://github.com/getsentry/sentry/pull/115849)\n- Remove unused dropped_segments logic and zrem cleanup option by @lvthanh03 in [#115806](https://github.com/getsentry/sentry/pull/115806)\n- Add isolated load segment data coverage by @lvthanh03 in [#115804](https://github.com/getsentry/sentry/pull/115804)\n- Add add-buffer Lua script tests by @lvthanh03 in [#115801](https://github.com/getsentry/sentry/pull/115801)\n\n#### Ts\n\n- Remove RouteComponent by @evanpurkhiser in [#115999](https://github.com/getsentry/sentry/pull/115999)\n- Remove unused RouteContextInterface type by @evanpurkhiser in [#115996](https://github.com/getsentry/sentry/pull/115996)\n\n#### Typing\n\n- Remove `tests.sentry.api.helpers.test_group_index` from mypy ignore list in [#116199](https://github.com/getsentry/sentry/pull/116199)\n- Remove `tests.sentry.issues.test_utils` from mypy ignore list in [#116070](https://github.com/getsentry/sentry/pull/116070)\n\n#### Utils\n\n- Make ParityChecker print out mismatches in a PII safe way in [#116038](https://github.com/getsentry/sentry/pull/116038)\n- Various clarifications in `SafeRolloutComparator` code in [#115946](https://github.com/getsentry/sentry/pull/115946)\n\n#### Workflow Engine\n\n- Remove unused const in [#116230](https://github.com/getsentry/sentry/pull/116230)\n- Edit flag with the correct prefix in [#116198](https://github.com/getsentry/sentry/pull/116198)\n\n#### Other\n\n- (✂️) Remove form leftovers by @TkDodo in [#115724](https://github.com/getsentry/sentry/pull/115724)\n- (aci) Minor cleanup to delayed workflow processing by @saponifi3d in [#115758](https://github.com/getsentry/sentry/pull/115758)\n- (activity) Remove duplicate call to calculate initial priority from group metadata by @shashjar in [#116067](https://github.com/getsentry/sentry/pull/116067)\n- (api-docs) Add GroupDetailsResponse type, params, and example in [#116113](https://github.com/getsentry/sentry/pull/116113)\n- (autopilot) Delete autopilot module and all references by @vgrozdanic in [#115466](https://github.com/getsentry/sentry/pull/115466)\n- (billing) Bump sentry-protos to 0.13.0 in [#116133](https://github.com/getsentry/sentry/pull/116133)\n- (billing-platform) Log requests in service methods by @brendanhsentry in [#115971](https://github.com/getsentry/sentry/pull/115971)\n- (bootstrap) Parallelize locale and moment chunk fetches by @JonasBa in [#115727](https://github.com/getsentry/sentry/pull/115727)\n- (cells) Remove the includeFeatureFlags query param from the org listing request by @lynnagara in [#115833](https://github.com/getsentry/sentry/pull/115833)\n- (ci) Split MDX typechecking into its own gated job by @natemoo-re in [#115744](https://github.com/getsentry/sentry/pull/115744)\n- (compactSelect) Remove unused onSectionToggle callback by @TkDodo in [#115809](https://github.com/getsentry/sentry/pull/115809)\n- (deps) Update sentry conventions package by @nsdeschenes in [#115989](https://github.com/getsentry/sentry/pull/115989)\n- (detectors) Split connected and project alerts into separate sections by @malwilley in [#115947](https://github.com/getsentry/sentry/pull/115947)\n- (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)\n- (eap) Query typed-colon attribute as boolean instead of number in [#116299](https://github.com/getsentry/sentry/pull/116299)\n- (events) Migrate ContextIcon to platformicons by @priscilawebdev in [#115701](https://github.com/getsentry/sentry/pull/115701)\n- (explore) Port toolTags to scraps layout primitives by @priscilawebdev in [#116160](https://github.com/getsentry/sentry/pull/116160)\n- (flagpole-wildcard-ops) Adding support for not_matches op (python) by @Abdkhan14 in [#115901](https://github.com/getsentry/sentry/pull/115901)\n- (github-enterprise) Use monospace font for private key field in [#116303](https://github.com/getsentry/sentry/pull/116303)\n- (hooks) Replace HookStore with a plain hook registry by @evanpurkhiser in [#115811](https://github.com/getsentry/sentry/pull/115811)\n- (hookStore) Change HookStore to single-value semantics by @evanpurkhiser in [#115796](https://github.com/getsentry/sentry/pull/115796)\n- (integrations) Add backfill_github_external_actor.gh_api_fetch_interval_s by @hobzcalvin in [#115763](https://github.com/getsentry/sentry/pull/115763)\n- (issueDetails) Collapse ParticipantList wrapper div to a Flex by @evanpurkhiser in [#116175](https://github.com/getsentry/sentry/pull/116175)\n- (issueDiff) Refactor event data fetching to use useQueries in [#116042](https://github.com/getsentry/sentry/pull/116042)\n- (jira) Add Forge app manifest for Connect-to-Forge migration by @BYK in [#115603](https://github.com/getsentry/sentry/pull/115603)\n- (lint) Ban React.Fragment in favor of named Fragment import by @natemoo-re in [#115939](https://github.com/getsentry/sentry/pull/115939)\n- (metrics) Split metric attribute tree actions by @nsdeschenes in [#115641](https://github.com/getsentry/sentry/pull/115641)\n- (mypy) Rename sort_stronger_modules to sort_weaklist in [#116106](https://github.com/getsentry/sentry/pull/116106)\n- (np) Refactors notification context into a new class by @GabeVillalobos in [#113495](https://github.com/getsentry/sentry/pull/113495)\n- (organization-create) Drop dead browserHistory comment by @evanpurkhiser in [#115928](https://github.com/getsentry/sentry/pull/115928)\n- (overrides) Finish hook → override terminology rename by @evanpurkhiser in [#115825](https://github.com/getsentry/sentry/pull/115825)\n- (oxfmt) Ignore pyproject.toml by @sentry-junior in [#116181](https://github.com/getsentry/sentry/pull/116181)\n- (pipeline) Use Button busy prop for advancing state by @evanpurkhiser in [#116179](https://github.com/getsentry/sentry/pull/116179)\n- (plugins) Inline PluginComponentBase into its two subclasses by @ryan953 in [#116112](https://github.com/getsentry/sentry/pull/116112)\n- (profiling) Rename explore/profiling URL to explore/profiles in [#115627](https://github.com/getsentry/sentry/pull/115627)\n- (project-detail) Migrate projectCharts off browserHistory by @evanpurkhiser in [#115916](https://github.com/getsentry/sentry/pull/115916)\n- (releases) Convert ReleaseIssues to functional component by @ryan953 in [#115698](https://github.com/getsentry/sentry/pull/115698)\n- (replay) Rename Breadcrumbs tab to Activity by @DominikB2014 in [#115278](https://github.com/getsentry/sentry/pull/115278)\n- (routeAnalytics) Replace HookStore persistCallback with a plain module cell by @evanpurkhiser in [#115810](https://github.com/getsentry/sentry/pull/115810)\n- (saved-queries) Align list endpoint access checks with detail by @oioki in [#115379](https://github.com/getsentry/sentry/pull/115379)\n- (scraps) Adopt useModal in remaining call sites by @evanpurkhiser in [#115132](https://github.com/getsentry/sentry/pull/115132)\n- (search) Add EAP API attribute visibility checks in [#116091](https://github.com/getsentry/sentry/pull/116091)\n- (seer-explorer) Replace useSeerExplorerRunId with chat state context by @JonasBa in [#115631](https://github.com/getsentry/sentry/pull/115631)\n- (segments) Add local cache for release creation and modification by @cmanallen in [#116173](https://github.com/getsentry/sentry/pull/116173)\n- (snapshots) Batch image fetches and add timeouts for snapshot download by @NicoHinderling in [#116076](https://github.com/getsentry/sentry/pull/116076)\n- (source-map-processing-errors) Emitting metric irrespective of … by @Abdkhan14 in [#115661](https://github.com/getsentry/sentry/pull/115661)\n- (span-buffer) Remove flusher and buffer logger options by @untitaker in [#115487](https://github.com/getsentry/sentry/pull/115487)\n- (static) Add preload hint for app.js entrypoint by @JonasBa in [#115800](https://github.com/getsentry/sentry/pull/115800)\n- (tasks) Remove base64 encoding for bytes parameters in tasks in [#116293](https://github.com/getsentry/sentry/pull/116293)\n- (taskworker) Move devenv for profiles consumer to taskbroker in [#116194](https://github.com/getsentry/sentry/pull/116194)\n- (teams) Avoid organization N+1 in team projects by @scttcper in [#115735](https://github.com/getsentry/sentry/pull/115735)\n- (test) Remove router return from initializeOrg by @evanpurkhiser in [#116002](https://github.com/getsentry/sentry/pull/116002)\n- (tests) Replace `as jest.Mock` casts with `jest.mocked()` by @evanpurkhiser in [#115790](https://github.com/getsentry/sentry/pull/115790)\n- (trace) Migrate virtualizedViewManager off browserHistory by @evanpurkhiser in [#115927](https://github.com/getsentry/sentry/pull/115927)\n- (traceDrawer) Replace local SectionDivider/VerticalLine with Scraps Separator in [#116168](https://github.com/getsentry/sentry/pull/116168)\n- (types) Add mypy types for sentry.search.snuba.executors by @saponifi3d in [#114994](https://github.com/getsentry/sentry/pull/114994)\n- (ui) Upgrade lodash, figma connect by @scttcper in [#115950](https://github.com/getsentry/sentry/pull/115950)\n- (vercel) Add logs on failure to add project in [#116235](https://github.com/getsentry/sentry/pull/116235)\n- (workflows) Avoid a query on Organization in delayed_workflow by @kcons in [#115965](https://github.com/getsentry/sentry/pull/115965)\n- Instruct agents to prefer type inference over call-side generics in [#116290](https://github.com/getsentry/sentry/pull/116290)\n- Add right padding to seer header copy button in [#116286](https://github.com/getsentry/sentry/pull/116286)\n- Remove code coverage stacktrace insights in [#115417](https://github.com/getsentry/sentry/pull/115417)\n- Remove autopilot CODEOWNERS entries by @vgrozdanic in [#116085](https://github.com/getsentry/sentry/pull/116085)\n- Replace withOrganization with useOrganization in function components by @evanpurkhiser in [#115343](https://github.com/getsentry/sentry/pull/115343)\n- Remove withSentryRouter HOC by @evanpurkhiser in [#115949](https://github.com/getsentry/sentry/pull/115949)\n- Migrate useRouter callsites to native RR6 hooks by @evanpurkhiser in [#115945](https://github.com/getsentry/sentry/pull/115945)\n- Drop unused 'unmigratable' status literal from repo query types by @evanpurkhiser in [#115906](https://github.com/getsentry/sentry/pull/115906)\n- Remove unmigratable repositories code path by @evanpurkhiser in [#115905](https://github.com/getsentry/sentry/pull/115905)\n- Remove OrganizationConfigRepositoriesEndpoint by @evanpurkhiser in [#115898](https://github.com/getsentry/sentry/pull/115898)\n- Remove unused PUT handler from repository details endpoint by @evanpurkhiser in [#115896](https://github.com/getsentry/sentry/pull/115896)\n- Bump taskbroker-client to 0.1.15 by @bmckerry in [#115799](https://github.com/getsentry/sentry/pull/115799)\n- Mark legacy react-router shim hooks as deprecated by @ryan953 in [#115767](https://github.com/getsentry/sentry/pull/115767)\n- Merged Jest changedSince testing into main PR Jest job by @JoshuaKGoldberg in [#115549](https://github.com/getsentry/sentry/pull/115549)\n- Replace browserHistory with useNavigate in useCleanQueryParamsOnRouteLeave by @ryan953 in [#115695](https://github.com/getsentry/sentry/pull/115695)\n- Remove browserHistory by inlining navigate in upgradeNowModal callers by @ryan953 in [#115755](https://github.com/getsentry/sentry/pull/115755)\n- Bump platformicons to 9.5.0 by @priscilawebdev in [#115707](https://github.com/getsentry/sentry/pull/115707)\n- Bump new development version by @sentry-release-bot[bot] in [7ea81f9f](https://github.com/getsentry/sentry/commit/7ea81f9fbf91748936a96fa3105058751548bb07)\n\n### Other\n\n- fix(relocation) Remove invalid token scopes during export in [#116214](https://github.com/getsentry/sentry/pull/116214)\n- chore(relocation) Exclude Email model from relocations v2 in [#116256](https://github.com/getsentry/sentry/pull/116256)\n- chore(cells) Mainline org create via control in [#116046](https://github.com/getsentry/sentry/pull/116046)\n- deps: Upgrade sentry-scm to 0.16.0 in [#116215](https://github.com/getsentry/sentry/pull/116215)\n- chore(relocation) Remove unused outbox handler by @markstory in [#116030](https://github.com/getsentry/sentry/pull/116030)\n- fix(relocation) Fix type errors when spawning a task by @markstory in [#116130](https://github.com/getsentry/sentry/pull/116130)\n- Fix category missing by @noahsmartin in [#116056](https://github.com/getsentry/sentry/pull/116056)\n- chore(relocations) Add bucket_path to RelocationFile by @markstory in [#116035](https://github.com/getsentry/sentry/pull/116035)\n- chore(cells) Remove rollout option for connection pooling by @markstory in [#116011](https://github.com/getsentry/sentry/pull/116011)\n- fix(ci) Don't capture log messages in RPC schema generation by @markstory in [#116003](https://github.com/getsentry/sentry/pull/116003)\n- fix(typing) Remove sentry.middleware.auth from the ignore list by @markstory in [#115798](https://github.com/getsentry/sentry/pull/115798)\n- feat(cells) Make organization avatar URL cell compatible by @markstory in [#115689](https://github.com/getsentry/sentry/pull/115689)\n- deps(ui): Upgrade Rspack to v2, 124 fewer dependencies by @scttcper in [#113795](https://github.com/getsentry/sentry/pull/113795)\n- o11y(seer): Track block content copy in Seer Explorer by @aliu39 in [#115900](https://github.com/getsentry/sentry/pull/115900)\n- org-scoped URL for page export by @strongs in [#115844](https://github.com/getsentry/sentry/pull/115844)\n- feat(cells) Use connection pools for cell RPC operations by @markstory in [#115827](https://github.com/getsentry/sentry/pull/115827)\n- lint: enable jest/prefer-jest-mocked by @evanpurkhiser in [#115791](https://github.com/getsentry/sentry/pull/115791)\n- feat(cells); Add org scoping to `GroupTagExportView` by @strongs in [#115841](https://github.com/getsentry/sentry/pull/115841)\n- Remove legacy code paths for the combined rule endpoint by @ceorourke in [#115750](https://github.com/getsentry/sentry/pull/115750)\n- Auto-create PRs for manual Seer handoff by @JoshFerge in [#115831](https://github.com/getsentry/sentry/pull/115831)\n- feat(cells) Provision new orgs through control with feature flag by @markstory in [#115600](https://github.com/getsentry/sentry/pull/115600)\n- Chore org index silo metrics by @markstory in [#115664](https://github.com/getsentry/sentry/pull/115664)\n- o11y(assisted-query): Track error outcomes and reasons for AI query analytics by @aliu39 in [#115699](https://github.com/getsentry/sentry/pull/115699)\n- deps(ui): Upgrade jest to 30.4 by @scttcper in [#115725](https://github.com/getsentry/sentry/pull/115725)","publishedAt":"2026-05-27T16:47:58.000Z","fetchedAt":"2026-05-27T19:01:02.495Z","url":"https://github.com/getsentry/sentry/releases/tag/26.5.1","media":[],"coverageCount":0},{"id":"rel_hZ5NpKQiodH4Z_Bxz19lm","version":"26.5.0","type":"feature","title":"26.5.0","summary":"### New Features ✨\n\n#### Aci\n\n- Add organizations:workflow-engine-metric-alert-endpoints-delete flag to allow deletes in the legacy API in [#115382](h...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- 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)\n- Add deprecation headers to legacy rule endpoints in [#114080](https://github.com/getsentry/sentry/pull/114080)\n- Add a warning banner for no connections on an Alert by @saponifi3d in [#114772](https://github.com/getsentry/sentry/pull/114772)\n\n#### Agent Ui\n\n- Track analytics event when explorer session times out by @aliu39 in [#115350](https://github.com/getsentry/sentry/pull/115350)\n- Add session timeout detection by @aliu39 in [#115147](https://github.com/getsentry/sentry/pull/115147)\n\n#### Autofix\n\n- Add feature flag for seer-autofix-introspection by @Zylphrex in [#115503](https://github.com/getsentry/sentry/pull/115503)\n- Support coding agents from plan step by @Zylphrex in [#115335](https://github.com/getsentry/sentry/pull/115335)\n- Link read_file to exact line if available by @Zylphrex in [#115292](https://github.com/getsentry/sentry/pull/115292)\n- Add high-level autofix settings update helper in [#115037](https://github.com/getsentry/sentry/pull/115037)\n- Disable rethink when textarea empty by @aliu39 in [#112896](https://github.com/getsentry/sentry/pull/112896)\n- Better autoscroll on autofix drawer by @Zylphrex in [#114869](https://github.com/getsentry/sentry/pull/114869)\n\n#### Cells\n\n- Populate org listing fields on control serializer by @lynnagara in [#115513](https://github.com/getsentry/sentry/pull/115513)\n- Remove legacy organization invite path by @lynnagara in [#115198](https://github.com/getsentry/sentry/pull/115198)\n- Remove features from the org listing endpoint by @lynnagara in [#115007](https://github.com/getsentry/sentry/pull/115007)\n- Remove features from organization summary by @lynnagara in [#115000](https://github.com/getsentry/sentry/pull/115000)\n- Drop deprecated requireEmailVerification field by @lynnagara in [#115003](https://github.com/getsentry/sentry/pull/115003)\n- Start replicating organization avatar by @lynnagara in [#114999](https://github.com/getsentry/sentry/pull/114999)\n- Replicate OrganizationAvatar to OrganizationAvatarReplica via outbox in [#114781](https://github.com/getsentry/sentry/pull/114781)\n\n#### Cmdk\n\n- Default to keepPreviousData in cmdkQueryOptions in [#115085](https://github.com/getsentry/sentry/pull/115085)\n- Add webhooks keyword to Custom Integrations action by @JonasBa in [#114974](https://github.com/getsentry/sentry/pull/114974)\n\n#### Codeowners\n\n- Support excluding subdirectories via no-owner rules in [#115322](https://github.com/getsentry/sentry/pull/115322)\n- Display exclusion rules in ownership rules table in [#115391](https://github.com/getsentry/sentry/pull/115391)\n\n#### Dashboards\n\n- Repair MCP dashboard widget filters in [#115543](https://github.com/getsentry/sentry/pull/115543)\n- Render widget thresholds in Slack unfurl chartcuterie chart in [#115384](https://github.com/getsentry/sentry/pull/115384)\n- Use widget-aware chart type for Slack unfurl in [#115313](https://github.com/getsentry/sentry/pull/115313)\n- Add widget-aware chartcuterie chart type by @DominikB2014 in [#115312](https://github.com/getsentry/sentry/pull/115312)\n- Avoid issue assignee row fetches by @scttcper in [#115296](https://github.com/getsentry/sentry/pull/115296)\n- Suggest Sentry Built dashboards in empty custom state by @DominikB2014 in [#115104](https://github.com/getsentry/sentry/pull/115104)\n- Create HeatMapWidgetVisualization component by @gggritso in [#114916](https://github.com/getsentry/sentry/pull/114916)\n- Add `app.vitals.*` support to mobile vitals dashboards by @buenaflor in [#113046](https://github.com/getsentry/sentry/pull/113046)\n- Add All Dashboards tab and rename existing to Custom by @DominikB2014 in [#114904](https://github.com/getsentry/sentry/pull/114904)\n\n#### Dynamic Sampling\n\n- Add query chunking iterator by @shellmayr in [#115063](https://github.com/getsentry/sentry/pull/115063)\n- Use config in per-org pipeline in [#114850](https://github.com/getsentry/sentry/pull/114850)\n\n#### Explore\n\n- Heat map tooltip surfaces z-axis value alongside y-axis bucket in [#115560](https://github.com/getsentry/sentry/pull/115560)\n- Enable heat map tooltips on click in [#115413](https://github.com/getsentry/sentry/pull/115413)\n- Hide arrays behind feature flag to avoid any production failures by @manessaraj in [#115295](https://github.com/getsentry/sentry/pull/115295)\n- Support array-includes query syntax (`field[*]:value`) by @manessaraj in [#115070](https://github.com/getsentry/sentry/pull/115070)\n- Raise top events color max from 5 to 9 by @JoshuaKGoldberg in [#114890](https://github.com/getsentry/sentry/pull/114890)\n\n#### Forms\n\n- Migrate Sentry App schema forms behind a flag by @priscilawebdev in [#114953](https://github.com/getsentry/sentry/pull/114953)\n- Expose a unified form.ResetButton in [#115072](https://github.com/getsentry/sentry/pull/115072)\n- Add sentry-app-schema-form-migration flag in [#114945](https://github.com/getsentry/sentry/pull/114945)\n\n#### Heatmap\n\n- Add log axis by @wmak in [#115068](https://github.com/getsentry/sentry/pull/115068)\n- Add heatmap endpoint by @wmak in [#114780](https://github.com/getsentry/sentry/pull/114780)\n\n#### Issues\n\n- Implement UI for new Seer actions included in issue activity by @shashjar in [#115525](https://github.com/getsentry/sentry/pull/115525)\n- GA new stack trace frontend by @scttcper in [#115520](https://github.com/getsentry/sentry/pull/115520)\n- Record Seer events for display in the issue activity timeline by @shashjar in [#115486](https://github.com/getsentry/sentry/pull/115486)\n- Add structured LLM context to saved issue views route by @Mihir-Mavalankar in [#115438](https://github.com/getsentry/sentry/pull/115438)\n- Add more samples links to Slow DB Query evidence by @scttcper in [#114938](https://github.com/getsentry/sentry/pull/114938)\n- Clean up empty state project lookup by @scttcper in [#114652](https://github.com/getsentry/sentry/pull/114652)\n\n#### Iswf\n\n- Updates retry ignore/silence lists for Sentry App tasks by @GabeVillalobos in [#115005](https://github.com/getsentry/sentry/pull/115005)\n- Removes retry decorator from workflow_engine tasks by @GabeVillalobos in [#114937](https://github.com/getsentry/sentry/pull/114937)\n- Bumps version for taskbroker-client, updates instrumented_task decorator by @GabeVillalobos in [#114936](https://github.com/getsentry/sentry/pull/114936)\n\n#### Logs\n\n- Add copy link action to logs table row cell menus by @JonasBa in [#115221](https://github.com/getsentry/sentry/pull/115221)\n- Update backend instrumentation for sync export path by @manessaraj in [#114891](https://github.com/getsentry/sentry/pull/114891)\n\n#### Onboarding\n\n- Add stream_gen_ai_spans to Python agent monitoring init options in [#115470](https://github.com/getsentry/sentry/pull/115470)\n- Add streamGenAiSpans to JS agent monitoring init options by @obostjancic in [#115371](https://github.com/getsentry/sentry/pull/115371)\n- Add platformProductInfo.generated.ts for SCM info-only platforms by @jaydgoss in [#115092](https://github.com/getsentry/sentry/pull/115092)\n- Add platformProductInfo codegen script by @jaydgoss in [#115177](https://github.com/getsentry/sentry/pull/115177)\n\n#### Otlp\n\n- The OTLP endpoints are GA in [#115049](https://github.com/getsentry/sentry/pull/115049)\n- The OTLP endpoints are GA (FE) by @Dav1dde in [#115051](https://github.com/getsentry/sentry/pull/115051)\n\n#### Ourlogs\n\n- Increase infinite query timeouts to 15s with increasing 30s continuations by @JoshuaKGoldberg in [#113999](https://github.com/getsentry/sentry/pull/113999)\n- Add ourlogs-schema-hints-removal feature flag in [#115108](https://github.com/getsentry/sentry/pull/115108)\n- Remove schema hints behind feature flag / query parameter in [#115109](https://github.com/getsentry/sentry/pull/115109)\n- Add ourlogs-pinning flag by @JoshuaKGoldberg in [#115073](https://github.com/getsentry/sentry/pull/115073)\n- 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)\n\n#### Preprod\n\n- Wire up snapshot_status search field in frontend in [#115596](https://github.com/getsentry/sentry/pull/115596)\n- Add snapshot_status search field with comparison state filters in [#115580](https://github.com/getsentry/sentry/pull/115580)\n- Make snapshot image detail endpoint comparison-aware by @NicoHinderling in [#115572](https://github.com/getsentry/sentry/pull/115572)\n- Handle no_base_build comparison state in snapshot table by @mtopo27 in [#115562](https://github.com/getsentry/sentry/pull/115562)\n- Add latest-base snapshot lookup endpoint by @NicoHinderling in [#115498](https://github.com/getsentry/sentry/pull/115498)\n- Add single-image metadata endpoint for snapshots by @NicoHinderling in [#115495](https://github.com/getsentry/sentry/pull/115495)\n- Add compact_metadata param to snapshot details endpoint by @NicoHinderling in [#115494](https://github.com/getsentry/sentry/pull/115494)\n- Add PR comments for snapshot base-build edge cases by @NicoHinderling in [#115460](https://github.com/getsentry/sentry/pull/115460)\n- Add Snapshot Settings link to snapshot details menu by @mtopo27 in [#115481](https://github.com/getsentry/sentry/pull/115481)\n- Add auto_approved status to snapshot UI by @mtopo27 in [#115388](https://github.com/getsentry/sentry/pull/115388)\n- Add grace period before failing status check for missing base by @NicoHinderling in [#115448](https://github.com/getsentry/sentry/pull/115448)\n- Add auto_approved status to snapshot approval in [#115291](https://github.com/getsentry/sentry/pull/115291)\n- Add timeout warning for image optimization insights by @NicoHinderling in [#115216](https://github.com/getsentry/sentry/pull/115216)\n- Add description and tags fields to ImageMetadata by @NicoHinderling in [#115220](https://github.com/getsentry/sentry/pull/115220)\n- Add CSV download to size compare items changed table by @mtopo27 in [#115202](https://github.com/getsentry/sentry/pull/115202)\n- Add logging when builds are filtered out by quota or project settings by @NicoHinderling in [#115195](https://github.com/getsentry/sentry/pull/115195)\n- Add per-category controls for snapshot PR comments UI in [#114838](https://github.com/getsentry/sentry/pull/114838)\n\n#### Repos\n\n- Add sync now button and polling logic in repos v2 by @evanpurkhiser in [#114998](https://github.com/getsentry/sentry/pull/114998)\n- Move sync status from footer into per-install repository count tag by @evanpurkhiser in [#114865](https://github.com/getsentry/sentry/pull/114865)\n- Add installation settings button and drawer in repos v2 by @evanpurkhiser in [#114792](https://github.com/getsentry/sentry/pull/114792)\n\n#### Seer\n\n- Populate SeerAgentRun alongside SeerRun in agent client in [#115601](https://github.com/getsentry/sentry/pull/115601)\n- Add GitLab support to seer preferences endpoint in [#115424](https://github.com/getsentry/sentry/pull/115424)\n- Add Seer plan flags to structured context check by @Mihir-Mavalankar in [#115571](https://github.com/getsentry/sentry/pull/115571)\n- Pass api.web referrer from autofix UI by @chromy in [#115546](https://github.com/getsentry/sentry/pull/115546)\n- Add reaction_added webhook handler for Seer agent feedback by @leeandher in [#115490](https://github.com/getsentry/sentry/pull/115490)\n- Add CLI, Linear agent, and MCP autofix referrers by @chromy in [#115514](https://github.com/getsentry/sentry/pull/115514)\n- Accept referrer input on GroupAutofixEndpoint by @chromy in [#115497](https://github.com/getsentry/sentry/pull/115497)\n- Expose replay search RPC by @JoshFerge in [#115500](https://github.com/getsentry/sentry/pull/115500)\n- Wire explorer chat write site through SeerRun outbox by @trevor-e in [#115231](https://github.com/getsentry/sentry/pull/115231)\n- Wire legacy autofix write site through SeerRun outbox by @trevor-e in [#115228](https://github.com/getsentry/sentry/pull/115228)\n- Add outbox receiver for SeerRun creation by @trevor-e in [#115111](https://github.com/getsentry/sentry/pull/115111)\n- Enable context engine for all Seer plan orgs in explorer in [#115452](https://github.com/getsentry/sentry/pull/115452)\n- Add structured LLM context for logs and releases pages by @Mihir-Mavalankar in [#115293](https://github.com/getsentry/sentry/pull/115293)\n- Add feature flag to enable Code Mode for Slack Explorer by @azulus in [#115233](https://github.com/getsentry/sentry/pull/115233)\n- Add structured LLM context for issue taxonomy pages in [#115153](https://github.com/getsentry/sentry/pull/115153)\n- Copy changes and fixup links between pages by @ryan953 in [#114918](https://github.com/getsentry/sentry/pull/114918)\n- Make the Autofix settings open in a drawer from the org settings page by @ryan953 in [#114933](https://github.com/getsentry/sentry/pull/114933)\n- Create Seer sub-nav items, and SCM requirement interstitial by @ryan953 in [#114896](https://github.com/getsentry/sentry/pull/114896)\n- Suppress re-triage of skipped issues in night shift by @trevor-e in [#114915](https://github.com/getsentry/sentry/pull/114915)\n- Add event-specific LLM context hint for issue event route by @Mihir-Mavalankar in [#114926](https://github.com/getsentry/sentry/pull/114926)\n- Add check for `seer-gitlab-support` in the `/seer/onboarding-check/` endpoint by @ryan953 in [#113851](https://github.com/getsentry/sentry/pull/113851)\n- Move seer default settings into flyout panels & rm overview page by @ryan953 in [#114599](https://github.com/getsentry/sentry/pull/114599)\n- Add check for `seer-gitlab-support` to billing/subscription screens by @ryan953 in [#113855](https://github.com/getsentry/sentry/pull/113855)\n- Add check for `seer-gitlab-support` to the seer config reminder by @ryan953 in [#113852](https://github.com/getsentry/sentry/pull/113852)\n\n#### Sentry Apps\n\n- Use RPC recipient resolution in webhook disable notifications by @Christinarlong in [#115157](https://github.com/getsentry/sentry/pull/115157)\n- Validate org membership before sending webhook disable emails in [#114799](https://github.com/getsentry/sentry/pull/114799)\n- Add disable/enable toggle to \\_admin sentry app details by @Christinarlong in [#114910](https://github.com/getsentry/sentry/pull/114910)\n- Skip webhook dispatch for disabled sentry apps by @Christinarlong in [#114620](https://github.com/getsentry/sentry/pull/114620)\n- Allow staff to toggle is_disabled via existing CRUD endpoint by @Christinarlong in [#114777](https://github.com/getsentry/sentry/pull/114777)\n\n#### Settings\n\n- Convert project environments table to FC by @scttcper in [#115493](https://github.com/getsentry/sentry/pull/115493)\n- Remove withProject in [#114587](https://github.com/getsentry/sentry/pull/114587)\n\n#### Slack\n\n- Update Seer linking message after identity link by @alexsohn1126 in [#114752](https://github.com/getsentry/sentry/pull/114752)\n- Default Explore unfurl interval to match frontend by @DominikB2014 in [#114867](https://github.com/getsentry/sentry/pull/114867)\n\n#### Snapshots\n\n- Move snapshot endpoints into their own subfolder by @NicoHinderling in [#115501](https://github.com/getsentry/sentry/pull/115501)\n- Add success logs for PR comments and status checks in [#115437](https://github.com/getsentry/sentry/pull/115437)\n- Add frontend logic for downloading images zip by @NicoHinderling in [#115338](https://github.com/getsentry/sentry/pull/115338)\n- Add endpoint for downloading images zip by @NicoHinderling in [#115337](https://github.com/getsentry/sentry/pull/115337)\n- Add context.test_file_path to snapshot JSON metadata by @mtopo27 in [#115112](https://github.com/getsentry/sentry/pull/115112)\n\n#### Spans\n\n- Add duplicate span detection metrics to process-segments consumer by @untitaker in [#115190](https://github.com/getsentry/sentry/pull/115190)\n- Add opt-in logging for flushed segments by @untitaker in [#114989](https://github.com/getsentry/sentry/pull/114989)\n- Add semantic partitioning option for segments consumer by @untitaker in [#114992](https://github.com/getsentry/sentry/pull/114992)\n\n#### Trace Waterfall\n\n- Updates to useTraceMeta by @nsdeschenes in [#115179](https://github.com/getsentry/sentry/pull/115179)\n- Add links to cross event from logs and metrics by @nsdeschenes in [#114852](https://github.com/getsentry/sentry/pull/114852)\n\n#### Ui\n\n- Add keywords for theme switching in Command Palette in [#114970](https://github.com/getsentry/sentry/pull/114970)\n- Replace MemberListStore with React Query in [#114658](https://github.com/getsentry/sentry/pull/114658)\n\n#### Other\n\n- (ai-conversations) Emit Sentry event on empty conversation detail page by @obostjancic in [#115368](https://github.com/getsentry/sentry/pull/115368)\n- (auth) Add SuspendedUserMiddleware safety net in [#114771](https://github.com/getsentry/sentry/pull/114771)\n- (billing) Use Intercom for ask Support links in [#115527](https://github.com/getsentry/sentry/pull/115527)\n- (checkout) Use Intercom for ask Support link by @souredoutlook in [#115218](https://github.com/getsentry/sentry/pull/115218)\n- (ci) Retry getsentry-dispatch by @joshuarli in [#115309](https://github.com/getsentry/sentry/pull/115309)\n- (data-export) Add Sentry trace metrics for export outcomes in [#115575](https://github.com/getsentry/sentry/pull/115575)\n- (endpoints) Add option to disable all project fetching in relay endpoints by @tobias-wilfert in [#114947](https://github.com/getsentry/sentry/pull/114947)\n- (eslint) Enable @typescript-eslint/no-unnecessary-type-arguments by @JoshuaKGoldberg in [#113674](https://github.com/getsentry/sentry/pull/113674)\n- (events) Add experimental api for events that allows sql by @wmak in [#115330](https://github.com/getsentry/sentry/pull/115330)\n- (export) Update Storgae config for full trace export for Logs by @manessaraj in [#114065](https://github.com/getsentry/sentry/pull/114065)\n- (external-issues) Use LLM generated title/description for ticket creation by @leeandher in [#114760](https://github.com/getsentry/sentry/pull/114760)\n- (highlights) New loading state, stronger project types in [#115352](https://github.com/getsentry/sentry/pull/115352)\n- (insights) Show source frames for slow DB spans by @scttcper in [#115286](https://github.com/getsentry/sentry/pull/115286)\n- (integrations) Include organization_id in response tracking logs by @armenzg in [#113903](https://github.com/getsentry/sentry/pull/113903)\n- (issue-detection) Tier-based traces per invocation by @roggenkemper in [#114331](https://github.com/getsentry/sentry/pull/114331)\n- (playstation) Add feature for uploading attachments to object store by @tobias-wilfert in [#114956](https://github.com/getsentry/sentry/pull/114956)\n- (process-segments) Add span deduplication filtering by @untitaker in [#115283](https://github.com/getsentry/sentry/pull/115283)\n- (projects) Load project stats with react query, remove ProjectsStatsStore in [#115463](https://github.com/getsentry/sentry/pull/115463)\n- (replays) Add replay dataset back to events by @wmak in [#114234](https://github.com/getsentry/sentry/pull/114234)\n- (repositories) Filter out active repositories from the sync in [#115034](https://github.com/getsentry/sentry/pull/115034)\n- (scm) Allow fetching by org/repo-name in [#114369](https://github.com/getsentry/sentry/pull/114369)\n- (scraps) Markdown component by @natemoo-re in [#115025](https://github.com/getsentry/sentry/pull/115025)\n- (search) Add userCount filter key to issue search autocomplete by @isaacwang-sentry in [#114823](https://github.com/getsentry/sentry/pull/114823)\n- (search-query-builder) Add custom currency filter by @nsdeschenes in [#114713](https://github.com/getsentry/sentry/pull/114713)\n- (seer-explorer) Add polling backoff for 5xx errors in [#115538](https://github.com/getsentry/sentry/pull/115538)\n- (seer-slack) Add slack link parsing and insert slack thread info by @alexsohn1126 in [#114442](https://github.com/getsentry/sentry/pull/114442)\n- (slo) Add SLO instrumentation to Jira search endpoint in [#114513](https://github.com/getsentry/sentry/pull/114513)\n- (slot) Automatically bridge known contexts by @natemoo-re in [#114548](https://github.com/getsentry/sentry/pull/114548)\n- (trace-meta) Add trace metrics by @wmak in [#115107](https://github.com/getsentry/sentry/pull/115107)\n- (tracemetrics) Add Equation UI to Widget Builder in [#115071](https://github.com/getsentry/sentry/pull/115071)\n- (types) Split Project into ProjectSummary and DetailedProject by @scttcper in [#115024](https://github.com/getsentry/sentry/pull/115024)\n- (typing) Add pre-commit hook to prevent new weaklist additions by @armenzg in [#114761](https://github.com/getsentry/sentry/pull/114761)\n- (viewer-context) Add seer_rpc_in + org_seer_rpc_in chokepoints in [#115577](https://github.com/getsentry/sentry/pull/115577)\n- (webhooks) Add live-run flag to override circuit breaker dry-run by @Christinarlong in [#114820](https://github.com/getsentry/sentry/pull/114820)\n- Extend performance profiles to V2 spans by @loewenheim in [#115203](https://github.com/getsentry/sentry/pull/115203)\n- Allow interval on heatmap endpoint by @wmak in [#115010](https://github.com/getsentry/sentry/pull/115010)\n- Add a random duration task for testing by @evanh in [#114858](https://github.com/getsentry/sentry/pull/114858)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Require AlertRuleWorkflow IDs to be ints by @kcons in [#115245](https://github.com/getsentry/sentry/pull/115245)\n- Add workflow ID to ActionInvocation by @kcons in [#114770](https://github.com/getsentry/sentry/pull/114770)\n- Revalidate medium threshold when high threshold changes in [#114923](https://github.com/getsentry/sentry/pull/114923)\n- Update the query filters to show `monitor` instead of `detector` by @saponifi3d in [#114800](https://github.com/getsentry/sentry/pull/114800)\n\n#### Ai Conversations\n\n- Fix page filter race condition on conversation detail page by @obostjancic in [#115366](https://github.com/getsentry/sentry/pull/115366)\n- Handle Python repr format and structured system prompts in AI trace view by @obostjancic in [#115054](https://github.com/getsentry/sentry/pull/115054)\n- Fix page filter isolation, project=-1, and datetime URL params by @vgrozdanic in [#114965](https://github.com/getsentry/sentry/pull/114965)\n\n#### Api\n\n- 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)\n- Validate root-cause-analysis query params via serializer by @oioki in [#115297](https://github.com/getsentry/sentry/pull/115297)\n- Validate more user-provided int ids by @kcons in [#115299](https://github.com/getsentry/sentry/pull/115299)\n- Return forbidden for gated events endpoint in [#115148](https://github.com/getsentry/sentry/pull/115148)\n- Validate more user-provided integer ids by @kcons in [#114996](https://github.com/getsentry/sentry/pull/114996)\n- Preserve string array span detail attributes in [#114853](https://github.com/getsentry/sentry/pull/114853)\n\n#### Attributes\n\n- Remove duplicate string is_transaction in [#115569](https://github.com/getsentry/sentry/pull/115569)\n- Account for @ in attributes by @nsdeschenes in [#115055](https://github.com/getsentry/sentry/pull/115055)\n\n#### Auth\n\n- Conditionally show unlinked member warning based on SSO requirement in [#115461](https://github.com/getsentry/sentry/pull/115461)\n- Prefer session user over IdP email in SSO identity resolution by @michelletran-sentry in [#115079](https://github.com/getsentry/sentry/pull/115079)\n\n#### Autofix\n\n- Propagate previous step referrer in [#115412](https://github.com/getsentry/sentry/pull/115412)\n- Read automation settings from detailed project by @scttcper in [#115239](https://github.com/getsentry/sentry/pull/115239)\n- Relax requirements for autofix section to be completed by @Zylphrex in [#115084](https://github.com/getsentry/sentry/pull/115084)\n- Add loading state for starting root cause by @Zylphrex in [#114917](https://github.com/getsentry/sentry/pull/114917)\n\n#### Cells\n\n- Bump Organization replication_version to backfill mapping date_created by @lynnagara in [#115423](https://github.com/getsentry/sentry/pull/115423)\n- Replicate Organization.date_added to mapping row in [#115325](https://github.com/getsentry/sentry/pull/115325)\n\n#### Charts\n\n- Wire up `visualMap` prop in BaseChart in [#115101](https://github.com/getsentry/sentry/pull/115101)\n- Hide overlapping time-series y-axis labels by @JoshFerge in [#114972](https://github.com/getsentry/sentry/pull/114972)\n\n#### Codeowners\n\n- Return owner names on sync in [#115583](https://github.com/getsentry/sentry/pull/115583)\n- Display `dateSynced` instead of `dateUpdated` in CODEOWNERS table in [#115136](https://github.com/getsentry/sentry/pull/115136)\n- Add `date_synced` field to track actual CODEOWNERS sync time by @shashjar in [#115115](https://github.com/getsentry/sentry/pull/115115)\n\n#### Conversations\n\n- Improve conversations table UX by @obostjancic in [#115364](https://github.com/getsentry/sentry/pull/115364)\n- Quote conversation ID in explore query by @obostjancic in [#115271](https://github.com/getsentry/sentry/pull/115271)\n\n#### Dashboards\n\n- Clarify mobile vitals app starts in [#115264](https://github.com/getsentry/sentry/pull/115264)\n- Use span.op for MCP pre-built dashboard filters by @gggritso in [#115540](https://github.com/getsentry/sentry/pull/115540)\n- Render unfurl chart with dual Y axes for multi-aggregate widgets by @DominikB2014 in [#115411](https://github.com/getsentry/sentry/pull/115411)\n- Invalidate dashboards list and grid on delete in [#115354](https://github.com/getsentry/sentry/pull/115354)\n- Exempt details widgets from limit validation in [#115170](https://github.com/getsentry/sentry/pull/115170)\n- Preserve prebuilt globalFilter chips when cloning by @DominikB2014 in [#115081](https://github.com/getsentry/sentry/pull/115081)\n- Close widget viewer modal when releases drawer opens by @skaasten in [#114768](https://github.com/getsentry/sentry/pull/114768)\n- Default text widgets to 1 row tall by @jameskeane in [#114898](https://github.com/getsentry/sentry/pull/114898)\n- Include threshold changes in revision diffs in [#114607](https://github.com/getsentry/sentry/pull/114607)\n- Match widgets by content fingerprint when IDs differ and titles are non-unique by @skaasten in [#114578](https://github.com/getsentry/sentry/pull/114578)\n- Show current version when no revisions exist by @skaasten in [#114718](https://github.com/getsentry/sentry/pull/114718)\n\n#### Explore\n\n- Update PHP perf onboarding docs by @nsdeschenes in [#115367](https://github.com/getsentry/sentry/pull/115367)\n- Fix flaky virtual streaming test assertions by @ryan953 in [#114928](https://github.com/getsentry/sentry/pull/114928)\n- Add autoFocus to save query modal input by @JonasBa in [#114742](https://github.com/getsentry/sentry/pull/114742)\n- Check object perms on post by @klochek in [#114318](https://github.com/getsentry/sentry/pull/114318)\n\n#### Insights\n\n- Span id link overflow by @nikkikapadia in [#115380](https://github.com/getsentry/sentry/pull/115380)\n- Validate project access for starred segments in [#115418](https://github.com/getsentry/sentry/pull/115418)\n\n#### Integrations\n\n- Preserve async select value in external issue modal after dynamic refetch in [#115593](https://github.com/getsentry/sentry/pull/115593)\n- Allow blank overview on sentry app form by @priscilawebdev in [#114946](https://github.com/getsentry/sentry/pull/114946)\n- Validate integration_id in OrganizationIntegrationBaseEndpoint by @kcons in [#114821](https://github.com/getsentry/sentry/pull/114821)\n\n#### Issue Detection\n\n- Remove 200-char subtitle truncation for AI-detected issues by @roggenkemper in [#115556](https://github.com/getsentry/sentry/pull/115556)\n- Remove test environments from eligibility by @roggenkemper in [#114983](https://github.com/getsentry/sentry/pull/114983)\n\n#### Issues\n\n- Render assigned user avatars from member list in [#115619](https://github.com/getsentry/sentry/pull/115619)\n- Resolve custom tag / column name collision in events tab & timeline chart in [#115416](https://github.com/getsentry/sentry/pull/115416)\n- Resolve custom tag / column name collision on issue details page by @shashjar in [#115096](https://github.com/getsentry/sentry/pull/115096)\n- Migrate data conditions away from old group type categories by @ceorourke in [#114614](https://github.com/getsentry/sentry/pull/114614)\n- Return 400 for invalid action on group integration details by @mrduncan in [#114657](https://github.com/getsentry/sentry/pull/114657)\n- Scope get_shared_for_org to the slug-resolved organization by @oioki in [#114906](https://github.com/getsentry/sentry/pull/114906)\n- Fix typo \"withing\" → \"within\" in status_change comment in [#114911](https://github.com/getsentry/sentry/pull/114911)\n\n#### Iswf\n\n- Fixes typing issues in Sentry App tasks, post_process tasks by @GabeVillalobos in [#115012](https://github.com/getsentry/sentry/pull/115012)\n- Ensure Jira installed webhook JWTs only use the HS256 algorithm by @GabeVillalobos in [#114738](https://github.com/getsentry/sentry/pull/114738)\n\n#### Jest\n\n- Make command palette tests deterministic by mocking debounce in [#115316](https://github.com/getsentry/sentry/pull/115316)\n- Mock Algolia search in command palette test to prevent timeout by @sentry in [#115314](https://github.com/getsentry/sentry/pull/115314)\n\n#### Onboarding\n\n- Mobile style tweaks for SCM onboarding by @jaydgoss in [#115426](https://github.com/getsentry/sentry/pull/115426)\n- Center the SCM detection loading indicator in [#115404](https://github.com/getsentry/sentry/pull/115404)\n- Add logs to browser JS and SolidStart product selection in [#115399](https://github.com/getsentry/sentry/pull/115399)\n- Register Replay integration during onboarding flow by @jaydgoss in [#114774](https://github.com/getsentry/sentry/pull/114774)\n\n#### Ourlogs\n\n- Use `replaceMerge` for time series visualization axes in [#115551](https://github.com/getsentry/sentry/pull/115551)\n- Stabilized column widths during scrolling by @JoshuaKGoldberg in [#115389](https://github.com/getsentry/sentry/pull/115389)\n- Add actions menu to timestamps too by @JoshuaKGoldberg in [#115180](https://github.com/getsentry/sentry/pull/115180)\n- Hide axis pointer label on collapsed spark line chart by @JoshuaKGoldberg in [#115276](https://github.com/getsentry/sentry/pull/115276)\n- Add min-height of 20vh or 15rem to page main items by @JoshuaKGoldberg in [#115272](https://github.com/getsentry/sentry/pull/115272)\n- Correct logs modal exports payload data by @JoshuaKGoldberg in [#114964](https://github.com/getsentry/sentry/pull/114964)\n- Only show LogsAggregateTable top result colors on first cursor page by @JoshuaKGoldberg in [#114873](https://github.com/getsentry/sentry/pull/114873)\n- Add minWidth to LogsInfiniteTable by @JoshuaKGoldberg in [#114864](https://github.com/getsentry/sentry/pull/114864)\n- Only constrain page for Logs (samples) mode by @JoshuaKGoldberg in [#114725](https://github.com/getsentry/sentry/pull/114725)\n\n#### Preprod\n\n- Fix snapshot list scroll-to and duplicate React keys in [#115396](https://github.com/getsentry/sentry/pull/115396)\n- Clarify rerun analysis description in admin page by @NicoHinderling in [#115340](https://github.com/getsentry/sentry/pull/115340)\n- Quote CSS mask-image URLs to handle special characters by @NicoHinderling in [#115318](https://github.com/getsentry/sentry/pull/115318)\n- Improve snapshot status filter behavior by @NicoHinderling in [#115224](https://github.com/getsentry/sentry/pull/115224)\n- Get snapshot PR comments from detailed project in [#115173](https://github.com/getsentry/sentry/pull/115173)\n- Get snapshot status checks from detailed project in [#115139](https://github.com/getsentry/sentry/pull/115139)\n- Add exponential retry for GitHub API calls in snapshot tasks in [#114272](https://github.com/getsentry/sentry/pull/114272)\n- Use display_name for snapshot sidebar labels in [#114710](https://github.com/getsentry/sentry/pull/114710)\n- Raise expiry_seconds on Objectstore upload token by @lcian in [#114844](https://github.com/getsentry/sentry/pull/114844)\n- Ensure artifact belongs to accessible project by @klochek in [#114446](https://github.com/getsentry/sentry/pull/114446)\n\n#### Profiling\n\n- Specific API error copy for flamegraphs and thresholds by @JoshuaKGoldberg in [#114971](https://github.com/getsentry/sentry/pull/114971)\n- Use granular transactionResult properties in useMemo deps for continuousFlamegraph too by @JoshuaKGoldberg in [#114855](https://github.com/getsentry/sentry/pull/114855)\n- Use granular transactionResult properties in useMemo deps by @JoshuaKGoldberg in [#114757](https://github.com/getsentry/sentry/pull/114757)\n\n#### Releases\n\n- Prevent row-lock contention on last_seen bump by @yuvmen in [#115443](https://github.com/getsentry/sentry/pull/115443)\n- Handle integration token states in releases promo by @gggritso in [#115254](https://github.com/getsentry/sentry/pull/115254)\n\n#### Replay\n\n- Use makeReplaysPathname for replay URLs and fix flaky tests by @ryan953 in [#115137](https://github.com/getsentry/sentry/pull/115137)\n- Preserve player time when toggling sidebar chevron by @JoshuaKGoldberg in [#114987](https://github.com/getsentry/sentry/pull/114987)\n\n#### Replays\n\n- Use Spans dataset when fetching contents of \"Trace\" tab by @gggritso in [#115530](https://github.com/getsentry/sentry/pull/115530)\n- Cap Mobile Replay `<video>` element pool by @gggritso in [#115403](https://github.com/getsentry/sentry/pull/115403)\n- Make sure the replay player doesn't reset on a background update by @TkDodo in [#115052](https://github.com/getsentry/sentry/pull/115052)\n\n#### Repositories\n\n- Fix serialization error during repo sync in [#114880](https://github.com/getsentry/sentry/pull/114880)\n- Convert repository sync api to be a control endpoint by @wedamija in [#114797](https://github.com/getsentry/sentry/pull/114797)\n\n#### Search\n\n- Prevent AI query feedback button from dismissing dropdown in Safari by @isaacwang-sentry in [#115219](https://github.com/getsentry/sentry/pull/115219)\n- Fix userCount filter for issues-stats endpoint by @isaacwang-sentry in [#114877](https://github.com/getsentry/sentry/pull/114877)\n\n#### Search Query Builder\n\n- Allow wildcard ops for all string filters by @nsdeschenes in [#114959](https://github.com/getsentry/sentry/pull/114959)\n- Only highlight on string attributes by @nsdeschenes in [#114948](https://github.com/getsentry/sentry/pull/114948)\n\n#### Seer\n\n- Prevent duplicate assisted-query submissions in [#115566](https://github.com/getsentry/sentry/pull/115566)\n- Record user initiator for manual explorer handoffs in [#115558](https://github.com/getsentry/sentry/pull/115558)\n- Preserve recommended sort order for unscored issues in night shift by @trevor-e in [#115444](https://github.com/getsentry/sentry/pull/115444)\n- Normalize U+F00D wildcard operators in snapshot_to_markdown in [#115397](https://github.com/getsentry/sentry/pull/115397)\n- Iterate on the Add Project to Autofix form to make it work better in [#115306](https://github.com/getsentry/sentry/pull/115306)\n- Add sent_at timestamp to autofix PR analytics events by @trevor-e in [#115341](https://github.com/getsentry/sentry/pull/115341)\n- Use IntoTip instead of QuestionTooltip in Core Review table by @ryan953 in [#115308](https://github.com/getsentry/sentry/pull/115308)\n- Let `manage your repository connections` open in a new tab by @ryan953 in [#115289](https://github.com/getsentry/sentry/pull/115289)\n- Use hash-based jitter for night shift org dispatch by @trevor-e in [#115189](https://github.com/getsentry/sentry/pull/115189)\n- Use self.get_projects() in OrganizationAutofixAutomationSettingsEndpoint by @srest2021 in [#114977](https://github.com/getsentry/sentry/pull/114977)\n- Improvements in [#114881](https://github.com/getsentry/sentry/pull/114881)\n- Stop on-completion hook from re-pushing terminally errored repos in [#114885](https://github.com/getsentry/sentry/pull/114885)\n\n#### Settings\n\n- Defer sentry app form mount until data loads by @priscilawebdev in [#115162](https://github.com/getsentry/sentry/pull/115162)\n- Always fetch detailed project in route context in [#115149](https://github.com/getsentry/sentry/pull/115149)\n- Collapse unused fields in team projects requests by @scttcper in [#114886](https://github.com/getsentry/sentry/pull/114886)\n\n#### Slack\n\n- Skip explore unfurls for unsupported chart types in [#115374](https://github.com/getsentry/sentry/pull/115374)\n- Drop empty list filter values when unfurling dashboards by @DominikB2014 in [#115273](https://github.com/getsentry/sentry/pull/115273)\n- Hash arg values when deduping unfurled links by @DominikB2014 in [#115200](https://github.com/getsentry/sentry/pull/115200)\n- Use logsAggregateSortBys for explore logs unfurl chart sort by @DominikB2014 in [#114984](https://github.com/getsentry/sentry/pull/114984)\n- Drop stale aggregateSortBys in metrics explore unfurl by @DominikB2014 in [#114982](https://github.com/getsentry/sentry/pull/114982)\n- Clamp too-fine URL interval in explore unfurl to ladder minimum by @DominikB2014 in [#114985](https://github.com/getsentry/sentry/pull/114985)\n- Categorize unrecognized Slack API error codes in [#114804](https://github.com/getsentry/sentry/pull/114804)\n- Render first visible metric chart in Explore unfurl by @DominikB2014 in [#114871](https://github.com/getsentry/sentry/pull/114871)\n- Forward all yAxes when unfurling Explore metrics URLs by @DominikB2014 in [#114868](https://github.com/getsentry/sentry/pull/114868)\n\n#### Snapshots\n\n- Show 'Waiting for base' instead of 'Base' when base artifact not found in [#115446](https://github.com/getsentry/sentry/pull/115446)\n- Preserve scroll position when switching diff modes in list view by @NicoHinderling in [#115001](https://github.com/getsentry/sentry/pull/115001)\n- Fix docs link by @mtopo27 in [#114857](https://github.com/getsentry/sentry/pull/114857)\n\n#### Span Buffer\n\n- Fix another process leak by @untitaker in [#115050](https://github.com/getsentry/sentry/pull/115050)\n- Fix flusher processes leaking on timeout by @untitaker in [#114955](https://github.com/getsentry/sentry/pull/114955)\n\n#### Spans\n\n- Remove conditional cleanup to fix flush lock double-flush bug by @untitaker in [#114883](https://github.com/getsentry/sentry/pull/114883)\n- Release flush lock in done_flush_segments in [#115169](https://github.com/getsentry/sentry/pull/115169)\n\n#### Tracemetrics\n\n- Use stricter value for selector options by @nsdeschenes in [#115479](https://github.com/getsentry/sentry/pull/115479)\n- Fix palette differences between table and viz by @k-fish in [#115282](https://github.com/getsentry/sentry/pull/115282)\n\n#### Typing\n\n- Remove snuba modules from the mypy weaklist by @kcons in [#115439](https://github.com/getsentry/sentry/pull/115439)\n- Remove more of sentry.incidents from the weaklist by @kcons in [#115304](https://github.com/getsentry/sentry/pull/115304)\n- Remove sentry.incidents.serializers from the mypy weaklist by @kcons in [#115232](https://github.com/getsentry/sentry/pull/115232)\n\n#### Ui\n\n- Allow tooltips inside hovercard in [#115590](https://github.com/getsentry/sentry/pull/115590)\n- Separate issues feed overlay groups in [#115576](https://github.com/getsentry/sentry/pull/115576)\n- Rank trace group by matches with fzf in [#115032](https://github.com/getsentry/sentry/pull/115032)\n- Table header icon size in [#114913](https://github.com/getsentry/sentry/pull/114913)\n\n#### Workflows\n\n- Require int ids in AlertRuleDetectorValidator by @kcons in [#115510](https://github.com/getsentry/sentry/pull/115510)\n- Don't report timeouts as errors in process_workflow_event or delayed_workflows by @kcons in [#115215](https://github.com/getsentry/sentry/pull/115215)\n- Require action_filters to be a list of dicts by @kcons in [#114860](https://github.com/getsentry/sentry/pull/114860)\n\n#### Other\n\n- (agent-ui) Derive staleness from a direct check w/scheduled rerender by @aliu39 in [#115344](https://github.com/getsentry/sentry/pull/115344)\n- (ai) Mirror AI conversation message parsers in [#114707](https://github.com/getsentry/sentry/pull/114707)\n- (alerts) Return 400 when trigger IDs don't belong to the alert rule being updated in [#115573](https://github.com/getsentry/sentry/pull/115573)\n- (Anomaly Detection) Verify the users project permissions in [#114900](https://github.com/getsentry/sentry/pull/114900)\n- (avatar) Add cached fallback to AsyncMemberAvatar by @natemoo-re in [#115554](https://github.com/getsentry/sentry/pull/115554)\n- (backendJsonFormAdapter) Convert disabledReason to disabled string in [#114847](https://github.com/getsentry/sentry/pull/114847)\n- (checkboxState) Update useListItemCheckboxContext to not rely on ApiQueryKey directly, only QueryKeyEndpointOptions in [#114997](https://github.com/getsentry/sentry/pull/114997)\n- (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)\n- (data-forwarding) Better permissions controls on editing page in [#114966](https://github.com/getsentry/sentry/pull/114966)\n- (digests) Don't filter by RuleSnooze by @kcons in [#115229](https://github.com/getsentry/sentry/pull/115229)\n- (discover) Guard against undefined items in collectQueryStringByKey by @sentry in [#115469](https://github.com/getsentry/sentry/pull/115469)\n- (eap) Normalize dashed UUIDs in search filters and resolve internal column names by @BYK in [#114550](https://github.com/getsentry/sentry/pull/114550)\n- (eslint) Inline disable new violations in [#114941](https://github.com/getsentry/sentry/pull/114941)\n- (events) Invert PS/AMD logos in dark mode by @priscilawebdev in [#115369](https://github.com/getsentry/sentry/pull/115369)\n- (feature-flags) Use sm text in tooltip date by @priscilawebdev in [#115159](https://github.com/getsentry/sentry/pull/115159)\n- (feedback) Disallow OR/AND operators in feedback search by @mrduncan in [#115113](https://github.com/getsentry/sentry/pull/115113)\n- (gsAdmin) Update admin portal contact channel and owner link by @swartzrock in [#114399](https://github.com/getsentry/sentry/pull/114399)\n- (identity) Remove bogus email_verified from VSTS identity providers by @michelletran-sentry in [#114863](https://github.com/getsentry/sentry/pull/114863)\n- (logs) Correct Date.now mock in virtual streaming test by @sentry in [#114793](https://github.com/getsentry/sentry/pull/114793)\n- (migrations) Catch missing historical_silo_assignments on MOVE_TO_PENDING by @wedamija in [#115087](https://github.com/getsentry/sentry/pull/115087)\n- (mypy) Remove stale weaklist entry for deleted test file by @NicoHinderling in [#115204](https://github.com/getsentry/sentry/pull/115204)\n- (nightshift) Make the (temporary) alert be a system alert, no rounded corners in [#114921](https://github.com/getsentry/sentry/pull/114921)\n- (oauth) Prevent session overwrite attack in authorization flow by @semgrep-code-getsentry in [#113791](https://github.com/getsentry/sentry/pull/113791)\n- (occ-eap) Prevent throw on None stack frame in [#115395](https://github.com/getsentry/sentry/pull/115395)\n- (ownership) Show specific error messages when ownership rule owners are invalid by @shashjar in [#114802](https://github.com/getsentry/sentry/pull/114802)\n- (release-health) Add stable processing jitter by @JoshFerge in [#115507](https://github.com/getsentry/sentry/pull/115507)\n- (repos) Fix virtualized repo list scroll container in non-nested mode in [#114901](https://github.com/getsentry/sentry/pull/114901)\n- (sdk-crash) Exclude React Native Supabase instrumentation from SDK crash detection by @antonis in [#115259](https://github.com/getsentry/sentry/pull/115259)\n- (seer-explorer) Clear input when switching sessions or starting new chat in [#115440](https://github.com/getsentry/sentry/pull/115440)\n- (seer-slack) Change thinking status by @alexsohn1126 in [#115280](https://github.com/getsentry/sentry/pull/115280)\n- (sentry-apps) Gate dashboard stats queries by @priscilawebdev in [#115056](https://github.com/getsentry/sentry/pull/115056)\n- (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)\n- (slack-unfurl) Preserve multiple groupBy entries on explore unfurl by @DominikB2014 in [#114862](https://github.com/getsentry/sentry/pull/114862)\n- (snuba) Map ClickHouse 'Too many simultaneous queries' to 429 instead of 500 by @BYK in [#114551](https://github.com/getsentry/sentry/pull/114551)\n- (superuser) Improve banner ux by @priscilawebdev in [#115168](https://github.com/getsentry/sentry/pull/115168)\n- (test) Fix flaky filesChanged test by using regex matcher by @ryan953 in [#114975](https://github.com/getsentry/sentry/pull/114975)\n- (tests) Fix missing control silo urls in test by @wedamija in [#114870](https://github.com/getsentry/sentry/pull/114870)\n- (trace-details) Show replacement attributes when no deprecated source exists in [#114943](https://github.com/getsentry/sentry/pull/114943)\n- (trace-meta) Fix types for EAP Trace Meta by @nsdeschenes in [#115553](https://github.com/getsentry/sentry/pull/115553)\n- (traces) Add null state to application metrics dropdown in [#115617](https://github.com/getsentry/sentry/pull/115617)\n- Allow reading multiple env secrets for Launchpad in [#115632](https://github.com/getsentry/sentry/pull/115632)\n- Wrap custom tags project_id and project.name by @cobyeastwood183 in [#115402](https://github.com/getsentry/sentry/pull/115402)\n- Mypy-weaklist-stale-on-delete by @joshuarli in [#115213](https://github.com/getsentry/sentry/pull/115213)\n- Be less strict when parsing apiUrls by @TkDodo in [#114978](https://github.com/getsentry/sentry/pull/114978)\n- Disable billing platform exception logging by @noahsmartin in [#114872](https://github.com/getsentry/sentry/pull/114872)\n\n### Documentation 📚\n\n- (spans) Update span buffer docs by @lvthanh03 in [#115483](https://github.com/getsentry/sentry/pull/115483)\n- Document Application Metrics dataset in [#115089](https://github.com/getsentry/sentry/pull/115089)\n\n### Internal Changes 🔧\n\n#### Aci\n\n- Update API docs landing page description by @ceorourke in [#115509](https://github.com/getsentry/sentry/pull/115509)\n- Remove beta tag on API docs by @ceorourke in [#115284](https://github.com/getsentry/sentry/pull/115284)\n- Use addErrorMessage for detector mutation errors by @evanpurkhiser in [#115205](https://github.com/getsentry/sentry/pull/115205)\n- Update new monitor page copy in [#115158](https://github.com/getsentry/sentry/pull/115158)\n- Narrow latest group detector query by @scttcper in [#115027](https://github.com/getsentry/sentry/pull/115027)\n- Move metric issues into generic post processing pipeline by @ceorourke in [#114786](https://github.com/getsentry/sentry/pull/114786)\n\n#### Agents\n\n- Clarify frontend typecheck command in [#115421](https://github.com/getsentry/sentry/pull/115421)\n- Better instructions for using apiOptions by @TkDodo in [#114949](https://github.com/getsentry/sentry/pull/114949)\n\n#### Alerts\n\n- Remove metric alert constraint on NotificationMessage by @ceorourke in [#115529](https://github.com/getsentry/sentry/pull/115529)\n- Move spike protection API docs to their own section by @ceorourke in [#115521](https://github.com/getsentry/sentry/pull/115521)\n- Drop IncidentTrigger model by @ceorourke in [#115502](https://github.com/getsentry/sentry/pull/115502)\n- Remove IncidentTrigger model by @ceorourke in [#115492](https://github.com/getsentry/sentry/pull/115492)\n- Remove a couple more usages of IncidentTrigger by @ceorourke in [#115458](https://github.com/getsentry/sentry/pull/115458)\n- Delete triggered_incidents from AlertRuleTrigger by @ceorourke in [#115454](https://github.com/getsentry/sentry/pull/115454)\n- Remove triggered_for_incident from tests in [#115451](https://github.com/getsentry/sentry/pull/115451)\n- Remove triggered_incidents from AlertRuleTrigger in [#115449](https://github.com/getsentry/sentry/pull/115449)\n- Remove usage of IncidentTrigger in [#115436](https://github.com/getsentry/sentry/pull/115436)\n- Drop RuleFireHistory table in [#115401](https://github.com/getsentry/sentry/pull/115401)\n- Remove RuleFireHistory in [#115328](https://github.com/getsentry/sentry/pull/115328)\n- Remove metric alerts dual processing log flag by @ceorourke in [#115342](https://github.com/getsentry/sentry/pull/115342)\n- Remove issue alert columns from NotificationMessage by @ceorourke in [#115290](https://github.com/getsentry/sentry/pull/115290)\n- Remove unused incident endpoint code by @ceorourke in [#115250](https://github.com/getsentry/sentry/pull/115250)\n- Remove dead alerts code by @ceorourke in [#115301](https://github.com/getsentry/sentry/pull/115301)\n- Remove unused incidents code by @ceorourke in [#115236](https://github.com/getsentry/sentry/pull/115236)\n- Drop SystemAlerts from the init queue component map by @evanpurkhiser in [#115223](https://github.com/getsentry/sentry/pull/115223)\n- Remove issue alert constraints on NotificationMessage by @ceorourke in [#115150](https://github.com/getsentry/sentry/pull/115150)\n- Remove dead standalone SystemAlerts mount by @evanpurkhiser in [#115222](https://github.com/getsentry/sentry/pull/115222)\n- Unpublish legacy rule endpoints by @ceorourke in [#115154](https://github.com/getsentry/sentry/pull/115154)\n- Adopt useModal in issue rule actions in [#115119](https://github.com/getsentry/sentry/pull/115119)\n- Remove should_fire_workflow_actions in [#115083](https://github.com/getsentry/sentry/pull/115083)\n- Drop NeglectedRule table by @ceorourke in [#114976](https://github.com/getsentry/sentry/pull/114976)\n- Remove NeglectedRule model by @ceorourke in [#114927](https://github.com/getsentry/sentry/pull/114927)\n\n#### Autofix\n\n- Style artifact preview by @Zylphrex in [#115478](https://github.com/getsentry/sentry/pull/115478)\n- Add more prompt metadata to autofix in [#115408](https://github.com/getsentry/sentry/pull/115408)\n- Adopt useModal in autofix views by @evanpurkhiser in [#115126](https://github.com/getsentry/sentry/pull/115126)\n- Replace derived state with useMemo in autofixProgressBar in [#115146](https://github.com/getsentry/sentry/pull/115146)\n\n#### Billing\n\n- Bumped protos to 0.10.0 in [#115609](https://github.com/getsentry/sentry/pull/115609)\n- Bumped protos version to 0.8.32 in [#115419](https://github.com/getsentry/sentry/pull/115419)\n- Adopt useModal in billing views by @evanpurkhiser in [#115129](https://github.com/getsentry/sentry/pull/115129)\n- Add better extras to logs by @brendanhsentry in [#115209](https://github.com/getsentry/sentry/pull/115209)\n- Update metrics sample rate by @brendanhsentry in [#115106](https://github.com/getsentry/sentry/pull/115106)\n- Update plan features copy and remove Developer plan changes link by @souredoutlook in [#114824](https://github.com/getsentry/sentry/pull/114824)\n\n#### Cells\n\n- Remove cell restriction code for Jira and integrations by @lynnagara in [#115508](https://github.com/getsentry/sentry/pull/115508)\n- Rename SENTRY_OUTBOX_MODELS key from REGION to CELL by @lynnagara in [#115210](https://github.com/getsentry/sentry/pull/115210)\n- Assert control org listing matches cell response in [#114919](https://github.com/getsentry/sentry/pull/114919)\n- Remove dead OrganizationRegionEndpoint in [#114791](https://github.com/getsentry/sentry/pull/114791)\n\n#### Ci\n\n- Skip importing irrelevant test files during pytest collection in [#114107](https://github.com/getsentry/sentry/pull/114107)\n- Route postgres through Unix domain socket in CI in [#114108](https://github.com/getsentry/sentry/pull/114108)\n- Re-apply parallel devservices startup for backend tests by @mchen-sentry in [#114104](https://github.com/getsentry/sentry/pull/114104)\n\n#### Codeowners\n\n- Clean up in [#115237](https://github.com/getsentry/sentry/pull/115237)\n- Improve logging & testing for `update_code_owners_schema` task by @shashjar in [#115348](https://github.com/getsentry/sentry/pull/115348)\n- Improve logging & testing for `code_owners_auto_sync` task by @shashjar in [#115347](https://github.com/getsentry/sentry/pull/115347)\n\n#### Cross Events\n\n- Remove flag registration in [#115267](https://github.com/getsentry/sentry/pull/115267)\n- Clean up feature flag by @nsdeschenes in [#115263](https://github.com/getsentry/sentry/pull/115263)\n- Temp disable traces tab and add new checks by @nsdeschenes in [#114854](https://github.com/getsentry/sentry/pull/114854)\n\n#### Dashboards\n\n- Replace derived state in editAccessSelector in [#115155](https://github.com/getsentry/sentry/pull/115155)\n- Use VisualizationWidget for all dataset types in [#114622](https://github.com/getsentry/sentry/pull/114622)\n- Adopt useModal in dashboard revisions in [#115122](https://github.com/getsentry/sentry/pull/115122)\n- Lower default async queue parallel limit to 15 by @DominikB2014 in [#115076](https://github.com/getsentry/sentry/pull/115076)\n- Drop DashboardLastVisited table by @wedamija in [#114930](https://github.com/getsentry/sentry/pull/114930)\n- Remove DashboardLastVisited model by @wedamija in [#114929](https://github.com/getsentry/sentry/pull/114929)\n- Remove top_n and stacked_area display type handling by @DominikB2014 in [#114903](https://github.com/getsentry/sentry/pull/114903)\n- Improve number formatting documentation in [#112410](https://github.com/getsentry/sentry/pull/112410)\n\n#### Deps\n\n- Bump taskbroker-client and relax bump_version lint by @untitaker in [#115281](https://github.com/getsentry/sentry/pull/115281)\n- Bump urllib3 from 2.6.3 to 2.7.0 by @dependabot in [#115298](https://github.com/getsentry/sentry/pull/115298)\n- Bump lxml from 5.3.0 to 6.1.0 by @dependabot in [#115060](https://github.com/getsentry/sentry/pull/115060)\n- Bump mistune from 2.0.4 to 3.2.1 by @dependabot in [#115260](https://github.com/getsentry/sentry/pull/115260)\n- Bump django from 5.2.12 to 5.2.14 by @dependabot in [#115261](https://github.com/getsentry/sentry/pull/115261)\n- Bump cryptography from 46.0.5 to 46.0.7 by @dependabot in [#115061](https://github.com/getsentry/sentry/pull/115061)\n- Bump requests from 2.32.4 to 2.33.0 by @dependabot in [#115062](https://github.com/getsentry/sentry/pull/115062)\n- Bump pillow from 12.1.1 to 12.2.0 by @dependabot in [#115059](https://github.com/getsentry/sentry/pull/115059)\n- Update mypy to 1.20.2 by @JoshFerge in [#114969](https://github.com/getsentry/sentry/pull/114969)\n\n#### Deps Dev\n\n- Bump pytest from 8.1.2 to 9.0.3 by @dependabot in [#115057](https://github.com/getsentry/sentry/pull/115057)\n- Bump terser from 5.40.0 to 5.46.2 by @dependabot in [#114826](https://github.com/getsentry/sentry/pull/114826)\n\n#### Explore\n\n- Migrate context.tsx to nuqs by @ryan953 in [#115435](https://github.com/getsentry/sentry/pull/115435)\n- Migrate replayQueryParamsProvider to nuqs by @ryan953 in [#115422](https://github.com/getsentry/sentry/pull/115422)\n- Inline and remove getIdFromLocation helper by @ryan953 in [#115442](https://github.com/getsentry/sentry/pull/115442)\n- Deprecate getQueryFromLocation by @ryan953 in [#115427](https://github.com/getsentry/sentry/pull/115427)\n- Move updateNullableLocation to utils/url/ in [#115415](https://github.com/getsentry/sentry/pull/115415)\n- Remove flags for overlay charts by @nsdeschenes in [#115266](https://github.com/getsentry/sentry/pull/115266)\n- Adopt useModal in explore views by @evanpurkhiser in [#115123](https://github.com/getsentry/sentry/pull/115123)\n- Extract and re-use search sorting logic by @nsdeschenes in [#115194](https://github.com/getsentry/sentry/pull/115194)\n\n#### Feedback\n\n- Adopt useModal in feedback item by @evanpurkhiser in [#115124](https://github.com/getsentry/sentry/pull/115124)\n- Replace derived state in useFeedbackHasNewItems in [#115151](https://github.com/getsentry/sentry/pull/115151)\n\n#### Flags\n\n- Remove organizations:alerts-timeseries-comparison registration by @wedamija in [#113375](https://github.com/getsentry/sentry/pull/113375)\n- Remove organizations:symbol-sources gates (backend) by @wedamija in [#114993](https://github.com/getsentry/sentry/pull/114993)\n- Remove organizations:performance-transaction-summary-eap registration by @wedamija in [#115015](https://github.com/getsentry/sentry/pull/115015)\n- Remove organizations:performance-transaction-summary-eap gates (frontend) by @wedamija in [#115014](https://github.com/getsentry/sentry/pull/115014)\n- Remove organizations:integrations-cursor registration by @wedamija in [#115017](https://github.com/getsentry/sentry/pull/115017)\n- Remove organizations:insights-prebuilt-dashboards by @gggritso in [#114960](https://github.com/getsentry/sentry/pull/114960)\n- Remove organizations:integrations-cursor gates (frontend) by @wedamija in [#115016](https://github.com/getsentry/sentry/pull/115016)\n- Remove organizations:symbol-sources gates (frontend) by @wedamija in [#114991](https://github.com/getsentry/sentry/pull/114991)\n- Move 2 should-be-permanent flags to permanent.py by @wedamija in [#114934](https://github.com/getsentry/sentry/pull/114934)\n- Remove organizations:new-organization-member-invite by @wedamija in [#114812](https://github.com/getsentry/sentry/pull/114812)\n- Remove organizations:integrations-deployment by @wedamija in [#114990](https://github.com/getsentry/sentry/pull/114990)\n- Remove organizations:on-demand-gen-metrics-deprecation-query-prefill by @wedamija in [#114810](https://github.com/getsentry/sentry/pull/114810)\n- Remove organizations:app-store-connect-multiple by @wedamija in [#114935](https://github.com/getsentry/sentry/pull/114935)\n- Remove organizations:dashboards-starred-reordering (backend) in [#114817](https://github.com/getsentry/sentry/pull/114817)\n- Remove organizations:continuous-profiling-beta-ui (registration) in [#114816](https://github.com/getsentry/sentry/pull/114816)\n- Remove organizations:dashboards-starred-reordering (frontend) in [#114818](https://github.com/getsentry/sentry/pull/114818)\n- Remove organizations:continuous-profiling-beta-ui (frontend) in [#114815](https://github.com/getsentry/sentry/pull/114815)\n- Make organizations:workflow-engine-log-evaluations permanent in [#114803](https://github.com/getsentry/sentry/pull/114803)\n- Remove organizations:uptime-auto-detected-monitor-emails in [#114806](https://github.com/getsentry/sentry/pull/114806)\n- Remove organizations:normalize_segment_names_in_span_enrichment by @wedamija in [#114809](https://github.com/getsentry/sentry/pull/114809)\n- Remove organizations:on-demand-gen-metrics-deprecation-prefill by @wedamija in [#114811](https://github.com/getsentry/sentry/pull/114811)\n- Remove organizations:on-demand-metrics-query-spec-version-two by @wedamija in [#114808](https://github.com/getsentry/sentry/pull/114808)\n\n#### Forms\n\n- Migrate builtInRepositories form by @priscilawebdev in [#115053](https://github.com/getsentry/sentry/pull/115053)\n- Migrate loaderScript from legacy form by @priscilawebdev in [#115041](https://github.com/getsentry/sentry/pull/115041)\n\n#### Integrations\n\n- Add ExternalActor.source field by @hobzcalvin in [#115300](https://github.com/getsentry/sentry/pull/115300)\n- Remove integration repos tab, rename to Settings by @evanpurkhiser in [#115196](https://github.com/getsentry/sentry/pull/115196)\n- Log Jira issue.updated webhook payloads behind a flag by @hobzcalvin in [#114822](https://github.com/getsentry/sentry/pull/114822)\n\n#### Issue Detection\n\n- Increase trace samples for AI Issue Detection by @roggenkemper in [#115491](https://github.com/getsentry/sentry/pull/115491)\n- Add plan_tier to budget_exceeded log by @roggenkemper in [#114961](https://github.com/getsentry/sentry/pull/114961)\n\n#### Issues\n\n- Clean up parsing of Seer activity metadata by @shashjar in [#115531](https://github.com/getsentry/sentry/pull/115531)\n- Remove InterimSection in [#115355](https://github.com/getsentry/sentry/pull/115355)\n- Adopt useModal in issue views by @evanpurkhiser in [#115128](https://github.com/getsentry/sentry/pull/115128)\n- Use apiOptions for apple crash report by @scttcper in [#114601](https://github.com/getsentry/sentry/pull/114601)\n- Drop redundant list comprehension in handle_ignored by @mrduncan in [#114939](https://github.com/getsentry/sentry/pull/114939)\n- Remove stack trace coverage legend by @scttcper in [#114986](https://github.com/getsentry/sentry/pull/114986)\n\n#### Iswf\n\n- Removes old deprecated retry task decorator by @GabeVillalobos in [#115135](https://github.com/getsentry/sentry/pull/115135)\n- Removes retry decorators from integration-related tasks by @GabeVillalobos in [#115028](https://github.com/getsentry/sentry/pull/115028)\n- Updates deletion and remaining task decorators to taskbroker retries by @GabeVillalobos in [#115029](https://github.com/getsentry/sentry/pull/115029)\n\n#### Jest\n\n- Mark flaky Jest tests with it.isKnownFlake() in [#115447](https://github.com/getsentry/sentry/pull/115447)\n- Update flaky test markers based on recent CI data by @ryan953 in [#115277](https://github.com/getsentry/sentry/pull/115277)\n\n#### Lint Rules\n\n- Enabling unicorn/refer-native-coercion-functions and fixing violations by @Abdkhan14 in [#115078](https://github.com/getsentry/sentry/pull/115078)\n- Enabling unicorn/no-array-push-push and fixing violations by @Abdkhan14 in [#115093](https://github.com/getsentry/sentry/pull/115093)\n- Enabling 'unicorn/no-zero-fractions' and fixing vi… by @Abdkhan14 in [#115077](https://github.com/getsentry/sentry/pull/115077)\n- Enabling unicorn/throw-new-error' and fixing viola… by @Abdkhan14 in [#115074](https://github.com/getsentry/sentry/pull/115074)\n\n#### Onboarding\n\n- Replace deprecated useRouter with useLocation and useNavigate by @cursor in [#115453](https://github.com/getsentry/sentry/pull/115453)\n- Exclude flutter profiling from SCM info cards in [#115383](https://github.com/getsentry/sentry/pull/115383)\n- Migrate storeCrashReports config by @priscilawebdev in [#114942](https://github.com/getsentry/sentry/pull/114942)\n\n#### Preprod\n\n- Unify snapshot detail header badges with table status column in [#115633](https://github.com/getsentry/sentry/pull/115633)\n- Extract shared snapshot status derivation for list and detail endpoints in [#115604](https://github.com/getsentry/sentry/pull/115604)\n- Remove approval_status from frontend search attributes in [#115588](https://github.com/getsentry/sentry/pull/115588)\n- Add no_base_build comparison state for snapshots by @mtopo27 in [#115561](https://github.com/getsentry/sentry/pull/115561)\n- Move comparison state badges from Changes to Status column by @mtopo27 in [#115506](https://github.com/getsentry/sentry/pull/115506)\n- Reorder snapshot table columns and show Base badge in Status by @mtopo27 in [#115488](https://github.com/getsentry/sentry/pull/115488)\n- Standardize logging key to preprod_artifact_id by @NicoHinderling in [#115462](https://github.com/getsentry/sentry/pull/115462)\n- Increase process_artifact deadline from 12 to 15 minutes by @NicoHinderling in [#115349](https://github.com/getsentry/sentry/pull/115349)\n- Remove redundant content_hash and fix extra field leakage in snapshot responses by @NicoHinderling in [#115323](https://github.com/getsentry/sentry/pull/115323)\n- Use React components for app size treemap tooltip by @TkDodo in [#115045](https://github.com/getsentry/sentry/pull/115045)\n- Add blocklist to filter internal fields from snapshot metadata tooltip by @NicoHinderling in [#114988](https://github.com/getsentry/sentry/pull/114988)\n- Align snapshot status checks UI with PR comments pattern by @runningcode in [#114963](https://github.com/getsentry/sentry/pull/114963)\n\n#### Profiling\n\n- Remove base64 rollout option for profile task payload in [#115387](https://github.com/getsentry/sentry/pull/115387)\n- Remove base64 encoding from profile task payload by @untitaker in [#115069](https://github.com/getsentry/sentry/pull/115069)\n\n#### Repos\n\n- Consolidate organizationRepositoriesV2 into organizationRepositories by @evanpurkhiser in [#115214](https://github.com/getsentry/sentry/pull/115214)\n- Remove old SCM integration tree view by @evanpurkhiser in [#115175](https://github.com/getsentry/sentry/pull/115175)\n- Add responsive hiding for repo count tag and manage label by @evanpurkhiser in [#115134](https://github.com/getsentry/sentry/pull/115134)\n- Give repo count tag its own grid column by @evanpurkhiser in [#115022](https://github.com/getsentry/sentry/pull/115022)\n- Move installation callbacks onto ScmInstallation, add ConnectedInstallation wrapper by @evanpurkhiser in [#114979](https://github.com/getsentry/sentry/pull/114979)\n- Extract repo count tooltip logic into a function with early returns by @evanpurkhiser in [#114887](https://github.com/getsentry/sentry/pull/114887)\n- Use lodash sortBy for repo sort in SCM table in [#114932](https://github.com/getsentry/sentry/pull/114932)\n- Add installation settings drawer test in repos v2 by @evanpurkhiser in [#114861](https://github.com/getsentry/sentry/pull/114861)\n\n#### Repositories\n\n- Switch over queries for `RepositoryProjectPathConfig` to use the new `ProjectRepository` table in [#115516](https://github.com/getsentry/sentry/pull/115516)\n- Switch over queries for `SeerProjectRepository` to use `ProjectRepository` in [#115456](https://github.com/getsentry/sentry/pull/115456)\n- Mark `project_repository` column as not null. by @wedamija in [#115524](https://github.com/getsentry/sentry/pull/115524)\n- Backfill the new `ProjectRepository` table by @wedamija in [#115351](https://github.com/getsentry/sentry/pull/115351)\n- Dual write to the new `ProjectRepository` table when we create related rows in other tables in [#115346](https://github.com/getsentry/sentry/pull/115346)\n- Add a table to allow us to link a project to a repository in [#115331](https://github.com/getsentry/sentry/pull/115331)\n- Remove most feature flags from repo syncing by @wedamija in [#115033](https://github.com/getsentry/sentry/pull/115033)\n\n#### Searchquerybuilder\n\n- Share filter parser grammar in [#115557](https://github.com/getsentry/sentry/pull/115557)\n- Avoid full filter parse for free text in [#115563](https://github.com/getsentry/sentry/pull/115563)\n\n#### Seer\n\n- Remove gap and use transparent buttons in explorer drawer header in [#115594](https://github.com/getsentry/sentry/pull/115594)\n- Remove dead ISSUE_SUMMARY_FIXABILITY referrer by @chromy in [#115570](https://github.com/getsentry/sentry/pull/115570)\n- Remove alert source from autofix automation by @chromy in [#115568](https://github.com/getsentry/sentry/pull/115568)\n- Clean up LLM context hint in issue list by @Mihir-Mavalankar in [#115565](https://github.com/getsentry/sentry/pull/115565)\n- Extract explorer sessions into a shared React context by @JonasBa in [#115515](https://github.com/getsentry/sentry/pull/115515)\n- Adopt useModal in seer automation views by @evanpurkhiser in [#115131](https://github.com/getsentry/sentry/pull/115131)\n- Descriptive tool call phrases in context hints by @Mihir-Mavalankar in [#115303](https://github.com/getsentry/sentry/pull/115303)\n- Simplify AskSeerButton and centralize null handling by @JonasBa in [#115188](https://github.com/getsentry/sentry/pull/115188)\n- Remove ExplorerFloatingActionButton by @JonasBa in [#115192](https://github.com/getsentry/sentry/pull/115192)\n- Promote taxonomy routes to stable structured context by @Mihir-Mavalankar in [#115191](https://github.com/getsentry/sentry/pull/115191)\n- Use send_halt_message for identity linking prompt in [#115099](https://github.com/getsentry/sentry/pull/115099)\n- Skip events without stacktraces in lightweight RCA clustering by @yuvmen in [#115098](https://github.com/getsentry/sentry/pull/115098)\n- Promote event routes to stable structured context flag by @Mihir-Mavalankar in [#115009](https://github.com/getsentry/sentry/pull/115009)\n- Promote issue routes to stable structured context flag in [#114920](https://github.com/getsentry/sentry/pull/114920)\n- Drop legacy night-shift columns and kind db_default in [#114828](https://github.com/getsentry/sentry/pull/114828)\n- Genericize night shift result table by @trevor-e in [#114790](https://github.com/getsentry/sentry/pull/114790)\n\n#### Seer Explorer\n\n- Rewrite types to use zod schemas in [#115206](https://github.com/getsentry/sentry/pull/115206)\n- Increase stale timeout to 120s in [#115386](https://github.com/getsentry/sentry/pull/115386)\n- Remove unused isVisible and isMinimized props from InputSection by @aliu39 in [#115227](https://github.com/getsentry/sentry/pull/115227)\n\n#### Settings\n\n- Adopt useModal in settings views in [#115130](https://github.com/getsentry/sentry/pull/115130)\n- Migrate sentry app form to useScrapsForm by @priscilawebdev in [#114138](https://github.com/getsentry/sentry/pull/114138)\n- Collapse unused fields in project list requests by @scttcper in [#115021](https://github.com/getsentry/sentry/pull/115021)\n\n#### Snapshots\n\n- Fix snapshot product doc link in [#115410](https://github.com/getsentry/sentry/pull/115410)\n- Update settings badge from alpha to beta by @mtopo27 in [#115275](https://github.com/getsentry/sentry/pull/115275)\n- Improve responsiveness for snapshot detail view in [#114967](https://github.com/getsentry/sentry/pull/114967)\n\n#### Spans\n\n- Add back options for conditional flush cleanup by @lvthanh03 in [#115075](https://github.com/getsentry/sentry/pull/115075)\n- Unregister graduated option `enforce-segment-size` by @lvthanh03 in [#114773](https://github.com/getsentry/sentry/pull/114773)\n\n#### Types\n\n- Add type stubs for prism-line-highlight plugin in [#115067](https://github.com/getsentry/sentry/pull/115067)\n- Narrow type in Promise.catch from any to unknown in [#114849](https://github.com/getsentry/sentry/pull/114849)\n\n#### Ui\n\n- Remove dead ClippedBox height callback by @scttcper in [#115317](https://github.com/getsentry/sentry/pull/115317)\n- Remove Ctrl+Shift+1 theme toggle keyboard shortcut by @JonasBa in [#114875](https://github.com/getsentry/sentry/pull/114875)\n\n#### Other\n\n- (agent) Refactor interrupt display logic to use a hasSentInterrupt flag by @aliu39 in [#115094](https://github.com/getsentry/sentry/pull/115094)\n- (agent-ui) Use block id instead of timestamp for optimistic block logic by @aliu39 in [#115226](https://github.com/getsentry/sentry/pull/115226)\n- (ai) Add form submit + mutation guidance to migration skill by @priscilawebdev in [#115358](https://github.com/getsentry/sentry/pull/115358)\n- (api) Remove unused fileNameBlocklist constant in [#115183](https://github.com/getsentry/sentry/pull/115183)\n- (app) Flatten root provider chain into a list by @evanpurkhiser in [#115311](https://github.com/getsentry/sentry/pull/115311)\n- (arithmeticBuilder) Replace derived state with useMemo in story by @ryan953 in [#115145](https://github.com/getsentry/sentry/pull/115145)\n- (artifact-bundles) Scope indexing state query to org by @scttcper in [#114183](https://github.com/getsentry/sentry/pull/114183)\n- (assisted-query) Remove old ai_query analytics events and analyticsSource prop by @aliu39 in [#115243](https://github.com/getsentry/sentry/pull/115243)\n- (attributes) Tidy up attribute getter functions by @nsdeschenes in [#114846](https://github.com/getsentry/sentry/pull/114846)\n- (automations) Adopt useModal in action settings by @evanpurkhiser in [#115125](https://github.com/getsentry/sentry/pull/115125)\n- (autopilot) Remove task scheduling for dead autopilot project by @vgrozdanic in [#115465](https://github.com/getsentry/sentry/pull/115465)\n- (billing-platform) Log response in service method wrapper by @brendanhsentry in [#115246](https://github.com/getsentry/sentry/pull/115246)\n- (Capacitor) Update getting started from new projects in [#113913](https://github.com/getsentry/sentry/pull/113913)\n- (cmdk) Migrate command palette identifier lookup to apiOptions in [#114835](https://github.com/getsentry/sentry/pull/114835)\n- (context engine) Add date and time data to context by @Mihir-Mavalankar in [#115392](https://github.com/getsentry/sentry/pull/115392)\n- (crons) Adopt useModal in upgrade CTA in [#115118](https://github.com/getsentry/sentry/pull/115118)\n- (data-forwarding) Ensure DataForwarding page is usable for members/team-admins in [#114859](https://github.com/getsentry/sentry/pull/114859)\n- (ds) Remove reservoir sampling rule by @Dav1dde in [#115365](https://github.com/getsentry/sentry/pull/115365)\n- (dynamic-sampling) Add status to duration metrics in per-org pipeline by @shellmayr in [#114954](https://github.com/getsentry/sentry/pull/114954)\n- (endpoints) Remove old options by @tobias-wilfert in [#114951](https://github.com/getsentry/sentry/pull/114951)\n- (eslint) Fixing violations and enabling no-prototype-builtins rule in [#114866](https://github.com/getsentry/sentry/pull/114866)\n- (events) Adopt useModal in events interfaces by @evanpurkhiser in [#115116](https://github.com/getsentry/sentry/pull/115116)\n- (explorer) Refactor optimistic block state in useSeerExplorer by @aliu39 in [#114603](https://github.com/getsentry/sentry/pull/114603)\n- (feature-flags) Use React components for flag series tooltip by @TkDodo in [#114968](https://github.com/getsentry/sentry/pull/114968)\n- (features) Remove organizations:discover flag in [#114895](https://github.com/getsentry/sentry/pull/114895)\n- (flagpole-wildcard-op) Implementing 'matches' as a flagpole con… by @Abdkhan14 in [#115385](https://github.com/getsentry/sentry/pull/115385)\n- (frontend) Use tsgo for frontend typecheck, upgrade tsgo by @scttcper in [#115504](https://github.com/getsentry/sentry/pull/115504)\n- (gsAdmin) Migrate relocation modals to scraps by @priscilawebdev in [#115363](https://github.com/getsentry/sentry/pull/115363)\n- (insights) Remove usage of `insights-prebuilt-dashboards` feature flag in [#114373](https://github.com/getsentry/sentry/pull/114373)\n- (issue-details) Use React components for event markline tooltip in [#115043](https://github.com/getsentry/sentry/pull/115043)\n- (lint) No-non-null-assertion in scraps by @TkDodo in [#115165](https://github.com/getsentry/sentry/pull/115165)\n- (metrics) Remove now-unused prune_old_open_period_activity task in [#114897](https://github.com/getsentry/sentry/pull/114897)\n- (monitors) Singularize Monitor Type labels by @souredoutlook in [#115100](https://github.com/getsentry/sentry/pull/115100)\n- (mypy) Extend prevent-weaklist-additions hook to also guard disable_error_code section by @joshuarli in [#115217](https://github.com/getsentry/sentry/pull/115217)\n- (occ-eap) Raise missing trace ID log to info by @thetruecpaul in [#115088](https://github.com/getsentry/sentry/pull/115088)\n- (performance) Adopt useModal in performance views in [#115121](https://github.com/getsentry/sentry/pull/115121)\n- (process-segments) Remove semantic partitioning option by @untitaker in [#115370](https://github.com/getsentry/sentry/pull/115370)\n- (projects) Convert deprecated project redirect to hooks by @scttcper in [#115249](https://github.com/getsentry/sentry/pull/115249)\n- (releases) Use React components for mobile builds chart tooltip in [#115044](https://github.com/getsentry/sentry/pull/115044)\n- (relocation) Adopt useModal in relocation admin in [#115117](https://github.com/getsentry/sentry/pull/115117)\n- (replay) Adopt useModal in replay components in [#115120](https://github.com/getsentry/sentry/pull/115120)\n- (rules) Remove references to NeglectedRule in [#114894](https://github.com/getsentry/sentry/pull/114894)\n- (scraps) Update FeatureBadge to use Tag variants with icon-only content in [#115064](https://github.com/getsentry/sentry/pull/115064)\n- (slack) Update chart unfurl link-identity prompt copy by @DominikB2014 in [#115086](https://github.com/getsentry/sentry/pull/115086)\n- (slot) Remove missing-outlet warning by @natemoo-re in [#115110](https://github.com/getsentry/sentry/pull/115110)\n- (st) Add file to test mappings by @joshuarli in [#114882](https://github.com/getsentry/sentry/pull/114882)\n- (supergroups) Drop deprecated `RCASource` in [#114912](https://github.com/getsentry/sentry/pull/114912)\n- (tag) Use gap instead of margins for spacing by @evanpurkhiser in [#115020](https://github.com/getsentry/sentry/pull/115020)\n- (tracemetrics) Refactor equation prefix stripping in alerts by @narsaynorath in [#114319](https://github.com/getsentry/sentry/pull/114319)\n- (tsc) Switch useApiQuery to apiFetch and unify queryKey shape in [#114845](https://github.com/getsentry/sentry/pull/114845)\n- (unfurl) Split explore unfurl parsing per dataset by @DominikB2014 in [#114764](https://github.com/getsentry/sentry/pull/114764)\n- (webhooks) Add log to note stats on who is tripping the breaker by @Christinarlong in [#114888](https://github.com/getsentry/sentry/pull/114888)\n- (workflow_engine) Pass workflow_id explicitly instead of via queryset annotation in [#114784](https://github.com/getsentry/sentry/pull/114784)\n- Add simple dashboard generation instructions in [#115635](https://github.com/getsentry/sentry/pull/115635)\n- Remove createDefinedContext utility, inline standard createContext + hooks in [#115544](https://github.com/getsentry/sentry/pull/115544)\n- Migrate chartSelectionContext to nuqs by @ryan953 in [#115324](https://github.com/getsentry/sentry/pull/115324)\n- Remove useResettableState() by @ryan953 in [#115512](https://github.com/getsentry/sentry/pull/115512)\n- Inline getExtrapolateFromLocation and remove helper by @ryan953 in [#115445](https://github.com/getsentry/sentry/pull/115445)\n- Upgrade backend mypy to 2.1.0 by @JoshFerge in [#115477](https://github.com/getsentry/sentry/pull/115477)\n- Inline getTitleFromLocation helper function by @ryan953 in [#115441](https://github.com/getsentry/sentry/pull/115441)\n- Add new referrer to track in-chat links in [#115398](https://github.com/getsentry/sentry/pull/115398)\n- Add last_usage_ts to usage service in [#115353](https://github.com/getsentry/sentry/pull/115353)\n- Migrate simple useQueryParamState call sites to nuqs in [#115310](https://github.com/getsentry/sentry/pull/115310)\n- Drop withSentryAppComponents HoC by @evanpurkhiser in [#115334](https://github.com/getsentry/sentry/pull/115334)\n- Drop withConfig HoC by @evanpurkhiser in [#115333](https://github.com/getsentry/sentry/pull/115333)\n- Drop withOrganizations HoC by @evanpurkhiser in [#115321](https://github.com/getsentry/sentry/pull/115321)\n- Upgrade `sentry-arroyo` from 2.39.1 to 2.39.2 by @george-sentry in [#115269](https://github.com/getsentry/sentry/pull/115269)\n- Add seer paying orgs to context engine by @shruthilayaj in [#115208](https://github.com/getsentry/sentry/pull/115208)\n- Clean up explorer index flags by @shruthilayaj in [#115186](https://github.com/getsentry/sentry/pull/115186)\n- Bump protos in [#115187](https://github.com/getsentry/sentry/pull/115187)\n- Bump protos in [#115152](https://github.com/getsentry/sentry/pull/115152)\n- Run getsentry acceptance on gsApp changes by @priscilawebdev in [#114704](https://github.com/getsentry/sentry/pull/114704)\n- Bump protos by @noahsmartin in [#115040](https://github.com/getsentry/sentry/pull/115040)\n- Bump sentry-protos to 0.8.27 in [#114931](https://github.com/getsentry/sentry/pull/114931)\n- Bump sentry-protos to 0.8.26 in [#114905](https://github.com/getsentry/sentry/pull/114905)\n- Bump new development version by @sentry-release-bot[bot] in [7e8b2314](https://github.com/getsentry/sentry/commit/7e8b2314bba4310ca85da05f1515dd99ef527b00)\n\n### Other\n\n- fix(cells) Increase the task deadline for outbox scheduling in [#115636](https://github.com/getsentry/sentry/pull/115636)\n- o11y(preprod): Add context to snapshot status check and PR comment logs in [#115612](https://github.com/getsentry/sentry/pull/115612)\n- o11y(assisted-query): track result counts after AI query is applied in [#115240](https://github.com/getsentry/sentry/pull/115240)\n- fix(relocations) Use str instead of uuid task parameter in [#115587](https://github.com/getsentry/sentry/pull/115587)\n- chore(cells) Reduce indirection in organization.provisioning in [#115522](https://github.com/getsentry/sentry/pull/115522)\n- fix(cells) Move metric collection for outbox backfill in [#115552](https://github.com/getsentry/sentry/pull/115552)\n- Add evals devservices mode by @JoshFerge in [#115526](https://github.com/getsentry/sentry/pull/115526)\n- ref(flex) run codemod on orphaned files by @JonasBa in [#115393](https://github.com/getsentry/sentry/pull/115393)\n- feat(cells) Add option based control for cell rollout by @markstory in [#115409](https://github.com/getsentry/sentry/pull/115409)\n- deps(scm): Upgrade sentry-scm to 0.14.0 in [#115376](https://github.com/getsentry/sentry/pull/115376)\n- Fully remove issue alert columns on NotificationMessage in [#115327](https://github.com/getsentry/sentry/pull/115327)\n- feat(cells) Make organization-create work in control silo by @markstory in [#115238](https://github.com/getsentry/sentry/pull/115238)\n- fix(types) Remove sentry.net.http from the ignore list by @markstory in [#115185](https://github.com/getsentry/sentry/pull/115185)\n- chore(cells) Remove org_setup_complete by @markstory in [#115103](https://github.com/getsentry/sentry/pull/115103)\n- switch from alpha -> beta badge by @mtopo27 in [#115197](https://github.com/getsentry/sentry/pull/115197)\n- Remove Rulefirehistory references in [#115035](https://github.com/getsentry/sentry/pull/115035)\n- fix(spans) Trim environment names to prevent overflows in [#115141](https://github.com/getsentry/sentry/pull/115141)\n- Remove references to RuleFireHistory by @ceorourke in [#115036](https://github.com/getsentry/sentry/pull/115036)\n- chore(tests) Improve assertion failure messages for analytics events by @markstory in [#115002](https://github.com/getsentry/sentry/pull/115002)\n- fix(cells) Add referrer to org create endpoint by @markstory in [#114962](https://github.com/getsentry/sentry/pull/114962)\n- chore(cells) Remove remaining usage of deprecated provisioning options by @markstory in [#114879](https://github.com/getsentry/sentry/pull/114879)\n- Add 'organizations:relay-default-trace-id' to config in [#114907](https://github.com/getsentry/sentry/pull/114907)\n- Update SDK version and options by @cleptric in [#114856](https://github.com/getsentry/sentry/pull/114856)\n- Additional logging and metrics for suspended user activity by @geoffg-sentry in [#114749](https://github.com/getsentry/sentry/pull/114749)\n\n_Plus 1 more_","publishedAt":"2026-05-18T08:10:19.000Z","fetchedAt":"2026-05-18T13:00:39.016Z","url":"https://github.com/getsentry/sentry/releases/tag/26.5.0","media":[],"coverageCount":0},{"id":"rel_kVufgfB0kf4hCsfyEud-h","version":"26.4.2","type":"feature","title":"26.4.2","summary":"### New Features ✨\n\n#### Aci\n\n- Add inline alert creation to monitor details page by @malwilley in [#114395](https://github.com/getsentry/sentry/pull/...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- Add inline alert creation to monitor details page by @malwilley in [#114395](https://github.com/getsentry/sentry/pull/114395)\n- Hide team metric alerts triggered component in workflow engine UI by @ceorourke in [#114504](https://github.com/getsentry/sentry/pull/114504)\n\n#### Admin\n\n- Add admin audit log tab to customer details view by @swartzrock in [#113943](https://github.com/getsentry/sentry/pull/113943)\n- Add legacy Seer migration action to customer admin by @swartzrock in [#114126](https://github.com/getsentry/sentry/pull/114126)\n\n#### Autofix\n\n- Open autofix evidence in new tab by @Zylphrex in [#114562](https://github.com/getsentry/sentry/pull/114562)\n- Add re-run button to artifact cards by @Zylphrex in [#114204](https://github.com/getsentry/sentry/pull/114204)\n- Add evidence buttons for git_search tool by @Zylphrex in [#113983](https://github.com/getsentry/sentry/pull/113983)\n- Move evidence props resolver earlier by @Zylphrex in [#113936](https://github.com/getsentry/sentry/pull/113936)\n- Render tool calls as autofix evidence by @Zylphrex in [#113832](https://github.com/getsentry/sentry/pull/113832)\n- Conform to seer quotas for autofix by @Zylphrex in [#113604](https://github.com/getsentry/sentry/pull/113604)\n\n#### Billing\n\n- Add product trial banners for trace metrics by @k-fish in [#114078](https://github.com/getsentry/sentry/pull/114078)\n- Add prev/next navigation to receipt details page by @swartzrock in [#113688](https://github.com/getsentry/sentry/pull/113688)\n\n#### Cmdk\n\n- Improve search recall with people/team/project actions and keyword synonyms by @JonasBa in [#114762](https://github.com/getsentry/sentry/pull/114762)\n- Add bulk issue actions to command palette by @JonasBa in [#114278](https://github.com/getsentry/sentry/pull/114278)\n- Add settings field search to command palette on settings pages by @JonasBa in [#114274](https://github.com/getsentry/sentry/pull/114274)\n- Add copy stack trace action to issue details by @JonasBa in [#114275](https://github.com/getsentry/sentry/pull/114275)\n- Surface current project Client Keys (DSN) in Project Settings by @JonasBa in [#114196](https://github.com/getsentry/sentry/pull/114196)\n- Improve no-result query recall by @JonasBa in [#114236](https://github.com/getsentry/sentry/pull/114236)\n- Add Tab shortcut to open Seer Explorer from command palette by @JonasBa in [#114119](https://github.com/getsentry/sentry/pull/114119)\n- Treat Escape as back button by @JonasBa in [#114118](https://github.com/getsentry/sentry/pull/114118)\n- Add assigned-to-me alias to issue filter actions by @JonasBa in [#114088](https://github.com/getsentry/sentry/pull/114088)\n- Add Switch Organization action to command palette by @JonasBa in [#114084](https://github.com/getsentry/sentry/pull/114084)\n- Add keyboard shortcut hints footer to command palette by @JonasBa in [#114055](https://github.com/getsentry/sentry/pull/114055)\n- Add filter-by and sort actions to issues feed command palette by @JonasBa in [#113981](https://github.com/getsentry/sentry/pull/113981)\n- Add usage & billing settings actions to command palette by @JonasBa in [#113964](https://github.com/getsentry/sentry/pull/113964)\n- Add sort and save-view actions to Issues Feed command palette by @JonasBa in [#113938](https://github.com/getsentry/sentry/pull/113938)\n- Add docs/documentation keywords to Help > Open Documentation action by @JonasBa in [#113935](https://github.com/getsentry/sentry/pull/113935)\n- Add agent skill for implementing command palette actions by @JonasBa in [#113874](https://github.com/getsentry/sentry/pull/113874)\n- Add icons to project and org settings actions by @JonasBa in [#113867](https://github.com/getsentry/sentry/pull/113867)\n- Reset palette state on route change by @JonasBa in [#113862](https://github.com/getsentry/sentry/pull/113862)\n- Add project settings actions by @JonasBa in [#113828](https://github.com/getsentry/sentry/pull/113828)\n- Always render help search last; fix empty state during fetch by @JonasBa in [#113771](https://github.com/getsentry/sentry/pull/113771)\n\n#### Dashboards\n\n- Add Node.js runtime metrics prebuilt dashboard UI by @chargome in [#113517](https://github.com/getsentry/sentry/pull/113517)\n- Backfill deprecated widget display types to area by @DominikB2014 in [#114560](https://github.com/getsentry/sentry/pull/114560)\n- Add Copy Widget URL icon to the widget card header by @DominikB2014 in [#114594](https://github.com/getsentry/sentry/pull/114594)\n- Default to table view on dashboards landing page by @gggritso in [#114182](https://github.com/getsentry/sentry/pull/114182)\n- Display avatarUrl in revision list item by @skaasten in [#114199](https://github.com/getsentry/sentry/pull/114199)\n- Return avatarUrl in dashboard revision createdBy response by @skaasten in [#114186](https://github.com/getsentry/sentry/pull/114186)\n- UI to preview a revision before restoring it by @skaasten in [#113566](https://github.com/getsentry/sentry/pull/113566)\n- Pass revision source for AI-assisted saves by @skaasten in [#113671](https://github.com/getsentry/sentry/pull/113671)\n- Register Node.js runtime metrics prebuilt dashboard by @chargome in [#113516](https://github.com/getsentry/sentry/pull/113516)\n\n#### Discover\n\n- Move build query button to filters row by @priscilawebdev in [#113776](https://github.com/getsentry/sentry/pull/113776)\n- Move primary actions to filter bar in page-frame mode by @JonasBa in [#113634](https://github.com/getsentry/sentry/pull/113634)\n\n#### Dynamic Sampling\n\n- Add per-org configuration by @shellmayr in [#114837](https://github.com/getsentry/sentry/pull/114837)\n- Add per-org activity check by @shellmayr in [#114285](https://github.com/getsentry/sentry/pull/114285)\n- Add org fan-out using buckets in redis & improve instrumentation by @shellmayr in [#114042](https://github.com/getsentry/sentry/pull/114042)\n- Add per-org scheduler telemetry gates by @shellmayr in [#114031](https://github.com/getsentry/sentry/pull/114031)\n- Add inert per-org scheduler cron by @shellmayr in [#114030](https://github.com/getsentry/sentry/pull/114030)\n\n#### Eslint\n\n- Enable @typescript-eslint/no-unnecessary-boolean-literal-compare by @JoshuaKGoldberg in [#113681](https://github.com/getsentry/sentry/pull/113681)\n- Enable unicorn/no-useless-undefined by @JoshuaKGoldberg in [#113667](https://github.com/getsentry/sentry/pull/113667)\n- Enable @typescript-eslint/non-nullable-type-assertion-style by @JoshuaKGoldberg in [#113676](https://github.com/getsentry/sentry/pull/113676)\n- Enable @typescript-eslint/no-useless-default-assignment by @JoshuaKGoldberg in [#113678](https://github.com/getsentry/sentry/pull/113678)\n- Enable unicorn/escape-case by @JoshuaKGoldberg in [#113677](https://github.com/getsentry/sentry/pull/113677)\n- Enable unicorn/no-typeof-undefined by @JoshuaKGoldberg in [#113682](https://github.com/getsentry/sentry/pull/113682)\n- Rule that disallows explicit type parameters on getQueryData and setQueryData by @TkDodo in [#113917](https://github.com/getsentry/sentry/pull/113917)\n- Enable unicorn/no-useless-collection-argument by @JoshuaKGoldberg in [#113683](https://github.com/getsentry/sentry/pull/113683)\n- Enable @typescript-eslint/prefer-return-this-type by @JoshuaKGoldberg in [#113684](https://github.com/getsentry/sentry/pull/113684)\n- No-calling-components-as-functions by @TkDodo in [#113673](https://github.com/getsentry/sentry/pull/113673)\n\n#### Explore\n\n- Enable column editor drop downs to search the API by @nsdeschenes in [#114061](https://github.com/getsentry/sentry/pull/114061)\n- Short circuit attribute value requests by @nsdeschenes in [#114338](https://github.com/getsentry/sentry/pull/114338)\n- Add data-browsing-heat-map-widget feature flag by @gggritso in [#114717](https://github.com/getsentry/sentry/pull/114717)\n- Save cross-event spans queries by @nsdeschenes in [#113417](https://github.com/getsentry/sentry/pull/113417)\n- Add a prebuilt-query for AI Spans by @constantinius in [#111883](https://github.com/getsentry/sentry/pull/111883)\n- Short-circuit attribute fetches when a shorter prefix returned empty by @nsdeschenes in [#113295](https://github.com/getsentry/sentry/pull/113295)\n- Add support for arrays in Occurrences dataset by @manessaraj in [#113567](https://github.com/getsentry/sentry/pull/113567)\n- Move to a sticky header layout by @nsdeschenes in [#113780](https://github.com/getsentry/sentry/pull/113780)\n- Accept metrics as a cross-event type on saved queries by @nsdeschenes in [#113788](https://github.com/getsentry/sentry/pull/113788)\n\n#### Explorer\n\n- Stop polling on api error and show status code in empty state by @aliu39 in [#114273](https://github.com/getsentry/sentry/pull/114273)\n- Implement chat links for drawer by @aliu39 in [#113849](https://github.com/getsentry/sentry/pull/113849)\n\n#### Integrations\n\n- Add `enabled` field to missing-members endpoint response by @evanpurkhiser in [#114462](https://github.com/getsentry/sentry/pull/114462)\n- Drop SCM toggle fields from the organization details endpoint by @evanpurkhiser in [#113925](https://github.com/getsentry/sentry/pull/113925)\n- Expose SCM toggles in integration config UI by @evanpurkhiser in [#113923](https://github.com/getsentry/sentry/pull/113923)\n- Add SCM_INTEGRATION_CONFIG_BACKFILL outbox category by @evanpurkhiser in [#114160](https://github.com/getsentry/sentry/pull/114160)\n- Read SCM toggles from OrganizationIntegration config behind feature flag by @evanpurkhiser in [#113864](https://github.com/getsentry/sentry/pull/113864)\n- Add migration to backfill SCM toggles onto OrganizationIntegration config by @evanpurkhiser in [#113841](https://github.com/getsentry/sentry/pull/113841)\n- Dual-write SCM org-option toggles onto OrganizationIntegration config by @evanpurkhiser in [#113842](https://github.com/getsentry/sentry/pull/113842)\n\n#### Issues\n\n- Pass active thread id to raw apple crash report by @scttcper in [#114258](https://github.com/getsentry/sentry/pull/114258)\n- Allow prioritizing a thread in the Apple crash report by @scttcper in [#114231](https://github.com/getsentry/sentry/pull/114231)\n- Render referenced-in-commit activity by @JoshFerge in [#114299](https://github.com/getsentry/sentry/pull/114299)\n- Record per-branch timings for issue feed EAP double-read by @shashjar in [#113876](https://github.com/getsentry/sentry/pull/113876)\n- Wire EAP double-read into issue feed search by @shashjar in [#112996](https://github.com/getsentry/sentry/pull/112996)\n- Implement EAP group search for issue feed queries by @shashjar in [#112985](https://github.com/getsentry/sentry/pull/112985)\n- Apply issue search conditions to prev/next event navigation by default by @shashjar in [#114063](https://github.com/getsentry/sentry/pull/114063)\n- New stack trace on shared issues by @scttcper in [#111686](https://github.com/getsentry/sentry/pull/111686)\n\n#### Minidump\n\n- Add feature for uploading minidumps to object store by @tobias-wilfert in [#114851](https://github.com/getsentry/sentry/pull/114851)\n- Add feature and option for uploading attachments to objectstore by @tobias-wilfert in [#113679](https://github.com/getsentry/sentry/pull/113679)\n\n#### Night Shift\n\n- Hand triage findings to autofix as user_context by @trevor-e in [#114276](https://github.com/getsentry/sentry/pull/114276)\n- Add custom issue-details tool for agentic triage by @trevor-e in [#113982](https://github.com/getsentry/sentry/pull/113982)\n- Add custom event-details tool for agentic triage by @trevor-e in [#113870](https://github.com/getsentry/sentry/pull/113870)\n\n#### Nightshift\n\n- Reorganize settings by @chromy in [#114171](https://github.com/getsentry/sentry/pull/114171)\n- Stay on page when opening explorer by @chromy in [#113895](https://github.com/getsentry/sentry/pull/113895)\n- Make table responsive by @chromy in [#113896](https://github.com/getsentry/sentry/pull/113896)\n- Hook up button to manually trigger night-shift by @chromy in [#113804](https://github.com/getsentry/sentry/pull/113804)\n- Add endpoint to manually trigger nightshift by @chromy in [#113803](https://github.com/getsentry/sentry/pull/113803)\n\n#### Notifications\n\n- Instrument killswitch mechanism for notifications by @hobzcalvin in [#114505](https://github.com/getsentry/sentry/pull/114505)\n- Add sentry-app-webhook-disabled notification template by @Christinarlong in [#114114](https://github.com/getsentry/sentry/pull/114114)\n\n#### Onboarding\n\n- Refine SCM connect copy and visuals for legal review by @itsdangold in [#114655](https://github.com/getsentry/sentry/pull/114655)\n- Add platform kind for SCM card display labels by @jaydgoss in [#114596](https://github.com/getsentry/sentry/pull/114596)\n- Enforce display order for SCM feature cards by @jaydgoss in [#114481](https://github.com/getsentry/sentry/pull/114481)\n- Force session replay for SCM onboarding flow by @jaydgoss in [#114329](https://github.com/getsentry/sentry/pull/114329)\n- Add SCM-specific analytics variants to SetupDocs and back actions by @jaydgoss in [#113880](https://github.com/getsentry/sentry/pull/113880)\n\n#### Ourlogs\n\n- Switch table expando to visualizations, with collapsed chart previews by @JoshuaKGoldberg in [#114433](https://github.com/getsentry/sentry/pull/114433)\n- Add trackAnalytics calls for new export modal by @JoshuaKGoldberg in [#113611](https://github.com/getsentry/sentry/pull/113611)\n- Add export modal with row limit by @JoshuaKGoldberg in [#112674](https://github.com/getsentry/sentry/pull/112674)\n- Add trackAnalytics for logs.explorer.continue_searching_clicked by @JoshuaKGoldberg in [#113668](https://github.com/getsentry/sentry/pull/113668)\n\n#### Preprod\n\n- Add per-category controls for snapshot PR comments (EME-1046) by @runningcode in [#114302](https://github.com/getsentry/sentry/pull/114302)\n- Add Amplitude analytics to snapshot detail page by @mtopo27 in [#114767](https://github.com/getsentry/sentry/pull/114767)\n- Add scroll wheel navigation in single snapshot view by @NicoHinderling in [#114565](https://github.com/getsentry/sentry/pull/114565)\n- Add size status check rules API by @cameroncooke in [#114414](https://github.com/getsentry/sentry/pull/114414)\n- Configure higher rate limits for image endpoint by @NicoHinderling in [#114559](https://github.com/getsentry/sentry/pull/114559)\n- Add settings link to snapshot status checks by @NicoHinderling in [#114449](https://github.com/getsentry/sentry/pull/114449)\n- Pare down snapshot search bar filters (EME-1071) by @runningcode in [#114316](https://github.com/getsentry/sentry/pull/114316)\n- Update snapshot header with approval actions by @NicoHinderling in [#113959](https://github.com/getsentry/sentry/pull/113959)\n- Complete the new snapshot viewer toolbar and controls by @NicoHinderling in [#113994](https://github.com/getsentry/sentry/pull/113994)\n- Add view mode toggle between single and list views by @NicoHinderling in [#113993](https://github.com/getsentry/sentry/pull/113993)\n- Add SnapshotListView virtualized list component by @NicoHinderling in [#113992](https://github.com/getsentry/sentry/pull/113992)\n- Surface snapshot status check toggles in project settings by @mtopo27 in [#114220](https://github.com/getsentry/sentry/pull/114220)\n- Surface install URL expiration via installInfo by @mtopo27 in [#114072](https://github.com/getsentry/sentry/pull/114072)\n- Add fail_on_changed and fail_on_renamed snapshot status check options by @mtopo27 in [#114214](https://github.com/getsentry/sentry/pull/114214)\n- Register git_* attributes in EAP attribute registry (EME-1047) by @runningcode in [#114153](https://github.com/getsentry/sentry/pull/114153)\n- Track snapshots tab and row clicks by @mtopo27 in [#114067](https://github.com/getsentry/sentry/pull/114067)\n- Add only-if-diff toggle for snapshot PR comments (EME-1046) by @runningcode in [#114035](https://github.com/getsentry/sentry/pull/114035)\n- Add snapshot types and path helper by @NicoHinderling in [#113955](https://github.com/getsentry/sentry/pull/113955)\n- Add app_info to snapshot response with prefetch by @NicoHinderling in [#113960](https://github.com/getsentry/sentry/pull/113960)\n- Add granular installable app error codes (EME-883) by @runningcode in [#113440](https://github.com/getsentry/sentry/pull/113440)\n\n#### Projects\n\n- Remove Project Details removal banners by @gggritso in [#114600](https://github.com/getsentry/sentry/pull/114600)\n- Add create_project_key, delete_project_key, delete_project RPCs by @BYK in [#113596](https://github.com/getsentry/sentry/pull/113596)\n\n#### Releases\n\n- Add activities for auto release resolutions by @JoshFerge in [#114443](https://github.com/getsentry/sentry/pull/114443)\n- Add referenced-in-commit activity by @JoshFerge in [#114298](https://github.com/getsentry/sentry/pull/114298)\n\n#### Replays\n\n- Add bulk mark-as-viewed button by @JoshuaKGoldberg in [#113805](https://github.com/getsentry/sentry/pull/113805)\n- Track event and video event counts on replay load by @gggritso in [#114001](https://github.com/getsentry/sentry/pull/114001)\n- Accept events and transactions data_source on replay count by @mjq in [#113557](https://github.com/getsentry/sentry/pull/113557)\n- Add replays as an events dataset by @wmak in [#113723](https://github.com/getsentry/sentry/pull/113723)\n\n#### Repos\n\n- Always show uninstall button, disabled without access in repos v2 by @evanpurkhiser in [#114751](https://github.com/getsentry/sentry/pull/114751)\n- Add SCM repositories v2 page behind feature flag by @evanpurkhiser in [#114591](https://github.com/getsentry/sentry/pull/114591)\n- Register scm-repositories-v2 feature flag by @evanpurkhiser in [#114558](https://github.com/getsentry/sentry/pull/114558)\n- Add ScmRepositoryTable component and useRepoSearch hook by @evanpurkhiser in [#113570](https://github.com/getsentry/sentry/pull/113570)\n- Add ConnectProviderDropdown component by @evanpurkhiser in [#113568](https://github.com/getsentry/sentry/pull/113568)\n- Add NoIntegrationsEmptyState component by @evanpurkhiser in [#113569](https://github.com/getsentry/sentry/pull/113569)\n- Track last_sync on OrganizationIntegration config by @evanpurkhiser in [#113686](https://github.com/getsentry/sentry/pull/113686)\n\n#### Search\n\n- Add userCount filter for issue search by @isaacwang-sentry in [#114814](https://github.com/getsentry/sentry/pull/114814)\n- Add recommended sort to SortOptions enum by @mrduncan in [#113740](https://github.com/getsentry/sentry/pull/113740)\n\n#### Seer\n\n- Add ui_tools pass-through for client-side tool definitions by @JonasBa in [#114778](https://github.com/getsentry/sentry/pull/114778)\n- Add seer-explorer-ui-tools feature flag by @JonasBa in [#114779](https://github.com/getsentry/sentry/pull/114779)\n- Hide unconfigured Autofix projects by @ryan953 in [#114455](https://github.com/getsentry/sentry/pull/114455)\n- Add structured LLM context for issue detail page by @Mihir-Mavalankar in [#114743](https://github.com/getsentry/sentry/pull/114743)\n- Add projectSlug to the response of /autofix/automation-settings/ by @ryan953 in [#114457](https://github.com/getsentry/sentry/pull/114457)\n- Add structured LLM context for issue list page by @Mihir-Mavalankar in [#114493](https://github.com/getsentry/sentry/pull/114493)\n- Expose DSN lookup through public RPC by @JoshFerge in [#114514](https://github.com/getsentry/sentry/pull/114514)\n- Allow admin night shift trigger to fan out to all orgs by @trevor-e in [#114496](https://github.com/getsentry/sentry/pull/114496)\n- 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)\n- Open repo details in a GlobalDrawer by @ryan953 in [#113878](https://github.com/getsentry/sentry/pull/113878)\n- Add project modal for Autofix by @ryan953 in [#113751](https://github.com/getsentry/sentry/pull/113751)\n- Tag night_shift.triage_action with fixability threshold by @trevor-e in [#114404](https://github.com/getsentry/sentry/pull/114404)\n- Show more workflow detail and add Autofix shortcut by @chromy in [#114340](https://github.com/getsentry/sentry/pull/114340)\n- Default Night Shift to enabled by @chromy in [#114341](https://github.com/getsentry/sentry/pull/114341)\n- Update Night Shift \"default\" label to on-by-default by @chromy in [#114342](https://github.com/getsentry/sentry/pull/114342)\n- Plumb reasoning_effort through trigger_autofix_explorer by @trevor-e in [#114357](https://github.com/getsentry/sentry/pull/114357)\n- Add structured LLM context for traces explorer page by @Mihir-Mavalankar in [#114347](https://github.com/getsentry/sentry/pull/114347)\n- Log successful Slack agent triggers with referrer by @alexsohn1126 in [#114264](https://github.com/getsentry/sentry/pull/114264)\n- Trigger explorer index if missing by @shruthilayaj in [#114219](https://github.com/getsentry/sentry/pull/114219)\n- Code mode slash commands (off/on/only) by @azulus in [#114074](https://github.com/getsentry/sentry/pull/114074)\n- Accept tri-state code mode (off/on/only) in explorer chat by @azulus in [#114259](https://github.com/getsentry/sentry/pull/114259)\n- Add structured LLM context for trace details page by @Mihir-Mavalankar in [#114093](https://github.com/getsentry/sentry/pull/114093)\n- Replay deferred Slack @-mentions after identity link by @alexsohn1126 in [#113940](https://github.com/getsentry/sentry/pull/113940)\n- Allow manual night shift runs to be dry runs by @chromy in [#114036](https://github.com/getsentry/sentry/pull/114036)\n- Add experiment tweaks to NightShiftTweaks model by @chromy in [#114034](https://github.com/getsentry/sentry/pull/114034)\n- Apply night shift tweaks to org and project runs by @chromy in [#113905](https://github.com/getsentry/sentry/pull/113905)\n- Add thinking blocks toggle to explorer chat by @chromy in [#113182](https://github.com/getsentry/sentry/pull/113182)\n- Add seer-night-shift-settings feature flag by @chromy in [#113909](https://github.com/getsentry/sentry/pull/113909)\n- Add get_dsn RPC method for Seer explorer agent by @JoshFerge in [#113881](https://github.com/getsentry/sentry/pull/113881)\n- Parse night shift tweaks with a pydantic model by @chromy in [#113898](https://github.com/getsentry/sentry/pull/113898)\n- Add SeerRun and SeerAgentRun mirror tables by @trevor-e in [#113483](https://github.com/getsentry/sentry/pull/113483)\n- Add Alpha badge to Night Shift settings by @chromy in [#113787](https://github.com/getsentry/sentry/pull/113787)\n- Add organization_id to Slack Seer agent analytics by @alexsohn1126 in [#113708](https://github.com/getsentry/sentry/pull/113708)\n- Scaffold Night Shift settings section by @chromy in [#113697](https://github.com/getsentry/sentry/pull/113697)\n- Add hotkey to global Ask Seer button by @natemoo-re in [#113759](https://github.com/getsentry/sentry/pull/113759)\n- Add global `AskSeerButton` component by @natemoo-re in [#113727](https://github.com/getsentry/sentry/pull/113727)\n\n#### Seer Explorer\n\n- Add size=\"md\" prop to TextArea components in inputSection by @aliu39 in [#113873](https://github.com/getsentry/sentry/pull/113873)\n- Disable 'New chat' button when in empty state by @aliu39 in [#113840](https://github.com/getsentry/sentry/pull/113840)\n\n#### Seer Slack\n\n- Parse legacy attachments by @alexsohn1126 in [#114212](https://github.com/getsentry/sentry/pull/114212)\n- Add hand-off button to slack autofix triggers by @leeandher in [#114089](https://github.com/getsentry/sentry/pull/114089)\n\n#### Sentry Apps\n\n- Enforce is_disabled at the endpoint layer by @Christinarlong in [#114469](https://github.com/getsentry/sentry/pull/114469)\n- Add is_disabled field to SentryApp model by @Christinarlong in [#114263](https://github.com/getsentry/sentry/pull/114263)\n- Expose creator_label on RpcSentryApp by @Christinarlong in [#114113](https://github.com/getsentry/sentry/pull/114113)\n\n#### Slack\n\n- Apply dashboard global filters when unfurling widgets by @DominikB2014 in [#114435](https://github.com/getsentry/sentry/pull/114435)\n- Request extended OAuth scopes on production install by @alexsohn1126 in [#114091](https://github.com/getsentry/sentry/pull/114091)\n- Unfurl issue dashboard widgets by @DominikB2014 in [#113941](https://github.com/getsentry/sentry/pull/113941)\n- Unfurl mobile-build dashboard widgets by @DominikB2014 in [#113939](https://github.com/getsentry/sentry/pull/113939)\n- Unfurl error-events dashboard widgets by @DominikB2014 in [#113937](https://github.com/getsentry/sentry/pull/113937)\n- Add preferred organization stage for resolution by @leeandher in [#113854](https://github.com/getsentry/sentry/pull/113854)\n- Add link parsing org esolution for multi-org seer events by @leeandher in [#113846](https://github.com/getsentry/sentry/pull/113846)\n\n#### Snapshots\n\n- Add scroll progress indicator to snapshot list toolbar by @NicoHinderling in [#114484](https://github.com/getsentry/sentry/pull/114484)\n- Add Cmd/Ctrl+Arrow shortcuts to jump to first/last image by @NicoHinderling in [#114475](https://github.com/getsentry/sentry/pull/114475)\n- Add Build Metadata modal to snapshot actions menu by @NicoHinderling in [#114470](https://github.com/getsentry/sentry/pull/114470)\n- Show tooltip on truncated sidebar item names by @NicoHinderling in [#114460](https://github.com/getsentry/sentry/pull/114460)\n\n#### Source Map Config Issues\n\n- Switching to sentry metrics to measure cross-project impact by @Abdkhan14 in [#114461](https://github.com/getsentry/sentry/pull/114461)\n- Filtering processing errors by source… by @Abdkhan14 in [#113809](https://github.com/getsentry/sentry/pull/113809)\n\n#### Spans\n\n- Detach subsegment when parent set is being flushed by @lvthanh03 in [#114580](https://github.com/getsentry/sentry/pull/114580)\n- Add redis lock at flush time to not produce duplicate spans by @lvthanh03 in [#113850](https://github.com/getsentry/sentry/pull/113850)\n\n#### Supergroups\n\n- Track total supergroups viewed by @cvxluo in [#114606](https://github.com/getsentry/sentry/pull/114606)\n- Sync drawer state to a query param by @scttcper in [#114116](https://github.com/getsentry/sentry/pull/114116)\n- Add assignee summary to supergroups endpoint by @cvxluo in [#113856](https://github.com/getsentry/sentry/pull/113856)\n- Add issues-with-supergroups endpoint by @cvxluo in [#113563](https://github.com/getsentry/sentry/pull/113563)\n\n#### Tracemetrics\n\n- Add feature flag for equations in dashboards by @narsaynorath in [#114720](https://github.com/getsentry/sentry/pull/114720)\n- Change beta flags to new flags by @narsaynorath in [#114157](https://github.com/getsentry/sentry/pull/114157)\n- Link Explore to Alerts/Detectors by @narsaynorath in [#113738](https://github.com/getsentry/sentry/pull/113738)\n- Strip equation prefix from occurrence title by @narsaynorath in [#114038](https://github.com/getsentry/sentry/pull/114038)\n- Hide special metrics keys in scrubbing dropdown by @narsaynorath in [#113807](https://github.com/getsentry/sentry/pull/113807)\n\n#### Users\n\n- Add suspension UI to gsAdmin user details by @dashed in [#114354](https://github.com/getsentry/sentry/pull/114354)\n- Enforce account suspension across all auth paths by @dashed in [#114349](https://github.com/getsentry/sentry/pull/114349)\n- Add is_suspended field to User model by @dashed in [#114328](https://github.com/getsentry/sentry/pull/114328)\n\n#### Other\n\n- (ai) Add output messages field renderer by @obostjancic in [#114412](https://github.com/getsentry/sentry/pull/114412)\n- (ai-agents) Show estimated cost on AI agents overview by @obostjancic in [#114702](https://github.com/getsentry/sentry/pull/114702)\n- (alerts) Add integration footer to alert action dropdown by @souredoutlook in [#113944](https://github.com/getsentry/sentry/pull/113944)\n- (analytics) Track metrics widgets on dashboards for engagement by @bcoe in [#114195](https://github.com/getsentry/sentry/pull/114195)\n- (api-docs) Document collapse query param on issue detail and short ID endpoints by @MathurAditya724 in [#114279](https://github.com/getsentry/sentry/pull/114279)\n- (broadcasts) Add sync_locked to protect admin edits from changelog sync by @rahulchhabria in [#113633](https://github.com/getsentry/sentry/pull/113633)\n- (chunk-upload) Add zstd compression support for sourcemap uploads by @BYK in [#113760](https://github.com/getsentry/sentry/pull/113760)\n- (ci) Report backend test failures cleans up stale comments by @joshuarli in [#113963](https://github.com/getsentry/sentry/pull/113963)\n- (code-review) Forward repo deletion to seer by @suejungshin in [#114117](https://github.com/getsentry/sentry/pull/114117)\n- (conversations) Show tool input params in chat tool call lines by @matejminar in [#113888](https://github.com/getsentry/sentry/pull/113888)\n- (cross-events) Support metric cross event querying by @nsdeschenes in [#113703](https://github.com/getsentry/sentry/pull/113703)\n- (data-export) Render export_format extension in button text by @JoshuaKGoldberg in [#113591](https://github.com/getsentry/sentry/pull/113591)\n- (detectors) Cache disabled Detectors in the source-based Detector cache by @kcons in [#114193](https://github.com/getsentry/sentry/pull/114193)\n- (devserver) Auto-detect free port for dev-ui by @JonasBa in [#113961](https://github.com/getsentry/sentry/pull/113961)\n- (errors) Add chart content and export/settings buttons by @nikkikapadia in [#113693](https://github.com/getsentry/sentry/pull/113693)\n- (export) Support arrays in TraceItemDetailsEndpoint by @manessaraj in [#114353](https://github.com/getsentry/sentry/pull/114353)\n- (github-enterprise) Support GitHub Enterprise Cloud (GHE.com) webhooks and API by @tnt-sentry in [#113966](https://github.com/getsentry/sentry/pull/113966)\n- (hotkey) Add `mod` as alternative to `cmd`-on-mac, else `ctrl` by @natemoo-re in [#114198](https://github.com/getsentry/sentry/pull/114198)\n- (issue-details) Show detector settings link for AI-detected issues by @roggenkemper in [#114062](https://github.com/getsentry/sentry/pull/114062)\n- (issue-detection) Filter projects to those with transaction data by @roggenkemper in [#114716](https://github.com/getsentry/sentry/pull/114716)\n- (llm-issue-detection) Forward plan_tier to seer budget check by @roggenkemper in [#114314](https://github.com/getsentry/sentry/pull/114314)\n- (np) Warn, don't fail on missing test email configuration by @hobzcalvin in [#114506](https://github.com/getsentry/sentry/pull/114506)\n- (oauth) Add age column to application settings by @dcramer in [#114736](https://github.com/getsentry/sentry/pull/114736)\n- (organizations) Add find_organization_id_by_option_value RPC by @dashed in [#114203](https://github.com/getsentry/sentry/pull/114203)\n- (profiling) Support span streaming on continuous profile page by @mjq in [#114184](https://github.com/getsentry/sentry/pull/114184)\n- (repositories) Add api to expose auto sync for repositories by @wedamija in [#114396](https://github.com/getsentry/sentry/pull/114396)\n- (scm) Get permissions from the GitHub App installation by @jacquev6 in [#114163](https://github.com/getsentry/sentry/pull/114163)\n- (search-query-build) Force cmd + del to reset query builder by @nsdeschenes in [#114305](https://github.com/getsentry/sentry/pull/114305)\n- (search-query-builder) Add highlighted text by @nsdeschenes in [#114472](https://github.com/getsentry/sentry/pull/114472)\n- (seer agent) Add esc as a way to stop thinking by @sehr-m in [#113734](https://github.com/getsentry/sentry/pull/113734)\n- (sentry apps) Send email when circuit breaker flips for webhook disabling by @Christinarlong in [#114115](https://github.com/getsentry/sentry/pull/114115)\n- (skills) Add django-models agent skill by @trevor-e in [#113837](https://github.com/getsentry/sentry/pull/113837)\n- (snuba) Add sample rate option for span with errors tracking by @constantinius in [#113785](https://github.com/getsentry/sentry/pull/113785)\n- (taskworker) Accept Pod Name Argument for Push Taskworker by @george-sentry in [#114358](https://github.com/getsentry/sentry/pull/114358)\n- (tokens) Make org:ci a first-class token scope by @dcramer in [#113394](https://github.com/getsentry/sentry/pull/113394)\n- (trace-waterfall) Update empty state copy by @nsdeschenes in [#113815](https://github.com/getsentry/sentry/pull/113815)\n- (uptime) Use get_detectors_by_data_source for cache by @kcons in [#114216](https://github.com/getsentry/sentry/pull/114216)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Change the issue stream query filter from detector to monitor by @saponifi3d in [#114796](https://github.com/getsentry/sentry/pull/114796)\n- Re-land GitHub ticket action validation (#114095) with schema and selective test fix by @joshuarli in [#114500](https://github.com/getsentry/sentry/pull/114500)\n- Surface API error detail in edit form save toast by @malwilley in [#114444](https://github.com/getsentry/sentry/pull/114444)\n- Make ACTION_TARGET_TYPE_TO_STRING complete by @kcons in [#114482](https://github.com/getsentry/sentry/pull/114482)\n- Don't show deactivated user id for detector created by by @ceorourke in [#114361](https://github.com/getsentry/sentry/pull/114361)\n- Add an extra guard to legacy alert matching when executing an action by @malwilley in [#113990](https://github.com/getsentry/sentry/pull/113990)\n- Preserve additional_data keys when serializing ticket actions by @malwilley in [#113770](https://github.com/getsentry/sentry/pull/113770)\n- Rename automation to alert by @ceorourke in [#113865](https://github.com/getsentry/sentry/pull/113865)\n- Fix bug in detector query filter when using workflow_ids by @saponifi3d in [#113768](https://github.com/getsentry/sentry/pull/113768)\n\n#### Ai Conversations\n\n- Extract gen_ai.output.messages when value is a string by @obostjancic in [#114151](https://github.com/getsentry/sentry/pull/114151)\n- Ignore page filters on conversation detail by @obostjancic in [#114148](https://github.com/getsentry/sentry/pull/114148)\n- Order conversation messages by span start/end by @obostjancic in [#114129](https://github.com/getsentry/sentry/pull/114129)\n\n#### Alerts\n\n- Stop writing rule environment into the metric alert URL by @malwilley in [#114206](https://github.com/getsentry/sentry/pull/114206)\n- Skip orphaned triggers during detector serialization by @kcons in [#113772](https://github.com/getsentry/sentry/pull/113772)\n\n#### Api\n\n- Sync email_unique when primary email changes by @michelletran-sentry in [#114085](https://github.com/getsentry/sentry/pull/114085)\n- Tighten project scoping on release-thresholds index by @michelletran-sentry in [#114049](https://github.com/getsentry/sentry/pull/114049)\n- Add ViewerContextAuthentication to DRF default auth classes by @azulus in [#113985](https://github.com/getsentry/sentry/pull/113985)\n- Catch OverflowError for out-of-range timestamp params by @mrduncan in [#113920](https://github.com/getsentry/sentry/pull/113920)\n\n#### Autofix\n\n- Handle errors in code generation better by @Zylphrex in [#114423](https://github.com/getsentry/sentry/pull/114423)\n- Fix navigating to stale location in onClose by @aliu39 in [#113877](https://github.com/getsentry/sentry/pull/113877)\n- Poll autofix state slower by @Zylphrex in [#114218](https://github.com/getsentry/sentry/pull/114218)\n- Close drawer when navigating outside of current issue by @natemoo-re in [#113814](https://github.com/getsentry/sentry/pull/113814)\n\n#### Ci\n\n- Use current base commit to calculate type coverage by @natemoo-re in [#114739](https://github.com/getsentry/sentry/pull/114739)\n- Fix snapshots to force usage of merge-base by @rbro112 in [#114519](https://github.com/getsentry/sentry/pull/114519)\n\n#### Cmdk\n\n- Restore Zendesk index to help search by @JonasBa in [#114368](https://github.com/getsentry/sentry/pull/114368)\n- Remove extra virtualizer padding from command palette by @JonasBa in [#114257](https://github.com/getsentry/sentry/pull/114257)\n- Preserve mouse-leave selection state by @JonasBa in [#114254](https://github.com/getsentry/sentry/pull/114254)\n- Keep virtualized keyboard focus stable by @JonasBa in [#114202](https://github.com/getsentry/sentry/pull/114202)\n- Prevent leading icon flash when clearing the input by @JonasBa in [#113975](https://github.com/getsentry/sentry/pull/113975)\n- Show flat project settings list in browse mode by @JonasBa in [#113872](https://github.com/getsentry/sentry/pull/113872)\n- Defer state reset until close animation completes by @JonasBa in [#113833](https://github.com/getsentry/sentry/pull/113833)\n\n#### Conversations\n\n- Keep detail panels independently scrollable by @obostjancic in [#114306](https://github.com/getsentry/sentry/pull/114306)\n- Only show preview tooltips on overflow by @obostjancic in [#114294](https://github.com/getsentry/sentry/pull/114294)\n- Collapse long traces list into '+N more' dropdown by @obostjancic in [#114041](https://github.com/getsentry/sentry/pull/114041)\n- Improve trace view conversation panel UX by @obostjancic in [#113661](https://github.com/getsentry/sentry/pull/113661)\n\n#### Dashboards\n\n- Dashboard card preview misalignment by @nikkikapadia in [#114628](https://github.com/getsentry/sentry/pull/114628)\n- Show last editor instead of creator on current version by @skaasten in [#114471](https://github.com/getsentry/sentry/pull/114471)\n- Detect text widget content changes in revision diff by @skaasten in [#114479](https://github.com/getsentry/sentry/pull/114479)\n- Use avatarType from API to render correct avatar in revision list by @skaasten in [#114336](https://github.com/getsentry/sentry/pull/114336)\n- Remove checks needed for old pre-built dashboard handling by @gggritso in [#114249](https://github.com/getsentry/sentry/pull/114249)\n- Return avatarType and correct avatarUrl in revision createdBy by @skaasten in [#114221](https://github.com/getsentry/sentry/pull/114221)\n- Filter prebuilt dashboards server-side in add to dashboard modal by @DominikB2014 in [#114210](https://github.com/getsentry/sentry/pull/114210)\n- Remove dashboard redirects to old pre-built dashboard by @gggritso in [#113758](https://github.com/getsentry/sentry/pull/113758)\n- Allow wheel widgets to save with null limit by @DominikB2014 in [#114094](https://github.com/getsentry/sentry/pull/114094)\n- Adds stacked_area to display type blocklist for generated dashboards by @edwardgou-sentry in [#113934](https://github.com/getsentry/sentry/pull/113934)\n- 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)\n\n#### Detectors\n\n- Clear out owners fields when transfering Detectors to a new org by @kcons in [#114333](https://github.com/getsentry/sentry/pull/114333)\n- Propagate environment to metric issue occurrences by @malwilley in [#114201](https://github.com/getsentry/sentry/pull/114201)\n- Clarify Detector status vs enabled; update code accordingly by @kcons in [#113761](https://github.com/getsentry/sentry/pull/113761)\n\n#### Discover\n\n- Remove my /result page redirect hacks by @nikkikapadia in [#113921](https://github.com/getsentry/sentry/pull/113921)\n- Skip homepage query when discover-query is disabled by @evanpurkhiser in [#113911](https://github.com/getsentry/sentry/pull/113911)\n- Add in redirect for discover-basic homepage by @nikkikapadia in [#113904](https://github.com/getsentry/sentry/pull/113904)\n- Nav item has no redirect for discover basic users by @nikkikapadia in [#113847](https://github.com/getsentry/sentry/pull/113847)\n- Render query name inside breadcrumb by @priscilawebdev in [#113656](https://github.com/getsentry/sentry/pull/113656)\n\n#### Drawer\n\n- Extend panel background past right edge by @evanpurkhiser in [#113919](https://github.com/getsentry/sentry/pull/113919)\n- Tighten Seer Explorer header spacing by @JonasBa in [#113729](https://github.com/getsentry/sentry/pull/113729)\n\n#### Experiments\n\n- Skip exposure for non-experiment features by @jaydgoss in [#113698](https://github.com/getsentry/sentry/pull/113698)\n- Close Amplitude race on experiment exposure by @jaydgoss in [#113635](https://github.com/getsentry/sentry/pull/113635)\n\n#### Explore\n\n- Avoid rendering empty Layout.Header on traces page by @nsdeschenes in [#113952](https://github.com/getsentry/sentry/pull/113952)\n- Reduce repeated trace metric requests by @nsdeschenes in [#113660](https://github.com/getsentry/sentry/pull/113660)\n\n#### Explorer\n\n- Ensure discover errors tool link has fields by @Zylphrex in [#114573](https://github.com/getsentry/sentry/pull/114573)\n- Conversation_url should always redirect to organizationSlug subdomain by @aliu39 in [#114344](https://github.com/getsentry/sentry/pull/114344)\n- Fix slide in animation by @aliu39 in [#114250](https://github.com/getsentry/sentry/pull/114250)\n- Move tool call status to text tooltip, differentiate failed vs empty by @aliu39 in [#113965](https://github.com/getsentry/sentry/pull/113965)\n- Fix  broken runId state by @aliu39 in [#113748](https://github.com/getsentry/sentry/pull/113748)\n\n#### Hotkey\n\n- Guard against undefined event.key and skip IME composition events by @sentry in [#114371](https://github.com/getsentry/sentry/pull/114371)\n- Migrate `useHotkeys` to `event.key|code` by @natemoo-re in [#114192](https://github.com/getsentry/sentry/pull/114192)\n\n#### Integrations\n\n- Register missing GitHub project management feature flag by @kcons in [#114789](https://github.com/getsentry/sentry/pull/114789)\n- Match SCM repos by externalId by @jaydgoss in [#113949](https://github.com/getsentry/sentry/pull/113949)\n- Support multiple provider values in organization-integrations endpoint by @Christinarlong in [#114393](https://github.com/getsentry/sentry/pull/114393)\n- URL-safe quote project_id by @cmanallen in [#114418](https://github.com/getsentry/sentry/pull/114418)\n- Route Perforce install through API pipeline modal by @mujacica in [#114312](https://github.com/getsentry/sentry/pull/114312)\n- Switch SCM backfill migration to emit cell outboxes by @evanpurkhiser in [#114167](https://github.com/getsentry/sentry/pull/114167)\n- Scope serialize_repository RPC by organization_id by @michelletran-sentry in [#114179](https://github.com/getsentry/sentry/pull/114179)\n- Retry SCM backfill as a region-silo true-only scan by @evanpurkhiser in [#114046](https://github.com/getsentry/sentry/pull/114046)\n- Use cell RPC for SCM backfill option reads by @evanpurkhiser in [#113908](https://github.com/getsentry/sentry/pull/113908)\n- Return existing repo on concurrent create race by @jaydgoss in [#113813](https://github.com/getsentry/sentry/pull/113813)\n- Match installed repos by external_id by @evanpurkhiser in [#113593](https://github.com/getsentry/sentry/pull/113593)\n\n#### Issues\n\n- When navigating issue groups, reset stack trace by @scttcper in [#114801](https://github.com/getsentry/sentry/pull/114801)\n- Use tag-aware condition resolver for seen stats badge & sparkline by @shashjar in [#114245](https://github.com/getsentry/sentry/pull/114245)\n- Use Heading in sentry app external issue modal title by @evanpurkhiser in [#114748](https://github.com/getsentry/sentry/pull/114748)\n- Load member store on issue details page by @scttcper in [#114508](https://github.com/getsentry/sentry/pull/114508)\n- Preserve clipped box reveal state by @scttcper in [#114489](https://github.com/getsentry/sentry/pull/114489)\n- Route adjacent-event lookups to Events dataset by @yuvmen in [#114474](https://github.com/getsentry/sentry/pull/114474)\n- Improve issue view title generation prompt by @scttcper in [#114391](https://github.com/getsentry/sentry/pull/114391)\n- Persist stack trace display options by @scttcper in [#114256](https://github.com/getsentry/sentry/pull/114256)\n- Thread selector dropdown order on event navigation by @scttcper in [#113946](https://github.com/getsentry/sentry/pull/113946)\n\n#### Metrics\n\n- Stabilize metric selector hover panel by @nsdeschenes in [#114162](https://github.com/getsentry/sentry/pull/114162)\n- Use default value instead of hack by @wmak in [#113731](https://github.com/getsentry/sentry/pull/113731)\n\n#### Notifications\n\n- Filter organization-integrations to only allowed providers by @Christinarlong in [#114394](https://github.com/getsentry/sentry/pull/114394)\n- Don't assume context.replay is not None by @kcons in [#114370](https://github.com/getsentry/sentry/pull/114370)\n- Don't use None when a dict is expected by @kcons in [#114247](https://github.com/getsentry/sentry/pull/114247)\n- Recursively serialize datetime in task arguments by @untitaker in [#114048](https://github.com/getsentry/sentry/pull/114048)\n\n#### Onboarding\n\n- Swap to variant prop on btn by @nsdeschenes in [#114842](https://github.com/getsentry/sentry/pull/114842)\n- Add upgrade suffix to SCM metrics tooltip by @jaydgoss in [#114518](https://github.com/getsentry/sentry/pull/114518)\n- Sync SCM context with product toggles on setup-docs by @jaydgoss in [#113763](https://github.com/getsentry/sentry/pull/113763)\n\n#### Options\n\n- Limit option logging by @klochek in [#114187](https://github.com/getsentry/sentry/pull/114187)\n- Fix system options allowlist checks by @klochek in [#114181](https://github.com/getsentry/sentry/pull/114181)\n\n#### Ourlogs\n\n- Use default yAxisSplitNumber behavior for TimeSeriesWidgetVisualization by @JoshuaKGoldberg in [#113741](https://github.com/getsentry/sentry/pull/113741)\n- Handle collapsing row heights in infinite table measurements by @JoshuaKGoldberg in [#113602](https://github.com/getsentry/sentry/pull/113602)\n\n#### Preprod\n\n- Derive sidebar highlight from selection state in list view by @NicoHinderling in [#114744](https://github.com/getsentry/sentry/pull/114744)\n- Stabilize scroll position in Split mode snapshot list by @NicoHinderling in [#114589](https://github.com/getsentry/sentry/pull/114589)\n- Keep snapshot group headers visible by @mtopo27 in [#114468](https://github.com/getsentry/sentry/pull/114468)\n- Show total image count in snapshot status pills by @NicoHinderling in [#114561](https://github.com/getsentry/sentry/pull/114561)\n- Detect renames when multiple files share the same content hash by @NicoHinderling in [#114497](https://github.com/getsentry/sentry/pull/114497)\n- Stabilize snapshot toolbar controls by @runningcode in [#114409](https://github.com/getsentry/sentry/pull/114409)\n- Keep snapshot diff toggle visible by @runningcode in [#114415](https://github.com/getsentry/sentry/pull/114415)\n- Enforce has_project_access on snapshot detail GET and DELETE by @michelletran-sentry in [#114169](https://github.com/getsentry/sentry/pull/114169)\n- Handle 404 gracefully in install details (EME-883) by @runningcode in [#113149](https://github.com/getsentry/sentry/pull/113149)\n\n#### Replays\n\n- Ignore issue stream sort on issue replays by @scttcper in [#114654](https://github.com/getsentry/sentry/pull/114654)\n- Require project:write or project:admin to delete a replay by @michelletran-sentry in [#114159](https://github.com/getsentry/sentry/pull/114159)\n- Constrain logs layout with ViewportConstrainedPage by @JoshuaKGoldberg in [#113899](https://github.com/getsentry/sentry/pull/113899)\n- Disable the dataset by @wmak in [#113824](https://github.com/getsentry/sentry/pull/113824)\n\n#### Repositories\n\n- Silence github errors when performing auto-sync by @wedamija in [#114650](https://github.com/getsentry/sentry/pull/114650)\n- Silence bitbucket errors when performing auto-sync by @wedamija in [#114651](https://github.com/getsentry/sentry/pull/114651)\n- Fix some more VSTS repository errors by @wedamija in [#114643](https://github.com/getsentry/sentry/pull/114643)\n- Silence gitlab errors when performing auto-sync by @wedamija in [#114647](https://github.com/getsentry/sentry/pull/114647)\n- Don't raise errors for broken scms in repo sync task by @wedamija in [#113769](https://github.com/getsentry/sentry/pull/113769)\n- 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)\n- 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)\n- Make sure we write `external_id` during auto source code mapping by @wedamija in [#113695](https://github.com/getsentry/sentry/pull/113695)\n\n#### Search\n\n- Don't assume non-empty projects in get_teams_for_users by @kcons in [#114517](https://github.com/getsentry/sentry/pull/114517)\n- Map bare `duration` to `transaction.duration` in search parser by @BYK in [#114473](https://github.com/getsentry/sentry/pull/114473)\n\n#### Search Query Builder\n\n- Cmd del not clearing free text by @nsdeschenes in [#114577](https://github.com/getsentry/sentry/pull/114577)\n- Fix semver issues and enable limiting keys to single selects by @nsdeschenes in [#114290](https://github.com/getsentry/sentry/pull/114290)\n\n#### Seer\n\n- Honor project stopping point preference in night shift runs by @trevor-e in [#114735](https://github.com/getsentry/sentry/pull/114735)\n- Route seat-based-seer-enabled check per-org in night shift cron by @trevor-e in [#114590](https://github.com/getsentry/sentry/pull/114590)\n- Tidy up the workflows table by @trevor-e in [#114545](https://github.com/getsentry/sentry/pull/114545)\n- Persist night shift agent_run_id as soon as the run starts by @trevor-e in [#114544](https://github.com/getsentry/sentry/pull/114544)\n- Pre-filter night-shift schedule by SeerProjectRepository by @trevor-e in [#114451](https://github.com/getsentry/sentry/pull/114451)\n- Branch trigger_handoff on autofix-on-explorer flag by @leeandher in [#114360](https://github.com/getsentry/sentry/pull/114360)\n- Open metrics links with encoded query state by @isaacwang-sentry in [#114237](https://github.com/getsentry/sentry/pull/114237)\n- Responsive drawer handling by @natemoo-re in [#114325](https://github.com/getsentry/sentry/pull/114325)\n- Hardcode alt layouts for seer hotkey by @natemoo-re in [#114238](https://github.com/getsentry/sentry/pull/114238)\n- Propagate viewer_context on explorer run polling by @trevor-e in [#114281](https://github.com/getsentry/sentry/pull/114281)\n- Hide hotkey on mobile by @natemoo-re in [#114176](https://github.com/getsentry/sentry/pull/114176)\n- Clear Seer automation handoff preference atomically by @srest2021 in [#114073](https://github.com/getsentry/sentry/pull/114073)\n- Cap profile execution tree depth to prevent Pydantic recursion errors by @Mihir-Mavalankar in [#114070](https://github.com/getsentry/sentry/pull/114070)\n- Respect context engine toggle for screenshot selection by @Mihir-Mavalankar in [#114008](https://github.com/getsentry/sentry/pull/114008)\n- Normalize bulk-selection alert styles for Autofix and Code Review by @ryan953 in [#113868](https://github.com/getsentry/sentry/pull/113868)\n- Always use default variant by @natemoo-re in [#113800](https://github.com/getsentry/sentry/pull/113800)\n- Center loading and toolcall states by @natemoo-re in [#113767](https://github.com/getsentry/sentry/pull/113767)\n- Don't allow images in markdown by @chromy in [#113726](https://github.com/getsentry/sentry/pull/113726)\n- Introduce synced useSeerExplorerRunId hook by @natemoo-re in [#113757](https://github.com/getsentry/sentry/pull/113757)\n- Use animated icon for busy state by @natemoo-re in [#113746](https://github.com/getsentry/sentry/pull/113746)\n- Fix textarea autosize and scrollbar bugs by @JonasBa in [#113745](https://github.com/getsentry/sentry/pull/113745)\n- Inline explorer input action buttons by @JonasBa in [#113735](https://github.com/getsentry/sentry/pull/113735)\n- Wrap user messages by @JonasBa in [#113725](https://github.com/getsentry/sentry/pull/113725)\n\n#### Seer Agent\n\n- Remove restart icon by @sehr-m in [#113733](https://github.com/getsentry/sentry/pull/113733)\n- Tool call changes, icon changes, messages max width by @sehr-m in [#113732](https://github.com/getsentry/sentry/pull/113732)\n\n#### Settings\n\n- Consistently use row layout by @TkDodo in [#114150](https://github.com/getsentry/sentry/pull/114150)\n- Preserve custom integration breadcrumb title by @priscilawebdev in [#114127](https://github.com/getsentry/sentry/pull/114127)\n- Breadcrumb duplication on sentry app pages by @priscilawebdev in [#113891](https://github.com/getsentry/sentry/pull/113891)\n\n#### Slack\n\n- Drop stale aggregateSort in explore unfurl when field is unknown by @DominikB2014 in [#114334](https://github.com/getsentry/sentry/pull/114334)\n- Prompt unlinked users to link identity for dashboards URLs by @DominikB2014 in [#113590](https://github.com/getsentry/sentry/pull/113590)\n- Prefer aggregateField over visualize in explore unfurl by @DominikB2014 in [#114188](https://github.com/getsentry/sentry/pull/114188)\n- Default dashboard unfurl to My Projects, not All Projects by @DominikB2014 in [#114164](https://github.com/getsentry/sentry/pull/114164)\n\n#### Snuba\n\n- Migration to remove QuerySubscription.time_window column by @kcons in [#114403](https://github.com/getsentry/sentry/pull/114403)\n- Propagate referrer through trace sub-queries by @roggenkemper in [#114332](https://github.com/getsentry/sentry/pull/114332)\n\n#### Tests\n\n- Deflake registerForm tests by @ryan953 in [#114632](https://github.com/getsentry/sentry/pull/114632)\n- Deflake projectQuickLinks tests by @ryan953 in [#114631](https://github.com/getsentry/sentry/pull/114631)\n- Deflake stackTrace tooltip URL test by @ryan953 in [#114624](https://github.com/getsentry/sentry/pull/114624)\n- Deflake customerDetails disabled permission test by @ryan953 in [#114640](https://github.com/getsentry/sentry/pull/114640)\n- Deflake react-native metrics onboarding test by @ryan953 in [#114627](https://github.com/getsentry/sentry/pull/114627)\n- Deflake timeSince tooltip timezone test by @ryan953 in [#114621](https://github.com/getsentry/sentry/pull/114621)\n- Deflake versionHoverCard render test by @ryan953 in [#114623](https://github.com/getsentry/sentry/pull/114623)\n- Fix flaky cart preview test by @dashed in [#114387](https://github.com/getsentry/sentry/pull/114387)\n\n#### Trace\n\n- Add referrer to the trace view by @wmak in [#114346](https://github.com/getsentry/sentry/pull/114346)\n- Fix span bars rendering too far to the right when scrollbar is visible by @nsdeschenes in [#113166](https://github.com/getsentry/sentry/pull/113166)\n\n#### Tracemetrics\n\n- Remove sorting styles from embedded table by @nsdeschenes in [#114588](https://github.com/getsentry/sentry/pull/114588)\n- Update delete metric tooltip message by @narsaynorath in [#114168](https://github.com/getsentry/sentry/pull/114168)\n- Drop 'equation|' prefix in alerts/monitors UI by @narsaynorath in [#113979](https://github.com/getsentry/sentry/pull/113979)\n- Remove optional platform check for metrics sidebar by @k-fish in [#114057](https://github.com/getsentry/sentry/pull/114057)\n- Remove filter cell actions from aggregates by @k-fish in [#113973](https://github.com/getsentry/sentry/pull/113973)\n- Cap metric queries in alerts to same as explore by @narsaynorath in [#113914](https://github.com/getsentry/sentry/pull/113914)\n- Update equation filter for chart footer total count by @narsaynorath in [#113906](https://github.com/getsentry/sentry/pull/113906)\n- Aggregates table tweaks by @nsdeschenes in [#113651](https://github.com/getsentry/sentry/pull/113651)\n\n#### Traces\n\n- Allow the chart to shrink by @nsdeschenes in [#114556](https://github.com/getsentry/sentry/pull/114556)\n- Correct 429 and 500 help text for load failures by @JoshuaKGoldberg in [#114043](https://github.com/getsentry/sentry/pull/114043)\n\n#### Typing\n\n- Guard None options in ReconnectingMemcache by @JoshFerge in [#113928](https://github.com/getsentry/sentry/pull/113928)\n- Narrow organization_id in from_auth by @JoshFerge in [#113927](https://github.com/getsentry/sentry/pull/113927)\n\n#### Ui\n\n- Disable links in project selector avatars by @scttcper in [#114775](https://github.com/getsentry/sentry/pull/114775)\n- Use variant by @natemoo-re in [#114602](https://github.com/getsentry/sentry/pull/114602)\n- Render passive drawer behind tooltips and modals by @natemoo-re in [#114488](https://github.com/getsentry/sentry/pull/114488)\n- Snap-close stuck tooltips when transitioning through overlays by @obostjancic in [#114032](https://github.com/getsentry/sentry/pull/114032)\n\n#### Uptime\n\n- Add missing audit log data by @klochek in [#113794](https://github.com/getsentry/sentry/pull/113794)\n- Add audit log when we disable broken uptime detectors by @klochek in [#113722](https://github.com/getsentry/sentry/pull/113722)\n\n#### Other\n\n- (agents) Allow token counts to wrap when space is constrained by @ArthurKnaus in [#114024](https://github.com/getsentry/sentry/pull/114024)\n- (ai-trace) Minimize system prompts in trace input by @obostjancic in [#114701](https://github.com/getsentry/sentry/pull/114701)\n- (alerts-migration) Make sure script processes generic metrics migrated alerts by @nikkikapadia in [#114612](https://github.com/getsentry/sentry/pull/114612)\n- (api-docs) Widen dataset enum on /events/ to include discover, errors, transactions by @MathurAditya724 in [#114787](https://github.com/getsentry/sentry/pull/114787)\n- (array-attributes) Expose flag via API by @nsdeschenes in [#114700](https://github.com/getsentry/sentry/pull/114700)\n- (attachments) Delete based on date_expires in cleanup job by @matt-codecov in [#111955](https://github.com/getsentry/sentry/pull/111955)\n- (auth) Cleanly handle malformed token IDs in ApiTokenDetailsEndpoint by @kcons in [#114386](https://github.com/getsentry/sentry/pull/114386)\n- (automations) Hide value input for is set/not set match types by @malwilley in [#114452](https://github.com/getsentry/sentry/pull/114452)\n- (breadcrumbs) Align severity level label with title by @cvxluo in [#114745](https://github.com/getsentry/sentry/pull/114745)\n- (cache) Swap self-hosted to ReconnectingMemcache and ban PyMemcacheCache by @gricha in [#113871](https://github.com/getsentry/sentry/pull/113871)\n- (chartcuterie) Render all timeseries when widget has multiple aggregates by @DominikB2014 in [#114436](https://github.com/getsentry/sentry/pull/114436)\n- (charts) Guard echarts.getInstanceByDom against detached DOM nodes by @JoshuaKGoldberg in [#114608](https://github.com/getsentry/sentry/pull/114608)\n- (checkout) Remove TopBar.Slot usage from CheckoutSuccess by @JonasBa in [#113754](https://github.com/getsentry/sentry/pull/113754)\n- (cmd-k) Limit dsn lookup requests to member projects by @klochek in [#114174](https://github.com/getsentry/sentry/pull/114174)\n- (codeBlock) Contain codeblock tabs row on narrow viewports by @jaydgoss in [#113455](https://github.com/getsentry/sentry/pull/113455)\n- (CODEOWNERS) Transfer source_code_management to coding-workflows by @kcons in [#114255](https://github.com/getsentry/sentry/pull/114255)\n- (cross-events) Change metrics to application metrics by @nsdeschenes in [#113969](https://github.com/getsentry/sentry/pull/113969)\n- (csp) Allow browser.sentry-cdn.com in connect-src by @ryan953 in [#114617](https://github.com/getsentry/sentry/pull/114617)\n- (detection) Reduce trace selection batch size from 50 to 5 by @roggenkemper in [#114372](https://github.com/getsentry/sentry/pull/114372)\n- (digests) Retry deliver_digest on lock conflict by @kcons in [#114383](https://github.com/getsentry/sentry/pull/114383)\n- (eap) Preserve metadata for convention replacements by @buenaflor in [#114039](https://github.com/getsentry/sentry/pull/114039)\n- (forms) Reserve space for auto-save indicator to prevent layout shift by @TkDodo in [#114292](https://github.com/getsentry/sentry/pull/114292)\n- (grouping) Prevent DiagnosticComposeException from determining issue title by @romtsn in [#114154](https://github.com/getsentry/sentry/pull/114154)\n- (hooks) Convert Hook component to FC to prevent child remounting by @TkDodo in [#114289](https://github.com/getsentry/sentry/pull/114289)\n- (hotkeys) Prevent event.code fallback from matching wrong keys on non-QWERTY layouts by @TkDodo in [#114714](https://github.com/getsentry/sentry/pull/114714)\n- (hybridcloud) Improve invite RPC performance with caching and reduced retries by @sentry in [#113503](https://github.com/getsentry/sentry/pull/113503)\n- (intercom) Move back to user ID by @sentaur-athena in [#114209](https://github.com/getsentry/sentry/pull/114209)\n- (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)\n- (java) Remap exceptions without a module by @romtsn in [#113691](https://github.com/getsentry/sentry/pull/113691)\n- (jest) Update eventDisplay test for TanStack Query timing by @sentry in [#114734](https://github.com/getsentry/sentry/pull/114734)\n- (jest-test) Make useReplayData incremental test deterministic with fake timers by @sentry in [#114733](https://github.com/getsentry/sentry/pull/114733)\n- (legal) Prevent stored XSS via javascript: URLs in policy revision flow by @swartzrock in [#114283](https://github.com/getsentry/sentry/pull/114283)\n- (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)\n- (metric-alerts) Add app installations to alert serializer by @klochek in [#114429](https://github.com/getsentry/sentry/pull/114429)\n- (native) Prioritize rendered crash report thread by @scttcper in [#114618](https://github.com/getsentry/sentry/pull/114618)\n- (notification-actions) Better access control for org-wide actions by @malwilley in [#113718](https://github.com/getsentry/sentry/pull/113718)\n- (organizations) Scope delete_organization_member by organization id by @michelletran-sentry in [#113793](https://github.com/getsentry/sentry/pull/113793)\n- (pageFrame) Adjust header layout for better spacing above alert by @TkDodo in [#113781](https://github.com/getsentry/sentry/pull/113781)\n- (perforce) Add config allowlist to exclude password from get_config_data by @mujacica in [#114021](https://github.com/getsentry/sentry/pull/114021)\n- (pipeline) Guard against missing installation_id in GitHub install redirect by @evanpurkhiser in [#114363](https://github.com/getsentry/sentry/pull/114363)\n- (pr-comments) Align option default in task body with queue gate by @evanpurkhiser in [#113806](https://github.com/getsentry/sentry/pull/113806)\n- (profiles) Use EAP spans instead of Transaction event on Profile screens by @mjq in [#112975](https://github.com/getsentry/sentry/pull/112975)\n- (releases) Prevent premature issue resolution from commit messages by @JoshFerge in [#107138](https://github.com/getsentry/sentry/pull/107138)\n- (repos) Set minMatchCharLength to 1 for repo search by @evanpurkhiser in [#114582](https://github.com/getsentry/sentry/pull/114582)\n- (seer-agent) Fix showActions on hover and cleanup broken focusedBlockIndex state by @aliu39 in [#113739](https://github.com/getsentry/sentry/pull/113739)\n- (seer-explorer) Restrict block actions and copy button to assistant role only by @aliu39 in [#113843](https://github.com/getsentry/sentry/pull/113843)\n- (seer-preferences) Don't delete SeerProjectRepository on repo hide by @srest2021 in [#114509](https://github.com/getsentry/sentry/pull/114509)\n- (seer-slack) Skip subscription-gated access check in control silo by @leeandher in [#113716](https://github.com/getsentry/sentry/pull/113716)\n- (skills) Remove billing from control silo references in agent skill docs by @dashed in [#114382](https://github.com/getsentry/sentry/pull/114382)\n- (slack-seer) Ensure organization context is present for handoff storage + block kit fix by @leeandher in [#114585](https://github.com/getsentry/sentry/pull/114585)\n- (slot) Prefer graceful degradation when slot not found by @natemoo-re in [#114547](https://github.com/getsentry/sentry/pull/114547)\n- (snapshots) Hide diff overlay while image loads and deduplicate computeMaskSize by @NicoHinderling in [#114450](https://github.com/getsentry/sentry/pull/114450)\n- (spans-migration) Don't migrate homepage discover queries by @nikkikapadia in [#114467](https://github.com/getsentry/sentry/pull/114467)\n- (supergroups) Close drawer on click outside, but not modals by @scttcper in [#114574](https://github.com/getsentry/sentry/pull/114574)\n- (sync_repos) Handle string JSON in VSTS and error dicts in GitLab by @wedamija in [#114656](https://github.com/getsentry/sentry/pull/114656)\n- (trace-waterfall) Attempt to fix flaky test by @nsdeschenes in [#113801](https://github.com/getsentry/sentry/pull/113801)\n- (tracemetrics, dashboards) Render metric selector via portal by @nsdeschenes in [#114604](https://github.com/getsentry/sentry/pull/114604)\n- (types) Remove sentry.api.paginator from mypy ignore list by @kcons in [#114510](https://github.com/getsentry/sentry/pull/114510)\n- (workflow_engine) Ignore Workflow.DoesNotExist in trigger_action task by @sentry in [#114385](https://github.com/getsentry/sentry/pull/114385)\n- (workflows) Don't require Workflow.config to create by @kcons in [#113859](https://github.com/getsentry/sentry/pull/113859)\n- Flaky `test_handler` by isolating trace context in log handler tests by @joshuarli in [#114491](https://github.com/getsentry/sentry/pull/114491)\n- Handle duplicate list values in resolve_top_event_conditions by @JoshFerge in [#114400](https://github.com/getsentry/sentry/pull/114400)\n- Do not export fetchDataQuery by @TkDodo in [#114408](https://github.com/getsentry/sentry/pull/114408)\n- 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)\n- 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)\n- Normalize issues and replays to info alerts with icons by @JoshuaKGoldberg in [#113687](https://github.com/getsentry/sentry/pull/113687)\n- 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)\n- Revert parallel devservices startup by @joshuarli in [#113755](https://github.com/getsentry/sentry/pull/113755)\n\n### Documentation 📚\n\n- (agents) Mention ViewerContext identity wiring by @gricha in [#113617](https://github.com/getsentry/sentry/pull/113617)\n\n### Internal Changes 🔧\n\n#### ✂️\n\n- Drop pipeline entry point from knip config by @evanpurkhiser in [#114228](https://github.com/getsentry/sentry/pull/114228)\n- Update knip by @TkDodo in [#114037](https://github.com/getsentry/sentry/pull/114037)\n\n#### Aci\n\n- Fix monitor form editable breadcrumb titles by @malwilley in [#114726](https://github.com/getsentry/sentry/pull/114726)\n- Add callout on inline alert form by @malwilley in [#114581](https://github.com/getsentry/sentry/pull/114581)\n- Add test coverage around valid comparison delta values by @ceorourke in [#114092](https://github.com/getsentry/sentry/pull/114092)\n- Return serialized Detector for metric alert rule POST and PUT endpoints by @ceorourke in [#113816](https://github.com/getsentry/sentry/pull/113816)\n- Return workflow response from issue alert POST and PUT endpoints by @ceorourke in [#113752](https://github.com/getsentry/sentry/pull/113752)\n- Unschedule prune_old_open_period_activity by @kcons in [#113744](https://github.com/getsentry/sentry/pull/113744)\n\n#### Autofix\n\n- Add analytic when users click on autofix evidence by @Zylphrex in [#114741](https://github.com/getsentry/sentry/pull/114741)\n- Remove impact_assessment and triage steps by @chromy in [#114572](https://github.com/getsentry/sentry/pull/114572)\n- Remove impact_assessment and triage from Explorer next steps by @chromy in [#114567](https://github.com/getsentry/sentry/pull/114567)\n- Rollout autofix runs view with new autofix by @Zylphrex in [#114315](https://github.com/getsentry/sentry/pull/114315)\n- Remove unused Seer API get preferences helpers by @srest2021 in [#114098](https://github.com/getsentry/sentry/pull/114098)\n- Pass optional args to startStep as object by @Zylphrex in [#114097](https://github.com/getsentry/sentry/pull/114097)\n- Split AutofixCards file into multiple files by @Zylphrex in [#114000](https://github.com/getsentry/sentry/pull/114000)\n\n#### Billing\n\n- Migrate spend notifications form to new form system by @TkDodo in [#114303](https://github.com/getsentry/sentry/pull/114303)\n- Remove Developer plan changes link from cancel banner by @souredoutlook in [#114122](https://github.com/getsentry/sentry/pull/114122)\n- Bump sentry-protos to 0.8.17 by @noahsmartin in [#113773](https://github.com/getsentry/sentry/pull/113773)\n- Bumped protos version to 0.8.16 by @brendanhsentry in [#113766](https://github.com/getsentry/sentry/pull/113766)\n\n#### Button Variant\n\n- Remove deprecated priority prop from Button by @natemoo-re in [#114756](https://github.com/getsentry/sentry/pull/114756)\n- Cleanup core and forms by @natemoo-re in [#114729](https://github.com/getsentry/sentry/pull/114729)\n- Update docs to reference variant by @natemoo-re in [#114721](https://github.com/getsentry/sentry/pull/114721)\n- Shim downstream components for priority/variant compat by @natemoo-re in [#114546](https://github.com/getsentry/sentry/pull/114546)\n\n#### Cmdk\n\n- Make CMDKQueryOptions generic to fix type inference by @TkDodo in [#114410](https://github.com/getsentry/sentry/pull/114410)\n- Remove projects array from identifier lookup query key by @JonasBa in [#114512](https://github.com/getsentry/sentry/pull/114512)\n- Remove cmd-k feature flags from backend by @JonasBa in [#114439](https://github.com/getsentry/sentry/pull/114439)\n- Remove cmd-k feature flag checks from frontend by @JonasBa in [#114441](https://github.com/getsentry/sentry/pull/114441)\n- Remove old cmdk implementation by @JonasBa in [#114224](https://github.com/getsentry/sentry/pull/114224)\n- Wrap bulk assign action in parent 'Assigned to' action by @JonasBa in [#114374](https://github.com/getsentry/sentry/pull/114374)\n- Eagerly load filter key sections and cap boolean attributes by @JonasBa in [#114125](https://github.com/getsentry/sentry/pull/114125)\n- Split CMDKAction rendering to avoid useQuery without a resource by @JonasBa in [#114066](https://github.com/getsentry/sentry/pull/114066)\n- Flatten modal.tsx into commandPalette.tsx by @JonasBa in [#113945](https://github.com/getsentry/sentry/pull/113945)\n\n#### Conversations\n\n- Further decouple conversations from insights by @nsdeschenes in [#113902](https://github.com/getsentry/sentry/pull/113902)\n- Move conversations to explore layout by @nsdeschenes in [#113897](https://github.com/getsentry/sentry/pull/113897)\n\n#### Dashboards\n\n- Inline top_n -> area conversion into widget library templates by @DominikB2014 in [#114563](https://github.com/getsentry/sentry/pull/114563)\n- Drop DashboardTombstone table by @gggritso in [#114267](https://github.com/getsentry/sentry/pull/114267)\n- Remove DashboardTombstone model by @gggritso in [#114265](https://github.com/getsentry/sentry/pull/114265)\n- Remove old prebuilt General dashboard by @gggritso in [#113608](https://github.com/getsentry/sentry/pull/113608)\n- Clean up RevisionListItem logic and naming by @skaasten in [#114161](https://github.com/getsentry/sentry/pull/114161)\n\n#### Deps\n\n- Bump sentry-conventions to 0.6.0 by @buenaflor in [#114750](https://github.com/getsentry/sentry/pull/114750)\n- Bump sentry-conventions to 0.5.0 by @buenaflor in [#113515](https://github.com/getsentry/sentry/pull/113515)\n\n#### Experiments\n\n- Default useExperiment reportExposure to false by @jaydgoss in [#114217](https://github.com/getsentry/sentry/pull/114217)\n- 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)\n\n#### Explore\n\n- Migrate useGetTraceItemAttributeValues to apiOptions by @nsdeschenes in [#114323](https://github.com/getsentry/sentry/pull/114323)\n- Clean up page frame flag by @nsdeschenes in [#114304](https://github.com/getsentry/sentry/pull/114304)\n- Move releases to views/explore by @nsdeschenes in [#113892](https://github.com/getsentry/sentry/pull/113892)\n- Move profiles into views/explore by @nsdeschenes in [#113820](https://github.com/getsentry/sentry/pull/113820)\n- Move replays to views/explore by @nsdeschenes in [#113827](https://github.com/getsentry/sentry/pull/113827)\n- Move conversations to views/explore by @nsdeschenes in [#113893](https://github.com/getsentry/sentry/pull/113893)\n\n#### Explorer\n\n- Do slide in animation for loaded response blocks by @aliu39 in [#114280](https://github.com/getsentry/sentry/pull/114280)\n- Simplify topbar fb condition by @aliu39 in [#114348](https://github.com/getsentry/sentry/pull/114348)\n- Cleanup chat keyboard nav and dont show broken link icon while loading by @aliu39 in [#114223](https://github.com/getsentry/sentry/pull/114223)\n- New prefill question by @aliu39 in [#113970](https://github.com/getsentry/sentry/pull/113970)\n- Populate project repos in explorer user_org_context by @srest2021 in [#113844](https://github.com/getsentry/sentry/pull/113844)\n\n#### Flags\n\n- Remove organizations:releases-serializer-v2 by @wedamija in [#113504](https://github.com/getsentry/sentry/pull/113504)\n- Remove `organizations:event-unique-user-frequency-condition-with-conditions` feature flag by @wedamija in [#112755](https://github.com/getsentry/sentry/pull/112755)\n\n#### Forms\n\n- Migrate reprocess event modal by @priscilawebdev in [#114836](https://github.com/getsentry/sentry/pull/114836)\n- Migrate data secrecy support access toggle by @priscilawebdev in [#114840](https://github.com/getsentry/sentry/pull/114840)\n- Migrate create release integration modal by @priscilawebdev in [#114832](https://github.com/getsentry/sentry/pull/114832)\n\n#### Grouping\n\n- Correctly parameterize dotted ints by @lobsterkatie in [#114776](https://github.com/getsentry/sentry/pull/114776)\n- Improve URL parameterization by @lobsterkatie in [#114753](https://github.com/getsentry/sentry/pull/114753)\n- Add more URL parameterization test cases by @lobsterkatie in [#114615](https://github.com/getsentry/sentry/pull/114615)\n- Restrict values in IPv4 regex by @lobsterkatie in [#114362](https://github.com/getsentry/sentry/pull/114362)\n- Add IP false positive test by @lobsterkatie in [#114458](https://github.com/getsentry/sentry/pull/114458)\n- Clear old and invalid secondary grouping config options by @lobsterkatie in [#114378](https://github.com/getsentry/sentry/pull/114378)\n- Parameterize ints and hexes abutting underscores by @lobsterkatie in [#114345](https://github.com/getsentry/sentry/pull/114345)\n- Add random id parameterization regex by @lobsterkatie in [#113756](https://github.com/getsentry/sentry/pull/113756)\n- Add more broken parameterization cases by @lobsterkatie in [#113737](https://github.com/getsentry/sentry/pull/113737)\n\n#### Insights\n\n- Remove dynamically loaded Insight widgets and cascading dead code by @gggritso in [#114381](https://github.com/getsentry/sentry/pull/114381)\n- Delete Insights Overviews by @gggritso in [#114189](https://github.com/getsentry/sentry/pull/114189)\n- Delete AI Insights Module pages by @gggritso in [#114248](https://github.com/getsentry/sentry/pull/114248)\n- Delete Mobile Insights pages by @gggritso in [#114246](https://github.com/getsentry/sentry/pull/114246)\n- Delete Frontend Insights Module pages by @gggritso in [#114233](https://github.com/getsentry/sentry/pull/114233)\n- Delete Backend Insights Module pages by @gggritso in [#114200](https://github.com/getsentry/sentry/pull/114200)\n- Platformize summary pages by @gggritso in [#113976](https://github.com/getsentry/sentry/pull/113976)\n\n#### Integrations\n\n- Drop legacy SCM-option plumbing and purge the option rows by @evanpurkhiser in [#114365](https://github.com/getsentry/sentry/pull/114365)\n- Drop githubNudgeInvite from org object in invite banner by @evanpurkhiser in [#114463](https://github.com/getsentry/sentry/pull/114463)\n- Remove legacy GitHub/GitLab feature toggles from detail view by @evanpurkhiser in [#113924](https://github.com/getsentry/sentry/pull/113924)\n- Remove org-level gates for SCM source context and Perforce by @mujacica in [#114132](https://github.com/getsentry/sentry/pull/114132)\n- More GitHub API request tagging + org_id by @armenzg in [#113786](https://github.com/getsentry/sentry/pull/113786)\n\n#### Issue Detection\n\n- Log AI General Issues rather than ingest them by @roggenkemper in [#114755](https://github.com/getsentry/sentry/pull/114755)\n- Remove general AI detected issues by @roggenkemper in [#114754](https://github.com/getsentry/sentry/pull/114754)\n- Move LLM detection scheduler by @roggenkemper in [#114044](https://github.com/getsentry/sentry/pull/114044)\n- Remove unused LLM detection projects-allowlist by @roggenkemper in [#114045](https://github.com/getsentry/sentry/pull/114045)\n\n#### Issues\n\n- Fix typo groups_to_transistion -> groups_to_transition by @mrduncan in [#114633](https://github.com/getsentry/sentry/pull/114633)\n- Drop redundant dict() re-cast in materialize_metadata by @mrduncan in [#114648](https://github.com/getsentry/sentry/pull/114648)\n- Use module logger in issue_occurrence by @mrduncan in [#114646](https://github.com/getsentry/sentry/pull/114646)\n- Use generator instead of list comp in handle_merge any() by @mrduncan in [#114644](https://github.com/getsentry/sentry/pull/114644)\n- Simplify get_highlight_preset_for_project branches by @mrduncan in [#114642](https://github.com/getsentry/sentry/pull/114642)\n- Remove redundant Fragment in EventCreatedTooltip by @mrduncan in [#114649](https://github.com/getsentry/sentry/pull/114649)\n- Replace redundant elif with else in update_inbox by @mrduncan in [#114635](https://github.com/getsentry/sentry/pull/114635)\n- Remove performance issues search flag by @ceorourke in [#114507](https://github.com/getsentry/sentry/pull/114507)\n- Delete option registration for prev/next event navigation by @shashjar in [#114064](https://github.com/getsentry/sentry/pull/114064)\n- Migrate similar stack trace to SimpleTable by @scttcper in [#113341](https://github.com/getsentry/sentry/pull/113341)\n- Rename filterThreadInfo to getThreadInfo by @scttcper in [#113971](https://github.com/getsentry/sentry/pull/113971)\n- Convert GroupType class config to ClassVar by @JoshFerge in [#113423](https://github.com/getsentry/sentry/pull/113423)\n\n#### Llm Detection\n\n- Updated titles and ordering to match the list in seer by @nora-shap in [#114783](https://github.com/getsentry/sentry/pull/114783)\n- Add transacion to fingerprint for grouping by @shayna-ch in [#113974](https://github.com/getsentry/sentry/pull/113974)\n\n#### Onboarding\n\n- Enforce display order for SCM provider pills by @jaydgoss in [#114727](https://github.com/getsentry/sentry/pull/114727)\n- Drive SCM feature card volumes from billing-config by @jaydgoss in [#114397](https://github.com/getsentry/sentry/pull/114397)\n- Polish new SCM onboarding flow styling by @itsdangold in [#114261](https://github.com/getsentry/sentry/pull/114261)\n\n#### Preprod\n\n- Extract shared SnapshotsToolbar component by @mtopo27 in [#114746](https://github.com/getsentry/sentry/pull/114746)\n- Update snapshot list framing by @mtopo27 in [#114448](https://github.com/getsentry/sentry/pull/114448)\n- Add markdown snapshot coverage by @mtopo27 in [#114434](https://github.com/getsentry/sentry/pull/114434)\n- Remove unused image column code by @mtopo27 in [#114431](https://github.com/getsentry/sentry/pull/114431)\n- Migrate shared preprod status check functionality to shared utils by @rbro112 in [#114268](https://github.com/getsentry/sentry/pull/114268)\n- Replace sidebar disclosure sections with status filter pills by @NicoHinderling in [#113988](https://github.com/getsentry/sentry/pull/113988)\n- Use transparent color sentinel for overlay visibility by @NicoHinderling in [#113987](https://github.com/getsentry/sentry/pull/113987)\n- Remove preprod-issues feature flag by @chromy in [#114023](https://github.com/getsentry/sentry/pull/114023)\n- Flatten empty-state ternary and drop redundant Fragment by @NicoHinderling in [#113956](https://github.com/getsentry/sentry/pull/113956)\n- Drop hash-keyed manifest fallback by @NicoHinderling in [#113967](https://github.com/getsentry/sentry/pull/113967)\n\n#### Projects\n\n- Fix N+1 in get_access_by_project by @scttcper in [#113879](https://github.com/getsentry/sentry/pull/113879)\n- Harden regression coverage for delete_project and delete_project_key by @BYK in [#113792](https://github.com/getsentry/sentry/pull/113792)\n\n#### Releases\n\n- Filter artifact bundle joins by organization_id by @scttcper in [#114103](https://github.com/getsentry/sentry/pull/114103)\n- Migrate releases to explore layout by @nsdeschenes in [#113950](https://github.com/getsentry/sentry/pull/113950)\n\n#### Replays\n\n- Migrate to explore layout by @nsdeschenes in [#113942](https://github.com/getsentry/sentry/pull/113942)\n- Make useReplayCount discover uses explicit by @mjq in [#113586](https://github.com/getsentry/sentry/pull/113586)\n- Fix flaky test_export_replay_row_set by @joshuarli in [#113742](https://github.com/getsentry/sentry/pull/113742)\n\n#### Repos\n\n- Use flag-aware Seer provider check in SCM views by @evanpurkhiser in [#114478](https://github.com/getsentry/sentry/pull/114478)\n- Refactor ScmRepositoryTable to per-install actions and virtualized list by @evanpurkhiser in [#114511](https://github.com/getsentry/sentry/pull/114511)\n- Share Seer-compatible provider check across SCM views by @evanpurkhiser in [#114364](https://github.com/getsentry/sentry/pull/114364)\n\n#### Repositories\n\n- Overide github error handling for repo sync by @wedamija in [#114595](https://github.com/getsentry/sentry/pull/114595)\n- Clean up vsts error handling by @wedamija in [#114592](https://github.com/getsentry/sentry/pull/114592)\n- Abstract broken integration handling into base class by @wedamija in [#114464](https://github.com/getsentry/sentry/pull/114464)\n\n#### Scraps\n\n- Adopt `GlobalModal` by @natemoo-re in [#114447](https://github.com/getsentry/sentry/pull/114447)\n- Support `openInNewTab` on LinkButton by @natemoo-re in [#114490](https://github.com/getsentry/sentry/pull/114490)\n- Add variant prop to button, deprecate priority by @natemoo-re in [#113838](https://github.com/getsentry/sentry/pull/113838)\n- Adopt pagination by @natemoo-re in [#114079](https://github.com/getsentry/sentry/pull/114079)\n- Export more Tanstack form helpers to enable composition by @malwilley in [#114260](https://github.com/getsentry/sentry/pull/114260)\n- Migrate legal & compliance page to new form system by @TkDodo in [#114155](https://github.com/getsentry/sentry/pull/114155)\n- Adopt standard backdrop by @natemoo-re in [#113968](https://github.com/getsentry/sentry/pull/113968)\n\n#### Seer\n\n- Refactor to leverage useOrganizationMutationOptions by @ryan953 in [#113861](https://github.com/getsentry/sentry/pull/113861)\n- Move /seer/workflows to /issues/autofix by @chromy in [#114715](https://github.com/getsentry/sentry/pull/114715)\n- Send project slugs instead of numeric IDs in LLM context by @Mihir-Mavalankar in [#114568](https://github.com/getsentry/sentry/pull/114568)\n- Add progress logs to night shift schedule cron by @trevor-e in [#114557](https://github.com/getsentry/sentry/pull/114557)\n- Remove unused SeerRawPreferenceResponse and improve write-time repo id validation by @srest2021 in [#114392](https://github.com/getsentry/sentry/pull/114392)\n- Cleanup disabled seer onboarding wizard by @ryan953 in [#113857](https://github.com/getsentry/sentry/pull/113857)\n- Move trace routes to stable structured context set by @Mihir-Mavalankar in [#114440](https://github.com/getsentry/sentry/pull/114440)\n- Rename Explorer to Agent across backend Python by @trevor-e in [#114337](https://github.com/getsentry/sentry/pull/114337)\n- Rename 'Open Seer' button to 'Open Autofix' by @chromy in [#114425](https://github.com/getsentry/sentry/pull/114425)\n- Remove unused Seer project preferences cleanup tasks by @srest2021 in [#114112](https://github.com/getsentry/sentry/pull/114112)\n- Remove Seer API dual writes in project preference endpoints by @srest2021 in [#114239](https://github.com/getsentry/sentry/pull/114239)\n- Remove Seer API project preference dual writes in internal flows and helpers by @srest2021 in [#114240](https://github.com/getsentry/sentry/pull/114240)\n- Remove enableSeerEnhancedAlerts org preference by @leeandher in [#114213](https://github.com/getsentry/sentry/pull/114213)\n- Remove enableSeerEnhancedAlerts settings toggle by @leeandher in [#114211](https://github.com/getsentry/sentry/pull/114211)\n- Skip stale and security-report groups in supergroups backfill by @yuvmen in [#114230](https://github.com/getsentry/sentry/pull/114230)\n- Inline SeerProjectRepository and ProjectOption cleanups for disabled/hidden repos and deleted integrations by @srest2021 in [#114110](https://github.com/getsentry/sentry/pull/114110)\n- Remove redundant page title from autofix project settings by @chromy in [#114145](https://github.com/getsentry/sentry/pull/114145)\n- Update isSeerExplorerEnabled to use gen-ai-features flag by @aliu39 in [#114099](https://github.com/getsentry/sentry/pull/114099)\n- Use neutral variant for `code` by @natemoo-re in [#114083](https://github.com/getsentry/sentry/pull/114083)\n- Read project preferences only from Sentry DB, part 3 by @srest2021 in [#114002](https://github.com/getsentry/sentry/pull/114002)\n- Tweak loading state by @natemoo-re in [#114075](https://github.com/getsentry/sentry/pull/114075)\n- Use seer-night-shift-settings flag for night shift UI by @chromy in [#114022](https://github.com/getsentry/sentry/pull/114022)\n- Read project preferences only from Sentry DB, part 2: handoff & stopping point paths by @srest2021 in [#113972](https://github.com/getsentry/sentry/pull/113972)\n- Read project preferences only from Sentry DB, part 1 by @srest2021 in [#113835](https://github.com/getsentry/sentry/pull/113835)\n- Implement custom loading state by @natemoo-re in [#113866](https://github.com/getsentry/sentry/pull/113866)\n- Use priority field instead of frontend route filtering by @Mihir-Mavalankar in [#113717](https://github.com/getsentry/sentry/pull/113717)\n- Add priority-based root node selection to snapshot_to_markdown by @Mihir-Mavalankar in [#113715](https://github.com/getsentry/sentry/pull/113715)\n- Remove focus hijack by @JonasBa in [#113713](https://github.com/getsentry/sentry/pull/113713)\n\n#### Seer Agent\n\n- 30% default width for seer drawer by @sehr-m in [#113875](https://github.com/getsentry/sentry/pull/113875)\n- Drawer in front of tooltips by @sehr-m in [#113869](https://github.com/getsentry/sentry/pull/113869)\n- Remove enter hint by @sehr-m in [#113839](https://github.com/getsentry/sentry/pull/113839)\n- Fix hotkeys by @sehr-m in [#113863](https://github.com/getsentry/sentry/pull/113863)\n- Change user message and input margins/padding by @sehr-m in [#113836](https://github.com/getsentry/sentry/pull/113836)\n\n#### Seer Slack\n\n- Omit seer fix button when no other actions are present by @leeandher in [#114090](https://github.com/getsentry/sentry/pull/114090)\n- Remove explorer cache key fallback by @alexsohn1126 in [#113810](https://github.com/getsentry/sentry/pull/113810)\n- Safely convert routing to control silo task by @leeandher in [#113721](https://github.com/getsentry/sentry/pull/113721)\n- Rename explorer to agent in seer agent slack integration by @alexsohn1126 in [#113444](https://github.com/getsentry/sentry/pull/113444)\n\n#### Sentry Apps\n\n- Bump time for issue webhook to 12s and cleanup old task by @Christinarlong in [#114205](https://github.com/getsentry/sentry/pull/114205)\n- Bump task duration times for tasks by @Christinarlong in [#114101](https://github.com/getsentry/sentry/pull/114101)\n\n#### Settings\n\n- Use mutation hooks for sentry app tokens by @priscilawebdev in [#114833](https://github.com/getsentry/sentry/pull/114833)\n- Migrate project release tracking to FormSearch by @priscilawebdev in [#114698](https://github.com/getsentry/sentry/pull/114698)\n- Use SettingsPageHeader subtitle on dynamic sampling by @evanpurkhiser in [#114576](https://github.com/getsentry/sentry/pull/114576)\n- Use SettingsPageHeader subtitle on console SDK invites by @evanpurkhiser in [#114575](https://github.com/getsentry/sentry/pull/114575)\n- Migrate tempest credentials modal to scraps by @priscilawebdev in [#114144](https://github.com/getsentry/sentry/pull/114144)\n- Migrate spike protection toggle to new form system by @TkDodo in [#114293](https://github.com/getsentry/sentry/pull/114293)\n- Update Seer settings docs link for Autofix by @shashjar in [#114102](https://github.com/getsentry/sentry/pull/114102)\n- Drop legacy FieldGroup in reportUri by @priscilawebdev in [#114142](https://github.com/getsentry/sentry/pull/114142)\n- Migrate api applications form by @priscilawebdev in [#113887](https://github.com/getsentry/sentry/pull/113887)\n- Migrate redeemPromoCode page to new form system attempt 2 by @TkDodo in [#113889](https://github.com/getsentry/sentry/pull/113889)\n- Remove organization breadcrumb by @evanpurkhiser in [#113706](https://github.com/getsentry/sentry/pull/113706)\n\n#### Snapshots\n\n- Rename 'modified' to 'changed' in snapshot UI by @NicoHinderling in [#114747](https://github.com/getsentry/sentry/pull/114747)\n- Update sidebar UI to be collapsible again by @NicoHinderling in [#114610](https://github.com/getsentry/sentry/pull/114610)\n- Move card selection from header to card frame by @NicoHinderling in [#114645](https://github.com/getsentry/sentry/pull/114645)\n- Share focused snapshot card frames by @mtopo27 in [#114498](https://github.com/getsentry/sentry/pull/114498)\n- Add keyboard nav hints and visual feedback by @NicoHinderling in [#114432](https://github.com/getsentry/sentry/pull/114432)\n- Refine snapshot sidebar by @mtopo27 in [#114356](https://github.com/getsentry/sentry/pull/114356)\n- Add per-image diffThreshold support by @NicoHinderling in [#114335](https://github.com/getsentry/sentry/pull/114335)\n- Buffer image swap to eliminate flash during single-view navigation by @NicoHinderling in [#114271](https://github.com/getsentry/sentry/pull/114271)\n- Final UI tweaks by @NicoHinderling in [#114232](https://github.com/getsentry/sentry/pull/114232)\n\n#### Spans\n\n- Clean up enforce-segment-size option by @lvthanh03 in [#114593](https://github.com/getsentry/sentry/pull/114593)\n- Unregister chunk oversized segments option by @lvthanh03 in [#113790](https://github.com/getsentry/sentry/pull/113790)\n\n#### Tsc\n\n- Migrate sentry-apps endpoints to apiOptions by @TkDodo in [#114834](https://github.com/getsentry/sentry/pull/114834)\n- UseReleasesWidgetQuery to apiOptions by @TkDodo in [#114427](https://github.com/getsentry/sentry/pull/114427)\n- Insights useReleases to apiOptions by @TkDodo in [#114411](https://github.com/getsentry/sentry/pull/114411)\n- Migrate useOrganizationsWithRegion to apiOptions by @TkDodo in [#114413](https://github.com/getsentry/sentry/pull/114413)\n- Remove any from QueryKeyEndpointOptions by @TkDodo in [#114419](https://github.com/getsentry/sentry/pull/114419)\n- UseReleases to apiOptions by @TkDodo in [#114131](https://github.com/getsentry/sentry/pull/114131)\n- Remaining widget queries to apiOptions by @TkDodo in [#114146](https://github.com/getsentry/sentry/pull/114146)\n- UseFetchParallelPages and useFetchSequentialPages to apiOptions by @TkDodo in [#114139](https://github.com/getsentry/sentry/pull/114139)\n- UseLogsQuery to apiOptions by @TkDodo in [#114143](https://github.com/getsentry/sentry/pull/114143)\n- Replay-count to apiOptions by @TkDodo in [#114012](https://github.com/getsentry/sentry/pull/114012)\n- Issue details endpoint to apiOptions by @TkDodo in [#114059](https://github.com/getsentry/sentry/pull/114059)\n- Issue autofix endpoint to apiOptions by @TkDodo in [#113918](https://github.com/getsentry/sentry/pull/113918)\n- Seer preferences to apiOptions by @TkDodo in [#113894](https://github.com/getsentry/sentry/pull/113894)\n- Move events-stats endpoint to apiOptions by @TkDodo in [#113812](https://github.com/getsentry/sentry/pull/113812)\n- Move event-timeseries endpoint to apiOptions by @TkDodo in [#113883](https://github.com/getsentry/sentry/pull/113883)\n- Move attribute validation endpoint to apiOptions by @TkDodo in [#113886](https://github.com/getsentry/sentry/pull/113886)\n- Organization details endpoint to apiOptions by @TkDodo in [#113782](https://github.com/getsentry/sentry/pull/113782)\n- Issues-timeseries endpoint to apiOptions by @TkDodo in [#113779](https://github.com/getsentry/sentry/pull/113779)\n- Move integrations-repos endpoint to apiOptions by @TkDodo in [#113784](https://github.com/getsentry/sentry/pull/113784)\n- Remove useInfiniteApiQuery by @TkDodo in [#113778](https://github.com/getsentry/sentry/pull/113778)\n- Remove getResponseHeader from useApiQuery by @TkDodo in [#113775](https://github.com/getsentry/sentry/pull/113775)\n- Remove re-export of TansTack Query from queryClient.tsx by @TkDodo in [#113777](https://github.com/getsentry/sentry/pull/113777)\n- Issues endpoint to apiOptions by @TkDodo in [#113525](https://github.com/getsentry/sentry/pull/113525)\n\n#### Typing\n\n- Drop redundant cast in trace metric search type by @JoshFerge in [#113930](https://github.com/getsentry/sentry/pull/113930)\n- Drop redundant cast on TraceMetric.metric_type by @JoshFerge in [#113932](https://github.com/getsentry/sentry/pull/113932)\n- Drop redundant casts in resolve_measurement_value by @JoshFerge in [#113933](https://github.com/getsentry/sentry/pull/113933)\n- Upgrade mypy to 1.20.1 by @JoshFerge in [#113419](https://github.com/getsentry/sentry/pull/113419)\n- Misc test-side type hint fixes by @JoshFerge in [#113428](https://github.com/getsentry/sentry/pull/113428)\n- Convert RegressionDetector + AttributeHandler config to ClassVar by @JoshFerge in [#113422](https://github.com/getsentry/sentry/pull/113422)\n- Strengthen shared integrations base client typing by @armenzg in [#113474](https://github.com/getsentry/sentry/pull/113474)\n- Refetch via queryset instead of refresh_from_db after narrowing by @JoshFerge in [#113427](https://github.com/getsentry/sentry/pull/113427)\n\n#### Ui\n\n- Use `test-ci` instead of `CI=true` to run tests w/ agents by @scttcper in [#114759](https://github.com/getsentry/sentry/pull/114759)\n- Drop jest-junit by @scttcper in [#114564](https://github.com/getsentry/sentry/pull/114564)\n- Convert `useHoverOverlay` to state machine by @natemoo-re in [#113628](https://github.com/getsentry/sentry/pull/113628)\n\n#### Other\n\n- (ai-monitoring) Remove legacy aiModelCosts config and fetch_ai_model_costs task by @constantinius in [#113534](https://github.com/getsentry/sentry/pull/113534)\n- (ai-spans) Tighten AI message normalizer types by @obostjancic in [#114705](https://github.com/getsentry/sentry/pull/114705)\n- (ai-trace) Consolidate AI input/output format fallbacks by @obostjancic in [#114028](https://github.com/getsentry/sentry/pull/114028)\n- (alerts) Move editable name into breadcrumbs and remove page frame checks by @malwilley in [#114476](https://github.com/getsentry/sentry/pull/114476)\n- (api) Tighten accept-invite cleanup-delete path by @michelletran-sentry in [#114040](https://github.com/getsentry/sentry/pull/114040)\n- (artifact-bundles) Filter search joins by organization_id by @scttcper in [#114111](https://github.com/getsentry/sentry/pull/114111)\n- (auth) Add metrics for Relay authentication by @Dav1dde in [#114417](https://github.com/getsentry/sentry/pull/114417)\n- (buffer) Delete unused InProcessBuffer class by @vgrozdanic in [#114843](https://github.com/getsentry/sentry/pull/114843)\n- (cells) Remove platform filter and project sort from org listing by @lynnagara in [#114785](https://github.com/getsentry/sentry/pull/114785)\n- (ci) Increase Jest shards from 4 to 8 for faster CI by @NicoHinderling in [#114388](https://github.com/getsentry/sentry/pull/114388)\n- (coding-agent) Remove unused CodingAgentPipelineView by @evanpurkhiser in [#113436](https://github.com/getsentry/sentry/pull/113436)\n- (copilot) Remove Copilot Extension by @JoshFerge in [#113882](https://github.com/getsentry/sentry/pull/113882)\n- (crons) Adjust specific environment monitor stats query by @scttcper in [#114277](https://github.com/getsentry/sentry/pull/114277)\n- (cross-events) Remove disabled save button by @nsdeschenes in [#114330](https://github.com/getsentry/sentry/pull/114330)\n- (db) Migrate remaining create_or_update call sites to update_or_create by @vgrozdanic in [#114430](https://github.com/getsentry/sentry/pull/114430)\n- (dep) Bump granian to 2.7.4 by @gi0baro in [#113799](https://github.com/getsentry/sentry/pull/113799)\n- (detectors) Migrate error detector form to TanStack Form by @malwilley in [#114377](https://github.com/getsentry/sentry/pull/114377)\n- (discover) Make Save As a primary button and reorder action buttons by @JonasBa in [#114503](https://github.com/getsentry/sentry/pull/114503)\n- (eco) Adds debug keys to bitbucket integration by @GabeVillalobos in [#114068](https://github.com/getsentry/sentry/pull/114068)\n- (emails) Update Sentry logo asset and display dimensions by @rahulchhabria in [#114123](https://github.com/getsentry/sentry/pull/114123)\n- (escalating) Skip flaky test_is_forecast_out_of_range by @JoshFerge in [#113951](https://github.com/getsentry/sentry/pull/113951)\n- (explore-events) Delay requests until in view by @nsdeschenes in [#114420](https://github.com/getsentry/sentry/pull/114420)\n- (features) Remove graduated SCM source context and Perforce flags by @mujacica in [#114134](https://github.com/getsentry/sentry/pull/114134)\n- (frontend) Add type coverage diff PR comment by @TkDodo in [#114428](https://github.com/getsentry/sentry/pull/114428)\n- (getsentry) Lazy load enhanced org stats by @scttcper in [#114121](https://github.com/getsentry/sentry/pull/114121)\n- (gitlab) Wrap status sync delete+create in transaction.atomic() by @iamrajjoshi in [#112490](https://github.com/getsentry/sentry/pull/112490)\n- (groups) Replace category with category_v2 by @ceorourke in [#114251](https://github.com/getsentry/sentry/pull/114251)\n- (ingest) Register option for default trace ID by @thetruecpaul in [#114376](https://github.com/getsentry/sentry/pull/114376)\n- (intercom) Replace zendesk with new help center by @sentaur-athena in [#114609](https://github.com/getsentry/sentry/pull/114609)\n- (issue-ownership) Switch issue assignment off OwnerActorField by @cvxluo in [#113707](https://github.com/getsentry/sentry/pull/113707)\n- (jest) Update known flaky tests [2026-05-04] by @cursor[bot] in [#114697](https://github.com/getsentry/sentry/pull/114697)\n- (logs) Move Set Up Logs button from top bar to page filters by @JonasBa in [#114502](https://github.com/getsentry/sentry/pull/114502)\n- (metrics) Align trace metrics layout spacing by @nsdeschenes in [#113680](https://github.com/getsentry/sentry/pull/113680)\n- (mypy) Make strong typing the default by @armenzg in [#114719](https://github.com/getsentry/sentry/pull/114719)\n- (nightshift) Rename agent_run_id to run_id in response by @chromy in [#114301](https://github.com/getsentry/sentry/pull/114301)\n- (notifications) Remove initial guess from slack alert notifications by @leeandher in [#114483](https://github.com/getsentry/sentry/pull/114483)\n- (objectstore) Make ObjectstoreEndpoint unauthenticated and remove feature gate by @lcian in [#114288](https://github.com/getsentry/sentry/pull/114288)\n- (pageframe) Inline help actions by @natemoo-re in [#114375](https://github.com/getsentry/sentry/pull/114375)\n- (perforce) Remove legacy Django pipeline views by @evanpurkhiser in [#113701](https://github.com/getsentry/sentry/pull/113701)\n- (performance) Use useSpans for transaction replay count by @mjq in [#114058](https://github.com/getsentry/sentry/pull/114058)\n- (pipeline) Hide step counter when pipeline has one step by @evanpurkhiser in [#113916](https://github.com/getsentry/sentry/pull/113916)\n- (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)\n- (profiling) Migrate profiles to explore layout by @nsdeschenes in [#113910](https://github.com/getsentry/sentry/pull/113910)\n- (queryClient) Cache safeParseQueryKey results in a WeakMap by @TkDodo in [#114553](https://github.com/getsentry/sentry/pull/114553)\n- (react router) Replace `useRoutes` usage in `useGroupDetailsRoute` by @shashjar in [#113858](https://github.com/getsentry/sentry/pull/113858)\n- (seer-agent) Use Link component to enable cmd clicking tool links by @aliu39 in [#114494](https://github.com/getsentry/sentry/pull/114494)\n- (seer-explorer) Move widget builder routes into STRUCTURED_CONTEXT_ROUTES by @Mihir-Mavalankar in [#113853](https://github.com/getsentry/sentry/pull/113853)\n- (seer-grouping) Rm v2 by @kddubey in [#114538](https://github.com/getsentry/sentry/pull/114538)\n- (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)\n- (slack) Prep work for link parsing by @leeandher in [#113599](https://github.com/getsentry/sentry/pull/113599)\n- (snuba) Add LOW_VALUE_SPANS_JOB referrer by @vgrozdanic in [#114416](https://github.com/getsentry/sentry/pull/114416)\n- (stacktrace) Drop org-flag gate for SCM source context UI by @mujacica in [#114133](https://github.com/getsentry/sentry/pull/114133)\n- (supergroups) Stop sending explorer-based RCA requests by @cvxluo in [#114659](https://github.com/getsentry/sentry/pull/114659)\n- (theme) Remove unused z-index values by @natemoo-re in [#114096](https://github.com/getsentry/sentry/pull/114096)\n- (ts) Avoid type assertion in useOrganizationMutationOptions by @evanpurkhiser in [#114788](https://github.com/getsentry/sentry/pull/114788)\n- (vercel) Skip deployment when only backend files change by @vgrozdanic in [#114029](https://github.com/getsentry/sentry/pull/114029)\n- (warden) Configure remote Warden skills by @dcramer in [#114253](https://github.com/getsentry/sentry/pull/114253)\n- (workflow-engine-ui) Update example for slack notes by @leeandher in [#113798](https://github.com/getsentry/sentry/pull/113798)\n- Remove test analytics images by @calvin-codecov in [#114769](https://github.com/getsentry/sentry/pull/114769)\n- Update protos by @noahsmartin in [#114737](https://github.com/getsentry/sentry/pull/114737)\n- Mark failing jest-balance tests as isKnownFlake by @ryan953 in [#114619](https://github.com/getsentry/sentry/pull/114619)\n- Bump protos version by @noahsmartin in [#114566](https://github.com/getsentry/sentry/pull/114566)\n- Reset translations by @joshuarli in [#114485](https://github.com/getsentry/sentry/pull/114485)\n- Bump sentry-protos to 0.8.22 by @noahsmartin in [#114445](https://github.com/getsentry/sentry/pull/114445)\n- Bump sentry-protos to 0.8.21 by @brendanhsentry in [#114389](https://github.com/getsentry/sentry/pull/114389)\n- Update Taskbroker Client Version to 0.1.12 by @george-sentry in [#114343](https://github.com/getsentry/sentry/pull/114343)\n- Bump sentry-arroyo to 2.39.1 by @getsentry-bot in [#114226](https://github.com/getsentry/sentry/pull/114226)\n- Bump protos by @noahsmartin in [#114244](https://github.com/getsentry/sentry/pull/114244)\n- Use StatusIndicator and Grid primitives in service incident details by @evanpurkhiser in [#114158](https://github.com/getsentry/sentry/pull/114158)\n- Maybe fix git by @joshuarli in [#114194](https://github.com/getsentry/sentry/pull/114194)\n- Xfail test_eap_occurrence_stores_exception_stack_as_array_attributes (flaky) by @JoshFerge in [#114190](https://github.com/getsentry/sentry/pull/114190)\n- Expose function to safeParse an queryKey into our ApiQueryKey schema by @TkDodo in [#114026](https://github.com/getsentry/sentry/pull/114026)\n- Bump devservices by @joshuarli in [#114100](https://github.com/getsentry/sentry/pull/114100)\n- Bump sentry-protos by @noahsmartin in [#114003](https://github.com/getsentry/sentry/pull/114003)\n- Bump sentry-protos 0.8.18 by @brendanhsentry in [#113984](https://github.com/getsentry/sentry/pull/113984)\n- Fix unicorn/no-useless-collection-argument in useSeerExplorer.tsx by @JoshuaKGoldberg in [#113901](https://github.com/getsentry/sentry/pull/113901)\n- Update Projects page title to 'All Projects' by @JonasBa in [#113845](https://github.com/getsentry/sentry/pull/113845)\n- Bump new development version by @sentry-release-bot[bot] in [6fa540d4](https://github.com/getsentry/sentry/commit/6fa540d490aedd011cb9e0c8c1ee49de8f074ff4)\n\n### Other\n\n- deps(ui): Upgrade dompurify, marked by @scttcper in [#114359](https://github.com/getsentry/sentry/pull/114359)\n- codemod(button-variant): apply changes to performance and discover by @natemoo-re in [#114730](https://github.com/getsentry/sentry/pull/114730)\n- codemod(button-variant): apply changes to events, profiling, and misc components by @natemoo-re in [#114731](https://github.com/getsentry/sentry/pull/114731)\n- codemod(button-variant): apply changes to settings, alerts, and remaining views by @natemoo-re in [#114732](https://github.com/getsentry/sentry/pull/114732)\n- codemod(button-variant): apply changes to gsApp by @natemoo-re in [#114722](https://github.com/getsentry/sentry/pull/114722)\n- codemod(button-variant): apply changes for explore by @natemoo-re in [#114522](https://github.com/getsentry/sentry/pull/114522)\n- codemod(button-variant): apply changes for machine-learning-ai by @natemoo-re in [#114528](https://github.com/getsentry/sentry/pull/114528)\n- Replace auto muting useEffect in SnoozeAlert by @geoffg-sentry in [#112588](https://github.com/getsentry/sentry/pull/112588)\n- codemod(button-variant): apply changes for alerts-notifications by @natemoo-re in [#114539](https://github.com/getsentry/sentry/pull/114539)\n- codemod(button-variant): apply changes for ecosystem by @natemoo-re in [#114526](https://github.com/getsentry/sentry/pull/114526)\n- codemod(button-variant): apply changes for emerge-tools by @natemoo-re in [#114534](https://github.com/getsentry/sentry/pull/114534)\n- codemod(button-variant): apply changes for alerts-create-issues by @natemoo-re in [#114525](https://github.com/getsentry/sentry/pull/114525)\n- codemod(button-variant): apply changes for issue-workflow by @natemoo-re in [#114532](https://github.com/getsentry/sentry/pull/114532)\n- codemod(button-variant): apply changes for telemetry-experience by @natemoo-re in [#114529](https://github.com/getsentry/sentry/pull/114529)\n- codemod(button-variant): apply changes for profiling by @natemoo-re in [#114523](https://github.com/getsentry/sentry/pull/114523)\n- codemod(button-variant): apply changes for dashboards by @natemoo-re in [#114521](https://github.com/getsentry/sentry/pull/114521)\n- chore(hybridcloud) Add logging to start of outbox backfill by @markstory in [#114605](https://github.com/getsentry/sentry/pull/114605)\n- cleanup(ACI): Remove the cache-detectors-by-data-source feature flag by @saponifi3d in [#114586](https://github.com/getsentry/sentry/pull/114586)\n- codemod(button-variant): apply changes for revenue by @natemoo-re in [#114533](https://github.com/getsentry/sentry/pull/114533)\n- cleanup(ACI): Remove Workflows Cache Flag by @saponifi3d in [#114584](https://github.com/getsentry/sentry/pull/114584)\n- cleanup(ACI): Remove a feature flag for action-filter-cache by @saponifi3d in [#114583](https://github.com/getsentry/sentry/pull/114583)\n- codemod(button-variant): apply changes for enterprise by @natemoo-re in [#114527](https://github.com/getsentry/sentry/pull/114527)\n- codemod(button-variant): apply changes for design-engineering by @natemoo-re in [#114535](https://github.com/getsentry/sentry/pull/114535)\n- codemod(button-variant): apply changes for orphaned files by @natemoo-re in [#114537](https://github.com/getsentry/sentry/pull/114537)\n\n_Plus 24 more_","publishedAt":"2026-05-05T13:43:20.000Z","fetchedAt":"2026-05-06T01:00:36.836Z","url":"https://github.com/getsentry/sentry/releases/tag/26.4.2","media":[],"coverageCount":0},{"id":"rel_sGPLNgmgLANVLKegdlp2K","version":"26.4.1","type":"feature","title":"26.4.1","summary":"### New Features ✨\n\n#### Aci\n\n- Require at least one connected monitor in the alert builder by @malwilley in [#113246](https://github.com/getsentry/se...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- Require at least one connected monitor in the alert builder by @malwilley in [#113246](https://github.com/getsentry/sentry/pull/113246)\n- Add `Moved` Banner and redirects to `Crons` and `Uptime` nav items by @saponifi3d in [#113340](https://github.com/getsentry/sentry/pull/113340)\n- Send project slug with test fire action request by @malwilley in [#113127](https://github.com/getsentry/sentry/pull/113127)\n- Add empty states for Monitors / Alerts by @saponifi3d in [#113126](https://github.com/getsentry/sentry/pull/113126)\n\n#### Autofix\n\n- Add copy button to artifact cards by @Zylphrex in [#113549](https://github.com/getsentry/sentry/pull/113549)\n- Show referrer InfoTip in Seer drawer header by @chromy in [#113279](https://github.com/getsentry/sentry/pull/113279)\n\n#### Claude Code\n\n- Add frontend pipeline step for Claude Code integration setup by @evanpurkhiser in [#113213](https://github.com/getsentry/sentry/pull/113213)\n- Add API-driven pipeline backend for Claude Code integration setup by @evanpurkhiser in [#113202](https://github.com/getsentry/sentry/pull/113202)\n\n#### Cmdk\n\n- Group project settings actions by @JonasBa in [#112913](https://github.com/getsentry/sentry/pull/112913)\n- Show hotkey label in search button tooltip for command palette by @JonasBa in [#113382](https://github.com/getsentry/sentry/pull/113382)\n- Improve issue detail actions by @JonasBa in [#112982](https://github.com/getsentry/sentry/pull/112982)\n\n#### Code Review\n\n- Update backend so legacy seer orgs no code review by @suejungshin in [#113578](https://github.com/getsentry/sentry/pull/113578)\n- Disable code review feature for seer-added by @suejungshin in [#113564](https://github.com/getsentry/sentry/pull/113564)\n- Support Seer code review for GitHub Enterprise Server by @tnt-sentry in [#112938](https://github.com/getsentry/sentry/pull/112938)\n\n#### Cursor\n\n- Add frontend pipeline step for Cursor integration setup by @evanpurkhiser in [#113212](https://github.com/getsentry/sentry/pull/113212)\n- Add API-driven pipeline backend for Cursor integration setup by @evanpurkhiser in [#113203](https://github.com/getsentry/sentry/pull/113203)\n\n#### Dashboards\n\n- Store revision source for AI-assisted saves by @skaasten in [#113670](https://github.com/getsentry/sentry/pull/113670)\n- Add flag for dashboards widget unfurl by @DominikB2014 in [#113469](https://github.com/getsentry/sentry/pull/113469)\n- Add UI to view dashboard revisions by @skaasten in [#113441](https://github.com/getsentry/sentry/pull/113441)\n- Add endpoint to preview a dashboard revision by @skaasten in [#113316](https://github.com/getsentry/sentry/pull/113316)\n- Add endpoint to restore a dashboard revision by @skaasten in [#113176](https://github.com/getsentry/sentry/pull/113176)\n- Add endpoint to list dashboard revisions by @skaasten in [#113084](https://github.com/getsentry/sentry/pull/113084)\n- Store dashboard snapshot on PUT when revisions flag is enabled by @skaasten in [#113065](https://github.com/getsentry/sentry/pull/113065)\n- Redirect Insights pages to corresponding dashboards by @gggritso in [#113201](https://github.com/getsentry/sentry/pull/113201)\n- Use org option for widget query queue concurrency by @DominikB2014 in [#113185](https://github.com/getsentry/sentry/pull/113185)\n- Add AI-generated warning to edit chat panel by @edwardgou-sentry in [#113055](https://github.com/getsentry/sentry/pull/113055)\n\n#### Detectors\n\n- Add connected line graph to mobile build visualization by @mtopo27 in [#113012](https://github.com/getsentry/sentry/pull/113012)\n- Add workflow filter to detector search query by @malwilley in [#113115](https://github.com/getsentry/sentry/pull/113115)\n\n#### Discord\n\n- Add API-driven pipeline backend for Discord integration setup by @evanpurkhiser in [#113102](https://github.com/getsentry/sentry/pull/113102)\n- Add frontend pipeline step for Discord integration setup by @evanpurkhiser in [#113098](https://github.com/getsentry/sentry/pull/113098)\n\n#### Eslint\n\n- Extend no-flag-comments to catch `=`, `*`, `_`, `#`, `~` separators by @evanpurkhiser in [#113594](https://github.com/getsentry/sentry/pull/113594)\n- Bump eslint-plugin-unicorn to v64 by @JoshuaKGoldberg in [#113207](https://github.com/getsentry/sentry/pull/113207)\n- Enable unicorn/no-new-array by @JoshuaKGoldberg in [#113204](https://github.com/getsentry/sentry/pull/113204)\n- No-unnecessary-type-narrowing by @TkDodo in [#113285](https://github.com/getsentry/sentry/pull/113285)\n- Prefer-reduce-type-parameter by @TkDodo in [#113193](https://github.com/getsentry/sentry/pull/113193)\n\n#### Explore\n\n- Accept crossEvents param on saved queries by @nsdeschenes in [#113286](https://github.com/getsentry/sentry/pull/113286)\n- Hide internal fields from search bars and scope attribute lookups to selected metric by @nsdeschenes in [#113036](https://github.com/getsentry/sentry/pull/113036)\n\n#### Explorer\n\n- Updated drawer header with dropdown menu by @aliu39 in [#113637](https://github.com/getsentry/sentry/pull/113637)\n- Tab key returns focus to input by @aliu39 in [#113641](https://github.com/getsentry/sentry/pull/113641)\n- Migrate chat UI to global drawer by @aliu39 in [#113481](https://github.com/getsentry/sentry/pull/113481)\n- Use local storage for explorer override by @Zylphrex in [#113475](https://github.com/getsentry/sentry/pull/113475)\n- Expose export-indexes via public org seer RPC by @shruthilayaj in [#113227](https://github.com/getsentry/sentry/pull/113227)\n- Add Code Mode toggle to Explorer UI by @azulus in [#112882](https://github.com/getsentry/sentry/pull/112882)\n\n#### Integrations\n\n- Update example integration for api pipeline by @evanpurkhiser in [#113350](https://github.com/getsentry/sentry/pull/113350)\n- Add direct link to GitLab user settings by @evanpurkhiser in [#113558](https://github.com/getsentry/sentry/pull/113558)\n- Prevent fetching thousands of commits by @armenzg in [#113526](https://github.com/getsentry/sentry/pull/113526)\n- Track cache hit ratio by API request type by @armenzg in [#113463](https://github.com/getsentry/sentry/pull/113463)\n- Route Claude Code and Cursor through API pipeline modal by @evanpurkhiser in [#113326](https://github.com/getsentry/sentry/pull/113326)\n- Remove feature flags for GAd pipelines by @evanpurkhiser in [#113097](https://github.com/getsentry/sentry/pull/113097)\n- GA all API Integration Pipelines by @evanpurkhiser in [#113067](https://github.com/getsentry/sentry/pull/113067)\n\n#### Issue Detection\n\n- Add weighted project selection by @roggenkemper in [#113466](https://github.com/getsentry/sentry/pull/113466)\n- Add org-level scheduling for AI issue detection by @roggenkemper in [#113060](https://github.com/getsentry/sentry/pull/113060)\n\n#### Issues\n\n- Tag issue stream analytics with AnalyticsArea by @scttcper in [#113505](https://github.com/getsentry/sentry/pull/113505)\n- Add project-level enable option for LLM issue detection by @roggenkemper in [#112710](https://github.com/getsentry/sentry/pull/112710)\n\n#### Logs\n\n- Add ourlogs-modal-export flag by @JoshuaKGoldberg in [#113363](https://github.com/getsentry/sentry/pull/113363)\n- Switch needle-in-haystack auto-fetching from 5 tries to time-based by @JoshuaKGoldberg in [#113219](https://github.com/getsentry/sentry/pull/113219)\n\n#### Occurrences On Eap\n\n- Make organization trace item stats API endpoint generic over trace item type by @shashjar in [#112889](https://github.com/getsentry/sentry/pull/112889)\n- Implement `run_stats_query` in Occurrences EAP RPC class by @shashjar in [#112878](https://github.com/getsentry/sentry/pull/112878)\n\n#### Onboarding\n\n- Fire distinct analytics for SCM setup-docs events by @jaydgoss in [#113552](https://github.com/getsentry/sentry/pull/113552)\n- Update SCM onboarding styles to match updated designs by @jaydgoss in [#113352](https://github.com/getsentry/sentry/pull/113352)\n- Gate SCM_PROJECT_DETAILS step with feature flag by @jaydgoss in [#113112](https://github.com/getsentry/sentry/pull/113112)\n- Fire distinct analytics events for SCM welcome by @jaydgoss in [#113364](https://github.com/getsentry/sentry/pull/113364)\n- Register onboarding-scm-project-details-experiment flag by @jaydgoss in [#113072](https://github.com/getsentry/sentry/pull/113072)\n\n#### Opsgenie\n\n- Add frontend pipeline step for Opsgenie integration setup by @evanpurkhiser in [#113214](https://github.com/getsentry/sentry/pull/113214)\n- Add API-driven pipeline backend for Opsgenie integration setup by @evanpurkhiser in [#113174](https://github.com/getsentry/sentry/pull/113174)\n\n#### Pagerduty\n\n- Add frontend pipeline step for PagerDuty integration setup by @evanpurkhiser in [#113173](https://github.com/getsentry/sentry/pull/113173)\n- Add API-driven pipeline backend for PagerDuty integration setup by @evanpurkhiser in [#113103](https://github.com/getsentry/sentry/pull/113103)\n\n#### Perforce\n\n- Add API-driven pipeline backend for Perforce integration setup by @evanpurkhiser in [#113468](https://github.com/getsentry/sentry/pull/113468)\n- Add frontend pipeline steps for Perforce integration setup by @evanpurkhiser in [#113471](https://github.com/getsentry/sentry/pull/113471)\n\n#### Pipeline\n\n- Route additional integrations through API pipeline modal by @evanpurkhiser in [#113302](https://github.com/getsentry/sentry/pull/113302)\n- Optimistically render first step during initialization by @evanpurkhiser in [#113307](https://github.com/getsentry/sentry/pull/113307)\n\n#### Preprod\n\n- Use images endpoint for snapshot diffs by @lcian in [#113312](https://github.com/getsentry/sentry/pull/113312)\n- Expose snapshot filters in search typeahead by @NicoHinderling in [#113332](https://github.com/getsentry/sentry/pull/113332)\n- Add snapshot and approval search filters by @NicoHinderling in [#113331](https://github.com/getsentry/sentry/pull/113331)\n\n#### Scraps\n\n- Adopt GlobalDrawer component into design system by @natemoo-re in [#113489](https://github.com/getsentry/sentry/pull/113489)\n- Opinionated scrollbar styles by @natemoo-re in [#113477](https://github.com/getsentry/sentry/pull/113477)\n\n#### Seer\n\n- Add per-issue Explorer button to workflow run drill-down by @trevor-e in [#113620](https://github.com/getsentry/sentry/pull/113620)\n- Clear Seer automation handoff preferences on integration deletion by @srest2021 in [#113337](https://github.com/getsentry/sentry/pull/113337)\n- Add user_id to SlackSeerAgentResponded analytics event by @alexsohn1126 in [#113550](https://github.com/getsentry/sentry/pull/113550)\n- Add timeout and reasoning params to LlmGenerateRequest by @ArthurKnaus in [#113544](https://github.com/getsentry/sentry/pull/113544)\n- Add get_metric_metadata RPC for Seer metrics agent by @isaacwang-sentry in [#113462](https://github.com/getsentry/sentry/pull/113462)\n- Add Night Shift workflows list page by @trevor-e in [#113500](https://github.com/getsentry/sentry/pull/113500)\n- Add workflows list endpoint for Night Shift runs by @trevor-e in [#113491](https://github.com/getsentry/sentry/pull/113491)\n- Update Seer Autofix settings table to match details page by @ryan953 in [#113472](https://github.com/getsentry/sentry/pull/113472)\n- Add feature flag for thinking blocks toggle by @chromy in [#113437](https://github.com/getsentry/sentry/pull/113437)\n- Add LLM context to widget builder page by @Mihir-Mavalankar in [#112703](https://github.com/getsentry/sentry/pull/112703)\n- Consolidate fields on the Autofix Project details page by @ryan953 in [#113236](https://github.com/getsentry/sentry/pull/113236)\n- Allow filtering the autofix settings table by agent name by @ryan953 in [#113309](https://github.com/getsentry/sentry/pull/113309)\n- Move the advanced seer settings to their own page by @ryan953 in [#113248](https://github.com/getsentry/sentry/pull/113248)\n- Gate Night Shift projects behind projects:seer-night-shift by @chromy in [#113283](https://github.com/getsentry/sentry/pull/113283)\n- Print Explorer URL after night shift trigger script runs by @trevor-e in [#113239](https://github.com/getsentry/sentry/pull/113239)\n- Allow bulk-editing Code Review triggers by @ryan953 in [#113116](https://github.com/getsentry/sentry/pull/113116)\n- Add max candidates input to admin night shift form by @trevor-e in [#113223](https://github.com/getsentry/sentry/pull/113223)\n- Allow max candidate override on admin night shift trigger by @trevor-e in [#113222](https://github.com/getsentry/sentry/pull/113222)\n- Add extras JSON column to SeerNightShiftRun by @trevor-e in [#113178](https://github.com/getsentry/sentry/pull/113178)\n- Add command palette action to resume night shift explorer chats by @chromy in [#113161](https://github.com/getsentry/sentry/pull/113161)\n- Implement sorting for the remaining columns on the Code Review settings table by @ryan953 in [#112973](https://github.com/getsentry/sentry/pull/112973)\n\n#### Slack\n\n- Unfurl logs/metrics widget URLs by @DominikB2014 in [#113577](https://github.com/getsentry/sentry/pull/113577)\n- Unfurl spans dashboard widget URLs in slack by @DominikB2014 in [#113478](https://github.com/getsentry/sentry/pull/113478)\n\n#### Snapshots\n\n- Show skipped count in status checks and PR comments by @NicoHinderling in [#113007](https://github.com/getsentry/sentry/pull/113007)\n- Add selective flag and rename all_image_names to all_image_file_names by @NicoHinderling in [#113006](https://github.com/getsentry/sentry/pull/113006)\n- Add images_skipped and is_selective columns for selective testing by @NicoHinderling in [#113005](https://github.com/getsentry/sentry/pull/113005)\n\n#### Spans\n\n- Make salt deterministic for subsegments by @lvthanh03 in [#113659](https://github.com/getsentry/sentry/pull/113659)\n- Add flush_id to flushed segment messages by @untitaker in [#113416](https://github.com/getsentry/sentry/pull/113416)\n\n#### Tracemetrics\n\n- Add equation support in old tracemetric alerts by @narsaynorath in [#113665](https://github.com/getsentry/sentry/pull/113665)\n- Open Alert in Explore by @narsaynorath in [#113511](https://github.com/getsentry/sentry/pull/113511)\n- Add updating functionality to alerts by @narsaynorath in [#113487](https://github.com/getsentry/sentry/pull/113487)\n- Implement read-only view for equations in alerts by @narsaynorath in [#113446](https://github.com/getsentry/sentry/pull/113446)\n- Add parser for resolved expressions by @narsaynorath in [#113230](https://github.com/getsentry/sentry/pull/113230)\n- Add equations in alerts flag by @narsaynorath in [#113181](https://github.com/getsentry/sentry/pull/113181)\n- Add PII scrubbing UI by @k-fish in [#113078](https://github.com/getsentry/sentry/pull/113078)\n- Add alert via dropdown in explore by @k-fish in [#112963](https://github.com/getsentry/sentry/pull/112963)\n- Disable Save As for equations by @narsaynorath in [#113089](https://github.com/getsentry/sentry/pull/113089)\n- Disable filter actions on equations/results by @narsaynorath in [#113088](https://github.com/getsentry/sentry/pull/113088)\n- Add filter bar to equation by @narsaynorath in [#113057](https://github.com/getsentry/sentry/pull/113057)\n\n#### Viewer Context\n\n- Add observe() helper and instrument 3 chokepoints by @gricha in [#113237](https://github.com/getsentry/sentry/pull/113237)\n- Switch Seer API to JWT X-Viewer-Context header by @gricha in [#112894](https://github.com/getsentry/sentry/pull/112894)\n\n#### Vsts\n\n- Add API-driven integration setup by @evanpurkhiser in [#113073](https://github.com/getsentry/sentry/pull/113073)\n- Add API pipeline frontend flow by @evanpurkhiser in [#113095](https://github.com/getsentry/sentry/pull/113095)\n\n#### Other\n\n- (agent-monitoring) Refer to sentry ai skills instead of hardcoding agent instructions by @shellmayr in [#113049](https://github.com/getsentry/sentry/pull/113049)\n- (agents) Surface context utilization in AI span details by @obostjancic in [#113407](https://github.com/getsentry/sentry/pull/113407)\n- (alerts) Allow arithmetic in alert validation by @wmak in [#113105](https://github.com/getsentry/sentry/pull/113105)\n- (analytics) Tag integration install events with is_scm by @jaydgoss in [#113225](https://github.com/getsentry/sentry/pull/113225)\n- (api) Allow per-org rate limit overrides for project transfer by @cleptric in [#113507](https://github.com/getsentry/sentry/pull/113507)\n- (cells) Add organization avatar to control silo by @lynnagara in [#113008](https://github.com/getsentry/sentry/pull/113008)\n- (coding agent integrations) Move alerts into the drawer instead of as toasts by @sehr-m in [#113306](https://github.com/getsentry/sentry/pull/113306)\n- (compactSelect) Add menuMinWidth prop by @DominikB2014 in [#113545](https://github.com/getsentry/sentry/pull/113545)\n- (crons) Update onboarding empty state illustration by @evanpurkhiser in [#112399](https://github.com/getsentry/sentry/pull/112399)\n- (data-explore) Add new Query type for full export for simpler request validation by @manessaraj in [#112953](https://github.com/getsentry/sentry/pull/112953)\n- (data-export) Exported attributes in data export should have public names by @manessaraj in [#112846](https://github.com/getsentry/sentry/pull/112846)\n- (dev) Replace pre-commit with prek --quiet by @joshuarli in [#110808](https://github.com/getsentry/sentry/pull/110808)\n- (disclosure) Support HTML attributes in Disclosure.Content by @Zylphrex in [#113572](https://github.com/getsentry/sentry/pull/113572)\n- (errors) Create errors toolbar components by @nikkikapadia in [#112526](https://github.com/getsentry/sentry/pull/112526)\n- (hotkey) Add hotkey icons, update docs by @natemoo-re in [#113465](https://github.com/getsentry/sentry/pull/113465)\n- (identity) Add identity_ext_ids filter to identity RPC service by @alexsohn1126 in [#113447](https://github.com/getsentry/sentry/pull/113447)\n- (insights) Integrate conversation details into trace AI tab by @obostjancic in [#112907](https://github.com/getsentry/sentry/pull/112907)\n- (llm-detection) Add Seer budget pre-check before dispatching traces by @nora-shap in [#113253](https://github.com/getsentry/sentry/pull/113253)\n- (mcp) Add devinfra-mcp to dotagents by @kenzoengineer in [#113367](https://github.com/getsentry/sentry/pull/113367)\n- (navigation) Hide Insights sidebar behind feature flag by @gggritso in [#112965](https://github.com/getsentry/sentry/pull/112965)\n- (night-shift) Trigger autofix for fixable candidates and add dry run mode by @trevor-e in [#113056](https://github.com/getsentry/sentry/pull/113056)\n- (nightshift) Add tweaks option for prototyping nightshift by @chromy in [#113675](https://github.com/getsentry/sentry/pull/113675)\n- (objectstore) Add CLI rate limiting to Objectstore endpoint by @lcian in [#111063](https://github.com/getsentry/sentry/pull/111063)\n- (replay) Remove canvas recording by @billyvg in [#113657](https://github.com/getsentry/sentry/pull/113657)\n- (replays) Move timestamp and widget controls inline in page-frame mode by @JonasBa in [#113694](https://github.com/getsentry/sentry/pull/113694)\n- (seer agent) Add suggested question buttons to empty state by @sehr-m in [#113636](https://github.com/getsentry/sentry/pull/113636)\n- (seer-slack) Add analytics for Seer agent Slack responses by @alexsohn1126 in [#113318](https://github.com/getsentry/sentry/pull/113318)\n- (st) Install gcloud for local selective testing by @joshuarli in [#113496](https://github.com/getsentry/sentry/pull/113496)\n- (supergroup) Retry snuba batch query in supergroups lightweight backfill by @cvxluo in [#113184](https://github.com/getsentry/sentry/pull/113184)\n- (supergroups) Track drawer opens and add feedback button to header by @scttcper in [#113497](https://github.com/getsentry/sentry/pull/113497)\n- (ui) Add LLM issue detection toggle to performance settings by @roggenkemper in [#112711](https://github.com/getsentry/sentry/pull/112711)\n- (utils) Add PK caching and validate_item to CursoredScheduler by @roggenkemper in [#113238](https://github.com/getsentry/sentry/pull/113238)\n- (vercel) Add frontend pipeline step for Vercel integration setup by @evanpurkhiser in [#113220](https://github.com/getsentry/sentry/pull/113220)\n- (workflows) Restrict APIs based on metrics alert features by @kcons in [#112600](https://github.com/getsentry/sentry/pull/112600)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Don't allowe editing a project by @saponifi3d in [#113355](https://github.com/getsentry/sentry/pull/113355)\n- Only show gridline information, if we have data available by @saponifi3d in [#113353](https://github.com/getsentry/sentry/pull/113353)\n- Restrict percent sessions interval choices to supported values by @malwilley in [#113313](https://github.com/getsentry/sentry/pull/113313)\n\n#### Alerts\n\n- Accept \"default\" as a valid PagerDuty severity by @malwilley in [#113614](https://github.com/getsentry/sentry/pull/113614)\n- Make everything vertical aligned by @priscilawebdev in [#113532](https://github.com/getsentry/sentry/pull/113532)\n- Don't log APIException as error in alert rule serializer by @malwilley in [#113584](https://github.com/getsentry/sentry/pull/113584)\n- More graceful handling of missing Detector in WorkflowEngineDataConditionSerializer by @kcons in [#113575](https://github.com/getsentry/sentry/pull/113575)\n\n#### Api\n\n- Allow Bearer token auth for GET /api/0/auth/ by @BYK in [#112853](https://github.com/getsentry/sentry/pull/112853)\n- Serialize defaultCodingAgentIntegrationId as a string by @srest2021 in [#113198](https://github.com/getsentry/sentry/pull/113198)\n\n#### Auth\n\n- Pin SSO setup identity link to the authenticated session by @michelletran-sentry in [#113720](https://github.com/getsentry/sentry/pull/113720)\n- Bypass SSO for viewer-context requests by @gricha in [#113124](https://github.com/getsentry/sentry/pull/113124)\n\n#### Automations\n\n- Keep alert titles in page layout by @priscilawebdev in [#113405](https://github.com/getsentry/sentry/pull/113405)\n- Move detail header into the page-frame top bar by @priscilawebdev in [#113270](https://github.com/getsentry/sentry/pull/113270)\n\n#### Chartcuterie\n\n- Reduce legend font size and truncation length by @DominikB2014 in [#113180](https://github.com/getsentry/sentry/pull/113180)\n- Stack grouped bar charts in unfurls by @DominikB2014 in [#113177](https://github.com/getsentry/sentry/pull/113177)\n\n#### Claude Code\n\n- Use deterministic external_id scoped to organization by @sehr-m in [#113256](https://github.com/getsentry/sentry/pull/113256)\n- Convert workspace option to default-checkbox by @sehr-m in [#113255](https://github.com/getsentry/sentry/pull/113255)\n\n#### Conversations\n\n- Normalize lastOutput array format to prevent .replace TypeError by @obostjancic in [#113410](https://github.com/getsentry/sentry/pull/113410)\n- Show when a conversation happened on detail page by @obostjancic in [#112910](https://github.com/getsentry/sentry/pull/112910)\n\n#### Dashboards\n\n- Add telemetry and guard for non-string filter values by @gggritso in [#113589](https://github.com/getsentry/sentry/pull/113589)\n- Alignment and sizing of IntervalSelector on Dashboards by @TkDodo in [#113642](https://github.com/getsentry/sentry/pull/113642)\n- Bump react-grid-layout to fix maximize bug by @DominikB2014 in [#113587](https://github.com/getsentry/sentry/pull/113587)\n- Disable generate dashboard button when dashboard limit is reached by @edwardgou-sentry in [#113301](https://github.com/getsentry/sentry/pull/113301)\n- Restore release bubbles when thresholds are configured by @DominikB2014 in [#113565](https://github.com/getsentry/sentry/pull/113565)\n- Widget builder cut off when editing widget on page scroll by @nikkikapadia in [#113479](https://github.com/getsentry/sentry/pull/113479)\n- Guard getTimeseriesSortOptions call in widget builder by @edwardgou-sentry in [#113467](https://github.com/getsentry/sentry/pull/113467)\n- Apply prebuilt globalFilter to saved prebuilt dashboards by @DominikB2014 in [#113454](https://github.com/getsentry/sentry/pull/113454)\n- Add character limit to text widget content by @nikkikapadia in [#113348](https://github.com/getsentry/sentry/pull/113348)\n- Align embedded insights alerts by @priscilawebdev in [#113271](https://github.com/getsentry/sentry/pull/113271)\n- Reject new widgets with deprecated display types by @DominikB2014 in [#113294](https://github.com/getsentry/sentry/pull/113294)\n- Persist legend selection to URL for new chart widgets by @gggritso in [#112974](https://github.com/getsentry/sentry/pull/112974)\n- Remove \"Insights\" from breadcrumbs by @gggritso in [#113209](https://github.com/getsentry/sentry/pull/113209)\n- Enable search for filter values over 70 characters by @jameskeane in [#113197](https://github.com/getsentry/sentry/pull/113197)\n- Use scientific notation for small numbers in breakdown table by @gggritso in [#113144](https://github.com/getsentry/sentry/pull/113144)\n- Use dashboards as fallback secondary nav content for Insights pages by @gggritso in [#113210](https://github.com/getsentry/sentry/pull/113210)\n- Show no data message for details widget by @DominikB2014 in [#113172](https://github.com/getsentry/sentry/pull/113172)\n- Unescape alias lookup in visualizations by @narsaynorath in [#113170](https://github.com/getsentry/sentry/pull/113170)\n- Hide legend alias option for details widget type by @DominikB2014 in [#112957](https://github.com/getsentry/sentry/pull/112957)\n- Preserve page filters when navigating from prebuilt dashboard link by @edwardgou-sentry in [#113070](https://github.com/getsentry/sentry/pull/113070)\n\n#### Detectors\n\n- Don't assume the Detector cache is limited to enabled by @kcons in [#113627](https://github.com/getsentry/sentry/pull/113627)\n- Bulk-fetch resolve thresholds in WorkflowEngineDataConditionSerializer by @kcons in [#113347](https://github.com/getsentry/sentry/pull/113347)\n\n#### Eco\n\n- Updates external ID field length for integrations by @GabeVillalobos in [#113308](https://github.com/getsentry/sentry/pull/113308)\n- Improves domain checking for next URL in installation flow by @GabeVillalobos in [#113118](https://github.com/getsentry/sentry/pull/113118)\n- Re-adds the Complete Installation button to integration config pages\" by @GabeVillalobos in [#113076](https://github.com/getsentry/sentry/pull/113076)\n\n#### Explorer\n\n- Use new isDrawerOpen state for more accurate open/closed tracking by @aliu39 in [#113639](https://github.com/getsentry/sentry/pull/113639)\n- Move CM toggle after CE in top bar by @azulus in [#113315](https://github.com/getsentry/sentry/pull/113315)\n\n#### Insights\n\n- Handle gen_ai.output.messages as JSON object by @obostjancic in [#113537](https://github.com/getsentry/sentry/pull/113537)\n- Fix empty txn summary when transaction.op is default by @mjq in [#113099](https://github.com/getsentry/sentry/pull/113099)\n\n#### Integrations\n\n- Cache missing GitHub repo tree lookups by @armenzg in [#113113](https://github.com/getsentry/sentry/pull/113113)\n- Read dataset-specific query params in explore unfurls by @DominikB2014 in [#113304](https://github.com/getsentry/sentry/pull/113304)\n\n#### Issue Details\n\n- Align content with page-frame top bar by @priscilawebdev in [#113519](https://github.com/getsentry/sentry/pull/113519)\n- Update unassign assignee action by @JonasBa in [#113510](https://github.com/getsentry/sentry/pull/113510)\n- Keep sticky event nav below page frame by @priscilawebdev in [#113401](https://github.com/getsentry/sentry/pull/113401)\n\n#### Issue Detection\n\n- Filter to early adopter orgs by @roggenkemper in [#113559](https://github.com/getsentry/sentry/pull/113559)\n- Use 'AI Detected' label by @roggenkemper in [#113310](https://github.com/getsentry/sentry/pull/113310)\n- Don't use \"Other\" as title for uncategorized AI issues by @roggenkemper in [#113311](https://github.com/getsentry/sentry/pull/113311)\n\n#### Issues\n\n- Apply issue search conditions to next/prev event buttons on issue details page by @shashjar in [#113234](https://github.com/getsentry/sentry/pull/113234)\n- Include group type id in AI-detected fingerprint by @roggenkemper in [#113289](https://github.com/getsentry/sentry/pull/113289)\n- Forward message query in project events endpoint in EAP conditions by @shashjar in [#113250](https://github.com/getsentry/sentry/pull/113250)\n- Prevent descender cutoff in GroupMetaRow annotations by @scttcper in [#113243](https://github.com/getsentry/sentry/pull/113243)\n- Include event property fields in has: suggestions by @scttcper in [#113231](https://github.com/getsentry/sentry/pull/113231)\n- Skip duplicate issue attachments query when possible by @scttcper in [#113085](https://github.com/getsentry/sentry/pull/113085)\n\n#### Migrations\n\n- 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)\n- 0007 had the wrong migration dependency by @wmak in [#113451](https://github.com/getsentry/sentry/pull/113451)\n\n#### Onboarding\n\n- Scm onboarding reuse project on back-nav when nothing changed by @jaydgoss in [#113111](https://github.com/getsentry/sentry/pull/113111)\n- Emit scm_platform_selected on auto-detection by @jaydgoss in [#113351](https://github.com/getsentry/sentry/pull/113351)\n\n#### Ourlogs\n\n- Pipe case sensitivity through Highlight component by @JoshuaKGoldberg in [#113448](https://github.com/getsentry/sentry/pull/113448)\n- Enable notMerge option for time series ECharts by @JoshuaKGoldberg in [#113434](https://github.com/getsentry/sentry/pull/113434)\n\n#### Page Frame\n\n- Move primary actions into local page controls by @JonasBa in [#113612](https://github.com/getsentry/sentry/pull/113612)\n- Remove empty headers and move breadcrumbs by @priscilawebdev in [#113654](https://github.com/getsentry/sentry/pull/113654)\n- Constrain replay and feedback layouts by @priscilawebdev in [#113266](https://github.com/getsentry/sentry/pull/113266)\n\n#### Pageframe\n\n- SubscriptionHeader by @TkDodo in [#113648](https://github.com/getsentry/sentry/pull/113648)\n- Render settings layout subtitle by @TkDodo in [#113518](https://github.com/getsentry/sentry/pull/113518)\n- Integration layout header by @TkDodo in [#113406](https://github.com/getsentry/sentry/pull/113406)\n- Remove muted variant from InfoTip by @TkDodo in [#113403](https://github.com/getsentry/sentry/pull/113403)\n- Render replay actions into TopBarSlot by @TkDodo in [#113164](https://github.com/getsentry/sentry/pull/113164)\n\n#### Releases\n\n- Remove unused statsPeriod query parameter by @scttcper in [#113482](https://github.com/getsentry/sentry/pull/113482)\n- Move feedback to top bar slot by @JonasBa in [#113378](https://github.com/getsentry/sentry/pull/113378)\n- Move page-frame breadcrumbs into the top bar by @priscilawebdev in [#113042](https://github.com/getsentry/sentry/pull/113042)\n\n#### Replays\n\n- Hide trace ID in replay waterfall by @nsdeschenes in [#113535](https://github.com/getsentry/sentry/pull/113535)\n- Move replay actions into the page-frame top bar by @priscilawebdev in [#113148](https://github.com/getsentry/sentry/pull/113148)\n\n#### Repos\n\n- Call repo sync batch tasks by @wedamija in [#113132](https://github.com/getsentry/sentry/pull/113132)\n- Fix vsts sync error by @wedamija in [#113136](https://github.com/getsentry/sentry/pull/113136)\n- Have repo sync batch up the work by @wedamija in [#113131](https://github.com/getsentry/sentry/pull/113131)\n\n#### Seer\n\n- 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)\n- Use count(value) in tracemetrics query for metric metadata by @isaacwang-sentry in [#113616](https://github.com/getsentry/sentry/pull/113616)\n- Trigger night shift autofix end-to-end and persist Seer run ids by @trevor-e in [#113619](https://github.com/getsentry/sentry/pull/113619)\n- Render all root nodes in snapshot_to_markdown by @Mihir-Mavalankar in [#113607](https://github.com/getsentry/sentry/pull/113607)\n- Remove code mappings fallback when configuring Seer for existing org by @srest2021 in [#113582](https://github.com/getsentry/sentry/pull/113582)\n- Remove code mappings fallback from has_project_connected_repos by @srest2021 in [#113509](https://github.com/getsentry/sentry/pull/113509)\n- Correct coding agent docs links by @nikolovlazar in [#113546](https://github.com/getsentry/sentry/pull/113546)\n- 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)\n- Handle SeerApiError in Explorer chat endpoint by @Mihir-Mavalankar in [#113458](https://github.com/getsentry/sentry/pull/113458)\n- Add kwargs to Seer cleanup tasks for safe arg change deploy by @srest2021 in [#113449](https://github.com/getsentry/sentry/pull/113449)\n- Linkify short IDs with multi-hyphen project slugs by @JoshFerge in [#113431](https://github.com/getsentry/sentry/pull/113431)\n- Extract clean message from coding agent HTTPError bodies by @sehr-m in [#113305](https://github.com/getsentry/sentry/pull/113305)\n\n#### Settings\n\n- Move primary actions inline in settings pages (page-frame) by @JonasBa in [#113626](https://github.com/getsentry/sentry/pull/113626)\n- Avoid duplicate dynamic sampling title by @JonasBa in [#113383](https://github.com/getsentry/sentry/pull/113383)\n- Add spacing above notification alert on emails page by @scttcper in [#113123](https://github.com/getsentry/sentry/pull/113123)\n\n#### Slack\n\n- Apply dashboard-stored filters when unfurling widget URLs by @DominikB2014 in [#113711](https://github.com/getsentry/sentry/pull/113711)\n- Add slack-staging to a list of of new oauth pipeline providers by @alexsohn1126 in [#113464](https://github.com/getsentry/sentry/pull/113464)\n- Use only first chart when unfurling multi-aggregate Explore URLs by @DominikB2014 in [#113303](https://github.com/getsentry/sentry/pull/113303)\n- Restrict trace unfurling to /traces links by @DominikB2014 in [#113218](https://github.com/getsentry/sentry/pull/113218)\n\n#### Spans\n\n- Enable better_backpressure in span buffer RunTask by @untitaker in [#113692](https://github.com/getsentry/sentry/pull/113692)\n- Avoid unpack() crashes when merging sets by @untitaker in [#113442](https://github.com/getsentry/sentry/pull/113442)\n\n#### Supergroups\n\n- Fallback to limited query on large supergroups by @scttcper in [#113573](https://github.com/getsentry/sentry/pull/113573)\n- Hoist stream issues to the first page of the drawer by @scttcper in [#113192](https://github.com/getsentry/sentry/pull/113192)\n- Add backfill referrer to Referrer enum by @cvxluo in [#113092](https://github.com/getsentry/sentry/pull/113092)\n\n#### Tracemetrics\n\n- Disable multi select for aggregations field in alerts by @narsaynorath in [#113712](https://github.com/getsentry/sentry/pull/113712)\n- Samples table UI tweaks by @nsdeschenes in [#113650](https://github.com/getsentry/sentry/pull/113650)\n- Styling on visualize field for alerts by @narsaynorath in [#113704](https://github.com/getsentry/sentry/pull/113704)\n- Metric panel padding fixes by @nsdeschenes in [#113581](https://github.com/getsentry/sentry/pull/113581)\n- Flaky metrics tab test by @narsaynorath in [#113625](https://github.com/getsentry/sentry/pull/113625)\n- Pass project and env in alerts by @narsaynorath in [#113551](https://github.com/getsentry/sentry/pull/113551)\n- PII tooltip should appear in metrics samples by @k-fish in [#113339](https://github.com/getsentry/sentry/pull/113339)\n- Make metric option search case insensitive by @nsdeschenes in [#113188](https://github.com/getsentry/sentry/pull/113188)\n- Metric panel title should use equation with label by @narsaynorath in [#113143](https://github.com/getsentry/sentry/pull/113143)\n- Resolve all equations at once when subcomponents update by @narsaynorath in [#113117](https://github.com/getsentry/sentry/pull/113117)\n- Prep for stats flip by @k-fish in [#113114](https://github.com/getsentry/sentry/pull/113114)\n- Disable recent searches until ready by @narsaynorath in [#113091](https://github.com/getsentry/sentry/pull/113091)\n- Allow sorting on all aggregate tab columns by @narsaynorath in [#113090](https://github.com/getsentry/sentry/pull/113090)\n\n#### Ui\n\n- Add tooltips to icon-only header actions by @priscilawebdev in [#113151](https://github.com/getsentry/sentry/pull/113151)\n- Track topbar offset for sticky headers by @natemoo-re in [#113298](https://github.com/getsentry/sentry/pull/113298)\n- Adjust placeholder height for DashboardGrid by @TkDodo in [#113160](https://github.com/getsentry/sentry/pull/113160)\n\n#### Workflows\n\n- Delete workflows when the Rule is deleted by @kcons in [#113588](https://github.com/getsentry/sentry/pull/113588)\n- Handle duplicated AlertRuleWorkflow entries for a Workflow more gracefully by @kcons in [#113138](https://github.com/getsentry/sentry/pull/113138)\n- Don't reuse existing workflow in create_priority_workflow by @kcons in [#113133](https://github.com/getsentry/sentry/pull/113133)\n- Cache integration lookups, and pass the cache to render_label by @kcons in [#112976](https://github.com/getsentry/sentry/pull/112976)\n\n#### Other\n\n- (api-docs) Add missing spaces in stats endpoint help text by @sentry-junior in [#113529](https://github.com/getsentry/sentry/pull/113529)\n- (assisted-query) Apply Seer visualizations and sort to metrics page by @isaacwang-sentry in [#113232](https://github.com/getsentry/sentry/pull/113232)\n- (autofix) Remove unconfigured projects gate and remove code mapping repos fallback by @srest2021 in [#113077](https://github.com/getsentry/sentry/pull/113077)\n- (billing) Account for gifted quantities in productIsEnabled check by @dashed in [#113142](https://github.com/getsentry/sentry/pull/113142)\n- (button) Map button size=\"zero\" to icon size \"xs\" by @TkDodo in [#113646](https://github.com/getsentry/sentry/pull/113646)\n- (ci) Prevent shell injection in setup-devservices action by @fix-it-felix-sentry in [#113400](https://github.com/getsentry/sentry/pull/113400)\n- (cmdk) Do not fire selections on Tab key press by @JonasBa in [#113381](https://github.com/getsentry/sentry/pull/113381)\n- (dashoards) Fix table widget column widths snapping after user resize by @edwardgou-sentry in [#112960](https://github.com/getsentry/sentry/pull/112960)\n- (drawer) Match responsive header height on small screens by @priscilawebdev in [#113016](https://github.com/getsentry/sentry/pull/113016)\n- (dropdowns) Match focused item mask to overlay background token by @cvxluo in [#113354](https://github.com/getsentry/sentry/pull/113354)\n- (eslint) Used extends for remaining plugin configs by @JoshuaKGoldberg in [#113365](https://github.com/getsentry/sentry/pull/113365)\n- (explore) Handle nullable aggregations in equations by @wmak in [#113456](https://github.com/getsentry/sentry/pull/113456)\n- (feature-flags) Add Node.js support to feature flag onboarding by @scttcper in [#112745](https://github.com/getsentry/sentry/pull/112745)\n- (grouping) Remove redundant time regex by @lobsterkatie in [#113601](https://github.com/getsentry/sentry/pull/113601)\n- (issue-views) Render editable title in topbar slot for page-frame layout by @JonasBa in [#113488](https://github.com/getsentry/sentry/pull/113488)\n- (iswf) Surfaces linked issues for Sentry Apps with no UI components by @GabeVillalobos in [#113372](https://github.com/getsentry/sentry/pull/113372)\n- (logs) Remove duplicate main element on logs page by @priscilawebdev in [#113649](https://github.com/getsentry/sentry/pull/113649)\n- (mcp) Sync .cursor/mcp.json with dotagents output by @hubertdeng123 in [#113512](https://github.com/getsentry/sentry/pull/113512)\n- (metrics) Prevent page scroll when opening metric selector by @nsdeschenes in [#113460](https://github.com/getsentry/sentry/pull/113460)\n- (monitors) Move edit breadcrumbs into the top bar by @priscilawebdev in [#113272](https://github.com/getsentry/sentry/pull/113272)\n- (mypy) Fix issues with test_scm_onboarding.py by @kcons in [#113598](https://github.com/getsentry/sentry/pull/113598)\n- (night-shift) Remove poll timeout that aborted Explorer runs by @trevor-e in [#113137](https://github.com/getsentry/sentry/pull/113137)\n- (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)\n- (performance) Support continuous profiling in sampled events table by @mjq in [#113183](https://github.com/getsentry/sentry/pull/113183)\n- (pipeline) Fix GitHub setup_action=install breaking API pipeline popup flow by @evanpurkhiser in [#113240](https://github.com/getsentry/sentry/pull/113240)\n- (replay) Add tooltip to timestamp settings button by @JonasBa in [#113377](https://github.com/getsentry/sentry/pull/113377)\n- (repositories) Properly set `external_id` in `organization_code_mappings_bulk` by @wedamija in [#113618](https://github.com/getsentry/sentry/pull/113618)\n- (scraps) Propagate drf field validation errors in autoSaveForm by @TkDodo in [#113644](https://github.com/getsentry/sentry/pull/113644)\n- (search) Return empty result on disjoint group_id intersection by @yuvmen in [#113320](https://github.com/getsentry/sentry/pull/113320)\n- (search-query-builder) Escape literal asterisks in filter values by @nsdeschenes in [#113404](https://github.com/getsentry/sentry/pull/113404)\n- (selective-testing) Update to fix import gap raised in getsentry by @rbro112 in [#113357](https://github.com/getsentry/sentry/pull/113357)\n- (stack-trace) Show <unknown> for frames with no filename by @scttcper in [#113108](https://github.com/getsentry/sentry/pull/113108)\n- (tests) Stabilize flaky React Native metrics onboarding test by @JoshuaKGoldberg in [#112000](https://github.com/getsentry/sentry/pull/112000)\n- (trace) Keep loading breadcrumbs in the page-frame top bar by @JonasBa in [#113384](https://github.com/getsentry/sentry/pull/113384)\n- (tracemetric) Change metric selector syntax by @k-fish in [#113206](https://github.com/getsentry/sentry/pull/113206)\n- (traces) Add md gap in explore content section by @nsdeschenes in [#113333](https://github.com/getsentry/sentry/pull/113333)\n- (typing) Annotate group_status parameters as int by @JoshFerge in [#113424](https://github.com/getsentry/sentry/pull/113424)\n- (uptime) Fix cron monitor incident timing inconsistency by @klochek in [#112692](https://github.com/getsentry/sentry/pull/112692)\n- (viewer-context) Populate org after request resolution by @gricha in [#113139](https://github.com/getsentry/sentry/pull/113139)\n- (views) Standardize Save as buttons by @priscilawebdev in [#113655](https://github.com/getsentry/sentry/pull/113655)\n- (workflow_engine) Manually add date_updated/added timestamps for detectorstate commits by @klochek in [#113480](https://github.com/getsentry/sentry/pull/113480)\n- (workflowEngine) Use primary border color by @TkDodo in [#113560](https://github.com/getsentry/sentry/pull/113560)\n- Revert \"feat(integrations): Send SLO lifecycle metrics to Sentry via SDK (#112839)\" by @getsentry-bot in [7e3195c1](https://github.com/getsentry/sentry/commit/7e3195c12364a1a435da331b770042ce3e6461be)\n- Don't use type as a variable by @wmak in [#113080](https://github.com/getsentry/sentry/pull/113080)\n\n### Documentation 📚\n\n- (agents) Forbid customer info in PRs, commits, and code by @JoshFerge in [#113300](https://github.com/getsentry/sentry/pull/113300)\n\n### Internal Changes 🔧\n\n#### Aci\n\n- Replace multiple flag usage with single flag by @ceorourke in [#113461](https://github.com/getsentry/sentry/pull/113461)\n- Add single flag to control metric alert backwards compatible endpoints by @ceorourke in [#113228](https://github.com/getsentry/sentry/pull/113228)\n- Split connected detectors into projects and monitors lists by @malwilley in [#113205](https://github.com/getsentry/sentry/pull/113205)\n- Roll out DELETE metric alert endpoint flag by @klochek in [#113215](https://github.com/getsentry/sentry/pull/113215)\n- Roll out DELETE issue alert endpoint flag by @klochek in [#113216](https://github.com/getsentry/sentry/pull/113216)\n- Report more used legacy models by @ceorourke in [#113233](https://github.com/getsentry/sentry/pull/113233)\n\n#### Alerts\n\n- More efficient GroupOpenPeriod query by @kcons in [#113556](https://github.com/getsentry/sentry/pull/113556)\n- Migrate rule node fields to JsonFormAdapterFieldConfig by @priscilawebdev in [#112779](https://github.com/getsentry/sentry/pull/112779)\n\n#### Api\n\n- Remove single trace summary backend endpoint by @nsdeschenes in [#113666](https://github.com/getsentry/sentry/pull/113666)\n- Add collapse=organization to project details endpoint by @scttcper in [#113140](https://github.com/getsentry/sentry/pull/113140)\n\n#### Billing\n\n- Bumped protos version to 0.8.15 by @krithikravi in [#113699](https://github.com/getsentry/sentry/pull/113699)\n- Renamed metrics to application metric counts(BIL-2237) by @krithikravi in [#113580](https://github.com/getsentry/sentry/pull/113580)\n\n#### Cells\n\n- Update field definitions on BaseRelocationTransfer by @lynnagara in [#113000](https://github.com/getsentry/sentry/pull/113000)\n- Remove deprecated get_region_for_organization alias by @lynnagara in [#113003](https://github.com/getsentry/sentry/pull/113003)\n- Remove dead SiloMode.CELL check from ReactPageView by @lynnagara in [#113001](https://github.com/getsentry/sentry/pull/113001)\n\n#### Ci\n\n- Tolerate action-download flakes on collect-test-data by @mchen-sentry in [#113453](https://github.com/getsentry/sentry/pull/113453)\n- Wait.py, add healthcheck logging by @joshuarli in [#113361](https://github.com/getsentry/sentry/pull/113361)\n- Add import analysis to selective testing by @rbro112 in [#113247](https://github.com/getsentry/sentry/pull/113247)\n\n#### Cmdk\n\n- Add Seer actions to command palette by @JonasBa in [#113490](https://github.com/getsentry/sentry/pull/113490)\n- Add missing secondary nav items to command palette by @JonasBa in [#113155](https://github.com/getsentry/sentry/pull/113155)\n\n#### Commits\n\n- Remove \"Unable to Fetch Commits\" email by @leeandher in [#113445](https://github.com/getsentry/sentry/pull/113445)\n- Simplify main loop, extra logging & CODEOWNERS update by @armenzg in [#113418](https://github.com/getsentry/sentry/pull/113418)\n- Refactor fetch_commits task by @armenzg in [#113293](https://github.com/getsentry/sentry/pull/113293)\n- Improve fetch commit task observability by @armenzg in [#113282](https://github.com/getsentry/sentry/pull/113282)\n\n#### Dashboards\n\n- Normalize error responses to use detail key by @gggritso in [#113606](https://github.com/getsentry/sentry/pull/113606)\n- Use Dashboard router hint in revision restore by @gggritso in [#113605](https://github.com/getsentry/sentry/pull/113605)\n- Reorder primary actions by @JonasBa in [#113443](https://github.com/getsentry/sentry/pull/113443)\n- Remove Dashboard Templates feature by @gggritso in [#113343](https://github.com/getsentry/sentry/pull/113343)\n- Remove dashboards-interval-selection flag declaration (backend) by @gggritso in [#113290](https://github.com/getsentry/sentry/pull/113290)\n- Remove dashboards-interval-selection feature flag (frontend) by @gggritso in [#113288](https://github.com/getsentry/sentry/pull/113288)\n- Migrate widget type selector to CompactSelect by @DominikB2014 in [#112927](https://github.com/getsentry/sentry/pull/112927)\n\n#### Explore\n\n- Add header hints and update explore headers by @nsdeschenes in [#113571](https://github.com/getsentry/sentry/pull/113571)\n- Normalize ExploreControlSection padding to md xl by @JonasBa in [#113579](https://github.com/getsentry/sentry/pull/113579)\n- Use paste instead of type for spans tab query input by @scttcper in [#113349](https://github.com/getsentry/sentry/pull/113349)\n- Move attribute key fetching to apiOptions utility by @nsdeschenes in [#113047](https://github.com/getsentry/sentry/pull/113047)\n- Add dev features flag by @k-fish in [#113081](https://github.com/getsentry/sentry/pull/113081)\n\n#### Explorer\n\n- SwitchToRun should be a no-op for same runId by @aliu39 in [#113262](https://github.com/getsentry/sentry/pull/113262)\n- Rename global context provider + use it for close button and external opens by @aliu39 in [#113264](https://github.com/getsentry/sentry/pull/113264)\n- Reorg directory structure by @aliu39 in [#113263](https://github.com/getsentry/sentry/pull/113263)\n- Update hook to use useMutation by @aliu39 in [#113146](https://github.com/getsentry/sentry/pull/113146)\n\n#### Flags\n\n- Remove dead projects:data-forwarding flag by @wedamija in [#113374](https://github.com/getsentry/sentry/pull/113374)\n- Remove 5 dead feature flag registrations by @wedamija in [#113373](https://github.com/getsentry/sentry/pull/113373)\n\n#### Grouping\n\n- Add MAC address parameterization regex by @lobsterkatie in [#113129](https://github.com/getsentry/sentry/pull/113129)\n- Make ip regex stricter by @lobsterkatie in [#112995](https://github.com/getsentry/sentry/pull/112995)\n\n#### Integrations\n\n- Make GitHub compare-commits caching default by @armenzg in [#113536](https://github.com/getsentry/sentry/pull/113536)\n- Remove totally unused `claude-code-environment.html` by @evanpurkhiser in [#113317](https://github.com/getsentry/sentry/pull/113317)\n- Request recent GitHub commits with explicit page size by @armenzg in [#113217](https://github.com/getsentry/sentry/pull/113217)\n- Clarify which endpoints gets called by @armenzg in [#113196](https://github.com/getsentry/sentry/pull/113196)\n- Halting events to be logged as warning by @armenzg in [#113104](https://github.com/getsentry/sentry/pull/113104)\n- Gate disabling repositories behind a separate flag by @wedamija in [#113071](https://github.com/getsentry/sentry/pull/113071)\n\n#### Issue Detection\n\n- Increase tick frequency to 5 min, reduce cycle to 1 hour by @roggenkemper in [#113621](https://github.com/getsentry/sentry/pull/113621)\n- Hide search and settings behind `hideAiFeatures` by @roggenkemper in [#113542](https://github.com/getsentry/sentry/pull/113542)\n- Make AI issue types searchable when feature flag by @roggenkemper in [#113470](https://github.com/getsentry/sentry/pull/113470)\n- Set `api_expose` to True by @roggenkemper in [#113093](https://github.com/getsentry/sentry/pull/113093)\n\n#### Issues\n\n- Extract shared search + serialize helpers by @cvxluo in [#113562](https://github.com/getsentry/sentry/pull/113562)\n- Removing option registration no longer needed by @shashjar in [#113597](https://github.com/getsentry/sentry/pull/113597)\n- 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)\n- Migrate similar stack trace to react-query by @scttcper in [#113344](https://github.com/getsentry/sentry/pull/113344)\n- Consolidate duplicate issue tags requests into one by @scttcper in [#113079](https://github.com/getsentry/sentry/pull/113079)\n\n#### Iswf\n\n- Uses repository URL by default when linking external repos by @GabeVillalobos in [#113360](https://github.com/getsentry/sentry/pull/113360)\n- Adds Repository URL to organization_integration_repos endpoint by @GabeVillalobos in [#113358](https://github.com/getsentry/sentry/pull/113358)\n\n#### Nav\n\n- Simplify setting breadcrumbs by @natemoo-re in [#113101](https://github.com/getsentry/sentry/pull/113101)\n- Extract header actions, use pageframe slots by @natemoo-re in [#113083](https://github.com/getsentry/sentry/pull/113083)\n\n#### Nightshift\n\n- Expose seer-night-shift flag to UI by @chromy in [#113543](https://github.com/getsentry/sentry/pull/113543)\n- Log agent_run_id in night shift logs by @chromy in [#113171](https://github.com/getsentry/sentry/pull/113171)\n\n#### Onboarding\n\n- Persist project details form state in onboarding context by @jaydgoss in [#113128](https://github.com/getsentry/sentry/pull/113128)\n- Move less common SCM providers into a More dropdown by @jaydgoss in [#112730](https://github.com/getsentry/sentry/pull/112730)\n- Clean up useCallback in firstEventFooter, rm project.org by @scttcper in [#113134](https://github.com/getsentry/sentry/pull/113134)\n\n#### Pipeline\n\n- Remove missed pipeline reference from rspack by @evanpurkhiser in [#113438](https://github.com/getsentry/sentry/pull/113438)\n- Remove unused react_pipeline template and render_react_view by @evanpurkhiser in [#113439](https://github.com/getsentry/sentry/pull/113439)\n- Remove now unused legacy integrationPipeline views by @evanpurkhiser in [#113328](https://github.com/getsentry/sentry/pull/113328)\n- Extract shared test helpers from pipeline integration specs by @evanpurkhiser in [#113224](https://github.com/getsentry/sentry/pull/113224)\n- Use getApiUrl for type-safe API URL construction by @evanpurkhiser in [#113226](https://github.com/getsentry/sentry/pull/113226)\n\n#### Preprod\n\n- Revert odiff CLI-mode workaround after v4.3.8 fix by @NicoHinderling in [#113335](https://github.com/getsentry/sentry/pull/113335)\n- Move Snapshots tab to standalone settings subpage by @NicoHinderling in [#113175](https://github.com/getsentry/sentry/pull/113175)\n\n#### Seer\n\n- Make chat and copy primary buttons by @JonasBa in [#113719](https://github.com/getsentry/sentry/pull/113719)\n- Filter LLM context to widget-builder on builder routes by @Mihir-Mavalankar in [#113623](https://github.com/getsentry/sentry/pull/113623)\n- Split structured context routes by feature flag by @Mihir-Mavalankar in [#113485](https://github.com/getsentry/sentry/pull/113485)\n- Reapply JWT proxy_headers for Seer callbacks by @gricha in [#113499](https://github.com/getsentry/sentry/pull/113499)\n- Remove duplicate useFetchAgentOptions, replaced by useCodingAgentSelectQueryOptions by @ryan953 in [#113498](https://github.com/getsentry/sentry/pull/113498)\n- Accept **kwargs on night_shift instrumented tasks by @chromy in [#113284](https://github.com/getsentry/sentry/pull/113284)\n- Refactor Seer Autofix Project table to remove internal abstractions by @ryan953 in [#113459](https://github.com/getsentry/sentry/pull/113459)\n- Retire the seer-overview feature flag by @ryan953 in [#113249](https://github.com/getsentry/sentry/pull/113249)\n- Filter private fields from explorer chat API response by @trevor-e in [#113199](https://github.com/getsentry/sentry/pull/113199)\n- Refactor Code Review table to better optimistically update by @ryan953 in [#112979](https://github.com/getsentry/sentry/pull/112979)\n\n#### Selective Testing\n\n- Add selective testing instructions to agents.md files by @rbro112 in [#113334](https://github.com/getsentry/sentry/pull/113334)\n- Re-add make test-selective command by @rbro112 in [#113265](https://github.com/getsentry/sentry/pull/113265)\n\n#### Supergroups\n\n- Always use lightweight RCA read path by @cvxluo in [#113583](https://github.com/getsentry/sentry/pull/113583)\n- Extract helper for get-by-group-ids Seer call by @cvxluo in [#113492](https://github.com/getsentry/sentry/pull/113492)\n- Remove id from drawer breadcrumb by @cvxluo in [#113179](https://github.com/getsentry/sentry/pull/113179)\n- Make backfill tuning params configurable via options by @yuvmen in [#113074](https://github.com/getsentry/sentry/pull/113074)\n\n#### Tracemetrics\n\n- Remove refresh ui flag by @nsdeschenes in [#113669](https://github.com/getsentry/sentry/pull/113669)\n- Mark test as known flake by @narsaynorath in [#113484](https://github.com/getsentry/sentry/pull/113484)\n- Remove legacy metrics UI by @nsdeschenes in [#113278](https://github.com/getsentry/sentry/pull/113278)\n- Extract state keeping from state changes in provider by @narsaynorath in [#113211](https://github.com/getsentry/sentry/pull/113211)\n\n#### Tsc\n\n- UsageHistory endpoint to apiOptions by @TkDodo in [#113672](https://github.com/getsentry/sentry/pull/113672)\n- Invoices endpoint to apiOptions by @TkDodo in [#113548](https://github.com/getsentry/sentry/pull/113548)\n- UsageLogs endpoint to apiOptions by @TkDodo in [#113647](https://github.com/getsentry/sentry/pull/113647)\n- Billing-seats endpoint to apiOptions by @TkDodo in [#113685](https://github.com/getsentry/sentry/pull/113685)\n- CheckIns endpoint to apiOptions by @TkDodo in [#113273](https://github.com/getsentry/sentry/pull/113273)\n- Trace item stats to apiOptions by @TkDodo in [#113299](https://github.com/getsentry/sentry/pull/113299)\n- Projects endpoint to apiOptions by @TkDodo in [#113045](https://github.com/getsentry/sentry/pull/113045)\n- Ai-conversations endpoint to apiOptions by @TkDodo in [#113287](https://github.com/getsentry/sentry/pull/113287)\n- :key and :key/values endpoint to apiOptions by @TkDodo in [#113275](https://github.com/getsentry/sentry/pull/113275)\n- Explore saved queries endpoint to apiOptions by @TkDodo in [#113292](https://github.com/getsentry/sentry/pull/113292)\n- Group-search-views endpoint to apiOptions by @TkDodo in [#113280](https://github.com/getsentry/sentry/pull/113280)\n- Replays endpoint to apiOptions by @TkDodo in [#113158](https://github.com/getsentry/sentry/pull/113158)\n- Profile events endpoint to apiOptions by @TkDodo in [#113163](https://github.com/getsentry/sentry/pull/113163)\n- Open-period endpoint to apiOptions by @TkDodo in [#113167](https://github.com/getsentry/sentry/pull/113167)\n- Dashboards endpoint to apiOptions by @TkDodo in [#113068](https://github.com/getsentry/sentry/pull/113068)\n- Keys endpoint to apiOptions by @TkDodo in [#113053](https://github.com/getsentry/sentry/pull/113053)\n- Repos endpoint to apiOptions by @TkDodo in [#112926](https://github.com/getsentry/sentry/pull/112926)\n- Members endpoint to apiOptions by @TkDodo in [#113023](https://github.com/getsentry/sentry/pull/113023)\n- Teams endpoint to apiOptions by @TkDodo in [#113033](https://github.com/getsentry/sentry/pull/113033)\n- ProjectTeams endpoint to apiOptions by @TkDodo in [#113063](https://github.com/getsentry/sentry/pull/113063)\n\n#### Ui\n\n- Change bulk delete modal text from 'automations' to 'alerts' by @souredoutlook in [#113631](https://github.com/getsentry/sentry/pull/113631)\n- Scope `isDrawerOpen` to `useDrawer` callsite by @natemoo-re in [#113629](https://github.com/getsentry/sentry/pull/113629)\n- Add jest/swc transform cache to frontend-optional workflow by @scttcper in [#113086](https://github.com/getsentry/sentry/pull/113086)\n- Prefer InfoTip for page title help by @JonasBa in [#113026](https://github.com/getsentry/sentry/pull/113026)\n\n#### Viewer Context\n\n- Remove legacy header fallback by @gricha in [#113592](https://github.com/getsentry/sentry/pull/113592)\n- Switch observe helper to sentry_sdk.metrics.count by @gricha in [#113260](https://github.com/getsentry/sentry/pull/113260)\n\n#### Other\n\n- (agents) Remove Gen AI cost warning captureMessage calls by @obostjancic in [#113653](https://github.com/getsentry/sentry/pull/113653)\n- (aws-lambda) Remove legacy pipeline views by @evanpurkhiser in [#113075](https://github.com/getsentry/sentry/pull/113075)\n- (bitbucket) Remove legacy pipeline views by @evanpurkhiser in [#113327](https://github.com/getsentry/sentry/pull/113327)\n- (chartcuterie) Restrict browser imports in chartcuterie files by @DominikB2014 in [#113187](https://github.com/getsentry/sentry/pull/113187)\n- (claude-code) Remove legacy pipeline views by @evanpurkhiser in [#113329](https://github.com/getsentry/sentry/pull/113329)\n- (cursor) Remove legacy pipeline views by @evanpurkhiser in [#113330](https://github.com/getsentry/sentry/pull/113330)\n- (deps) Bump taskbroker-client from >=0.1.8 to >=0.1.9,<1 by @untitaker in [#113603](https://github.com/getsentry/sentry/pull/113603)\n- (discord) Remove legacy pipeline views by @evanpurkhiser in [#113323](https://github.com/getsentry/sentry/pull/113323)\n- (discover) Remove dead saved query delete code by @priscilawebdev in [#113156](https://github.com/getsentry/sentry/pull/113156)\n- (drawer) Add `shouldLockScroll` option by @natemoo-re in [#113245](https://github.com/getsentry/sentry/pull/113245)\n- (eslint) Directly extend from tseslint preset configs by @JoshuaKGoldberg in [#113189](https://github.com/getsentry/sentry/pull/113189)\n- (fetch_commits) Unify commit fetch interfaces by @armenzg in [#113281](https://github.com/getsentry/sentry/pull/113281)\n- (github) Remove legacy pipeline views by @evanpurkhiser in [#113338](https://github.com/getsentry/sentry/pull/113338)\n- (gitlab) Remove legacy pipeline views by @evanpurkhiser in [#113322](https://github.com/getsentry/sentry/pull/113322)\n- (incidents) Add serializer parity test for incident activity by @kcons in [#113010](https://github.com/getsentry/sentry/pull/113010)\n- (insights) Remove starfish-view feature flag by @gggritso in [#113435](https://github.com/getsentry/sentry/pull/113435)\n- (issue-details) Use shared Sticky for event nav by @priscilawebdev in [#113514](https://github.com/getsentry/sentry/pull/113514)\n- (logs) Use primary button variant for Save As action by @JonasBa in [#113380](https://github.com/getsentry/sentry/pull/113380)\n- (metrics) Update Android and Java onboarding to require SDK 8.34.0 by @markushi in [#113150](https://github.com/getsentry/sentry/pull/113150)\n- (opsgenie) Remove legacy pipeline views by @evanpurkhiser in [#113324](https://github.com/getsentry/sentry/pull/113324)\n- (page-frame) Compact editable titles in topbar for dashboards and monitors by @JonasBa in [#113574](https://github.com/getsentry/sentry/pull/113574)\n- (pageFrame) Move texts into subTitle of SettingsPageHeader by @TkDodo in [#113521](https://github.com/getsentry/sentry/pull/113521)\n- (pagerduty) Remove legacy pipeline views by @evanpurkhiser in [#113325](https://github.com/getsentry/sentry/pull/113325)\n- (pagination) Reduce unnecessary overquerying in CombinedQuerysetPaginator by @kcons in [#113200](https://github.com/getsentry/sentry/pull/113200)\n- (perforce) Add gdx as integration owner by @Dav1dde in [#113689](https://github.com/getsentry/sentry/pull/113689)\n- (profiling) Remove differential flamegraph page flag by @mjq in [#113014](https://github.com/getsentry/sentry/pull/113014)\n- (project-detail) Use relative period params for previous period queries by @gggritso in [#113100](https://github.com/getsentry/sentry/pull/113100)\n- (projects) Use collapse=organization on project details fetches by @scttcper in [#113186](https://github.com/getsentry/sentry/pull/113186)\n- (replays) Use generic /events/ endpoint in useReplayData by @mjq in [#113346](https://github.com/getsentry/sentry/pull/113346)\n- (repositories) Default `is_rate_limited_error` to False by @wedamija in [#113366](https://github.com/getsentry/sentry/pull/113366)\n- (scm) Implement sentry-scm dependency by @cmanallen in [#112969](https://github.com/getsentry/sentry/pull/112969)\n- (sdk) Allow to disable threading integration by @gi0baro in [#113154](https://github.com/getsentry/sentry/pull/113154)\n- (seer-slack) Move organization resolution to control by @leeandher in [#113107](https://github.com/getsentry/sentry/pull/113107)\n- (slack) Remove legacy pipeline views by @evanpurkhiser in [#113321](https://github.com/getsentry/sentry/pull/113321)\n- (snapshots) Bump sentry-cli to 3.4.0 by @lcian in [#113409](https://github.com/getsentry/sentry/pull/113409)\n- (stories) Automatic categories via index by @natemoo-re in [#113506](https://github.com/getsentry/sentry/pull/113506)\n- (theme) Migrate shadows by @natemoo-re in [#112997](https://github.com/getsentry/sentry/pull/112997)\n- (trace) Remove new trace summary tab by @nsdeschenes in [#113663](https://github.com/getsentry/sentry/pull/113663)\n- Upgrade sentry-scm to 0.5.0 for GitLab token refresh fix by @billyvg in [#113658](https://github.com/getsentry/sentry/pull/113658)\n- Fix 'occured' -> 'occurred' typos across sentry_apps, UI, and loader templates by @SAY-5 in [#113145](https://github.com/getsentry/sentry/pull/113145)\n- Bump protos to 0.8.13 by @noahsmartin in [#113476](https://github.com/getsentry/sentry/pull/113476)\n- Bump devservices to 1.3.1 by @joshuarli in [#113393](https://github.com/getsentry/sentry/pull/113393)\n- Bump new development version by @sentry-release-bot[bot] in [3136d52d](https://github.com/getsentry/sentry/commit/3136d52d5cceb6c6a577dc3c08ba354cd6f69e31)\n\n### Other\n\n- ref(seer) remove seer border by @JonasBa in [#113710](https://github.com/getsentry/sentry/pull/113710)\n- devenv: optional gcloud by @joshuarli in [#113709](https://github.com/getsentry/sentry/pull/113709)\n- feature(seer agent): change styling of input bar and message bubbles by @sehr-m in [#113630](https://github.com/getsentry/sentry/pull/113630)\n- feature(seer agent): icon changes by @sehr-m in [#113632](https://github.com/getsentry/sentry/pull/113632)\n- styles(scraps): Subtract top from SlideOverPanel height by @Zylphrex in [#113610](https://github.com/getsentry/sentry/pull/113610)\n- styles(autofix): Format autofix message content as markdown by @Zylphrex in [#113433](https://github.com/getsentry/sentry/pull/113433)\n- ref(cmdk) improve nesting structure by @JonasBa in [#113152](https://github.com/getsentry/sentry/pull/113152)\n- 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)\n- types: Move sentry.search.events.filter from mypy ignore to stronglist by @kcons in [#113191](https://github.com/getsentry/sentry/pull/113191)\n- Add logger warnings for display name filter action by @geoffg-sentry in [#113168](https://github.com/getsentry/sentry/pull/113168)\n- Display name validation and filtering for apps and orgs by @geoffg-sentry in [#113106](https://github.com/getsentry/sentry/pull/113106)\n- Fix/monitors UI copy by @souredoutlook in [#113050](https://github.com/getsentry/sentry/pull/113050)\n- Add project auth checks in external issue creation and deletion by @geoffg-sentry in [#112709](https://github.com/getsentry/sentry/pull/112709)\n- Restrict allowed values in sentry.conf.py for feature-flags by @geoffg-sentry in [#112980](https://github.com/getsentry/sentry/pull/112980)","publishedAt":"2026-04-22T19:31:24.000Z","fetchedAt":"2026-04-23T17:00:15.071Z","url":"https://github.com/getsentry/sentry/releases/tag/26.4.1","media":[],"coverageCount":0},{"id":"rel_K72dYmTxEDnSjTe9cJdub","version":"26.4.0","type":"feature","title":"26.4.0","summary":"### New Features ✨\n\n#### Aci\n\n- Implement created_by search filter in Alerts by @malwilley in [#112950](https://github.com/getsentry/sentry/pull/11295...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- Implement created_by search filter in Alerts by @malwilley in [#112950](https://github.com/getsentry/sentry/pull/112950)\n- Add created_by search filter to workflow index endpoint by @malwilley in [#112873](https://github.com/getsentry/sentry/pull/112873)\n- Modify test action endpoint to accept a project slug by @malwilley in [#112859](https://github.com/getsentry/sentry/pull/112859)\n- Add onboarding banner by @malwilley in [#112737](https://github.com/getsentry/sentry/pull/112737)\n- Register workflow engine onboarding banner prompt by @malwilley in [#112615](https://github.com/getsentry/sentry/pull/112615)\n- Add ability to create envs inline by @saponifi3d in [#112558](https://github.com/getsentry/sentry/pull/112558)\n- Add ability to create new environments in the API by @saponifi3d in [#112537](https://github.com/getsentry/sentry/pull/112537)\n- Update connected alerts empty state by @malwilley in [#112397](https://github.com/getsentry/sentry/pull/112397)\n- Add 'moved' badge to old alerts nav item by @malwilley in [#112392](https://github.com/getsentry/sentry/pull/112392)\n- Add markdown icon to monitor description input by @malwilley in [#112295](https://github.com/getsentry/sentry/pull/112295)\n- 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)\n- Add issue preview to uptime monitor form by @malwilley in [#112224](https://github.com/getsentry/sentry/pull/112224)\n- Add issue preview to cron monitor form by @malwilley in [#112237](https://github.com/getsentry/sentry/pull/112237)\n- Update new alert UI copy to make it a bit easier to unders… by @malwilley in [#112051](https://github.com/getsentry/sentry/pull/112051)\n- Add numbers to monitor and alert form sections by @malwilley in [#111898](https://github.com/getsentry/sentry/pull/111898)\n- Add types for DetectorInput and DataSourceInput by @saponifi3d in [#112050](https://github.com/getsentry/sentry/pull/112050)\n- Add/update workflows to a detector in DetectorValidator by @ceorourke in [#111925](https://github.com/getsentry/sentry/pull/111925)\n- Move monitor project/environment fields from the header to the form body by @malwilley in [#111762](https://github.com/getsentry/sentry/pull/111762)\n- Release rule stats and group history wfe endpoints by @ceorourke in [#111737](https://github.com/getsentry/sentry/pull/111737)\n- Add feature flag for combined rules endpoint by @ceorourke in [#111677](https://github.com/getsentry/sentry/pull/111677)\n- Align metric chart data points with open period markers by @malwilley in [#111595](https://github.com/getsentry/sentry/pull/111595)\n- Schedule sentry.workflow_engine.tasks.cleanup.prune_old_fire_history every 2min by @kcons in [#111550](https://github.com/getsentry/sentry/pull/111550)\n- Add issue preview to the metric monitor form by @malwilley in [#111420](https://github.com/getsentry/sentry/pull/111420)\n- Make rule stats and group history endpoints backwards compatible by @ceorourke in [#111159](https://github.com/getsentry/sentry/pull/111159)\n- Add owner to workflow serializer response by @ceorourke in [#110817](https://github.com/getsentry/sentry/pull/110817)\n\n#### Admin\n\n- Add gsAdmin action to adjust dashboard parallel query limit by @DominikB2014 in [#111889](https://github.com/getsentry/sentry/pull/111889)\n- Replace startup program notes field with program dropdown by @rahulchhabria in [#111701](https://github.com/getsentry/sentry/pull/111701)\n- Add \"Add to Startup Program\" customer action by @rahulchhabria in [#111266](https://github.com/getsentry/sentry/pull/111266)\n\n#### Agents\n\n- Improve AI span presentation with tool input preview and response model by @obostjancic in [#112579](https://github.com/getsentry/sentry/pull/112579)\n- Use CurrencyCell in Agent Monitoring dashboards and handle negative costs by @obostjancic in [#111986](https://github.com/getsentry/sentry/pull/111986)\n- Fall back to gen_ai.function_id for agent name resolution by @obostjancic in [#111608](https://github.com/getsentry/sentry/pull/111608)\n- Add agent monitoring onboarding for Deno by @priscilawebdev in [#111282](https://github.com/getsentry/sentry/pull/111282)\n- Add agent monitoring onboarding for Bun by @priscilawebdev in [#111281](https://github.com/getsentry/sentry/pull/111281)\n\n#### Ai Insights\n\n- Add param change analytics event by @obostjancic in [#111392](https://github.com/getsentry/sentry/pull/111392)\n- Update dashboard widgets by @obostjancic in [#111069](https://github.com/getsentry/sentry/pull/111069)\n- Ai content renderer by @obostjancic in [#110847](https://github.com/getsentry/sentry/pull/110847)\n\n#### Ai Issues\n\n- Add new AI detected issue types to frontend by @roggenkemper in [#112971](https://github.com/getsentry/sentry/pull/112971)\n- Maps issue titles to new groups by @roggenkemper in [#112972](https://github.com/getsentry/sentry/pull/112972)\n\n#### Alerts\n\n- Add per-method workflow engine flags for project alert rule endpoints by @kcons in [#112827](https://github.com/getsentry/sentry/pull/112827)\n- Set up prune_old_open_period_activity by @kcons in [#112243](https://github.com/getsentry/sentry/pull/112243)\n- Report in Sentry and headers whether legacy models were used by @kcons in [#110954](https://github.com/getsentry/sentry/pull/110954)\n- Add pure Detector/Workflow version of OrganizationCombinedRuleIndexEndpoint by @kcons in [#110700](https://github.com/getsentry/sentry/pull/110700)\n\n#### Api\n\n- Make InvalidParams a ParseError by @kcons in [#112542](https://github.com/getsentry/sentry/pull/112542)\n- Track camelCase vs snake_case parameter key usage in CamelSnakeSerializer by @michelletran-sentry in [#111120](https://github.com/getsentry/sentry/pull/111120)\n\n#### Assisted Query\n\n- Add AI search bar to metrics tab by @isaacwang-sentry in [#111797](https://github.com/getsentry/sentry/pull/111797)\n- Add metrics search feature flag and forward options by @isaacwang-sentry in [#112240](https://github.com/getsentry/sentry/pull/112240)\n- Add tracemetrics built-in fields to \\_get_built_in_fields by @isaacwang-sentry in [#111587](https://github.com/getsentry/sentry/pull/111587)\n\n#### Attachments\n\n- Backfill EventAttachment.date_expires by @jan-auer in [#111980](https://github.com/getsentry/sentry/pull/111980)\n- Write date_expires when saving attachments by @jan-auer in [#111983](https://github.com/getsentry/sentry/pull/111983)\n- Add a `date_expires` column by @jan-auer in [#111881](https://github.com/getsentry/sentry/pull/111881)\n\n#### Autofix\n\n- Pass reasoning_effort=medium for explorer autofix RCA by @JoshFerge in [#112928](https://github.com/getsentry/sentry/pull/112928)\n- Change default intelligence level from low to medium by @JoshFerge in [#112920](https://github.com/getsentry/sentry/pull/112920)\n- Add Seer project preference getters to Seer RPC by @srest2021 in [#112624](https://github.com/getsentry/sentry/pull/112624)\n- Thread insert_index through explorer API for step retry by @isaacwang-sentry in [#112287](https://github.com/getsentry/sentry/pull/112287)\n- Add copy PR URL button and open icon to pull request card by @chromy in [#112358](https://github.com/getsentry/sentry/pull/112358)\n- Add analytics events for autofix phase start and completion by @chromy in [#112098](https://github.com/getsentry/sentry/pull/112098)\n- Add copy PR URL button to v3 pull request card by @chromy in [#112356](https://github.com/getsentry/sentry/pull/112356)\n- Add root cause as valid stopping point under feature flag by @srest2021 in [#112055](https://github.com/getsentry/sentry/pull/112055)\n- Add seerDrawer to location by @Zylphrex in [#112048](https://github.com/getsentry/sentry/pull/112048)\n- Replace ghost with loading text by @Zylphrex in [#112014](https://github.com/getsentry/sentry/pull/112014)\n- Remove empty file patches from autofix by @Zylphrex in [#111961](https://github.com/getsentry/sentry/pull/111961)\n- Use autofix endpoint for PR creation by @Zylphrex in [#111888](https://github.com/getsentry/sentry/pull/111888)\n- Pass PR description suffix for explorer autofix by @Zylphrex in [#111814](https://github.com/getsentry/sentry/pull/111814)\n- Support optional repo name when creating PRs by @Zylphrex in [#111804](https://github.com/getsentry/sentry/pull/111804)\n- Update seer explorer autofix last triggered on completion by @Zylphrex in [#111663](https://github.com/getsentry/sentry/pull/111663)\n- Autotrigger root cause if legacy autofix ran by @Zylphrex in [#111718](https://github.com/getsentry/sentry/pull/111718)\n- Handle PR creation in group ai autofix endpoint by @Zylphrex in [#111565](https://github.com/getsentry/sentry/pull/111565)\n- Track below_occurrence_threshold as a filtered skip reason by @trevor-e in [#111669](https://github.com/getsentry/sentry/pull/111669)\n- Remove agent handoff from solution step by @Zylphrex in [#111653](https://github.com/getsentry/sentry/pull/111653)\n- Break down not_eligible skip reasons for seer automation by @trevor-e in [#111638](https://github.com/getsentry/sentry/pull/111638)\n- Use new seer explorer autofix last triggered column by @Zylphrex in [#111484](https://github.com/getsentry/sentry/pull/111484)\n- Add metrics and logging for filtered-out seer automation issues by @trevor-e in [#111486](https://github.com/getsentry/sentry/pull/111486)\n- Add explorer autofix fields by @Zylphrex in [#111367](https://github.com/getsentry/sentry/pull/111367)\n- Render full coding agent result text as markdown in card by @sehr-m in [#111365](https://github.com/getsentry/sentry/pull/111365)\n- Support agent handoff after root cause by @Zylphrex in [#111164](https://github.com/getsentry/sentry/pull/111164)\n- Better loading and error states for autofix in sidebar by @Zylphrex in [#111144](https://github.com/getsentry/sentry/pull/111144)\n- Support autofix configurations in redesigns by @Zylphrex in [#111081](https://github.com/getsentry/sentry/pull/111081)\n- Support coding agents in redesigns by @Zylphrex in [#110900](https://github.com/getsentry/sentry/pull/110900)\n- Handle when autofix generates no artfacts by @Zylphrex in [#110797](https://github.com/getsentry/sentry/pull/110797)\n\n#### Aws Lambda\n\n- Add frontend pipeline steps for AWS Lambda integration setup by @evanpurkhiser in [#112736](https://github.com/getsentry/sentry/pull/112736)\n- Add API-driven pipeline backend by @evanpurkhiser in [#112626](https://github.com/getsentry/sentry/pull/112626)\n\n#### Billing\n\n- Add checkout tooltip for metrics by @brendanhsentry in [#112951](https://github.com/getsentry/sentry/pull/112951)\n- Display a customer's managed status in \\_admin by @swartzrock in [#112757](https://github.com/getsentry/sentry/pull/112757)\n- Add notification setting for trace metric bytes by @brendanhsentry in [#112282](https://github.com/getsentry/sentry/pull/112282)\n- Gate trace metric bytes notification behind feature flag by @brendanhsentry in [#112285](https://github.com/getsentry/sentry/pull/112285)\n- Select single project usage CSV by @brendanhsentry in [#112044](https://github.com/getsentry/sentry/pull/112044)\n- Implement ClickHouse backend for UsageService by @dashed in [#111799](https://github.com/getsentry/sentry/pull/111799)\n\n#### Bitbucket\n\n- Add API-driven pipeline backend for Bitbucket integration setup by @evanpurkhiser in [#112396](https://github.com/getsentry/sentry/pull/112396)\n- Add frontend pipeline step for Bitbucket integration setup by @evanpurkhiser in [#112418](https://github.com/getsentry/sentry/pull/112418)\n\n#### Cells\n\n- Compare locality not cell name in fork locality restriction by @lynnagara in [#112883](https://github.com/getsentry/sentry/pull/112883)\n- Add GET path for /organization list on control silo by @lynnagara in [#112622](https://github.com/getsentry/sentry/pull/112622)\n- Remove legacy non-org-scoped accept invite API route by @lynnagara in [#112767](https://github.com/getsentry/sentry/pull/112767)\n- Remove the legacy org invite route by @lynnagara in [#112634](https://github.com/getsentry/sentry/pull/112634)\n- Create the projectkey endpoint for synapse by @lynnagara in [#112047](https://github.com/getsentry/sentry/pull/112047)\n- Support multi-cell jira integration by @lynnagara in [#111696](https://github.com/getsentry/sentry/pull/111696)\n- Migrate clear_region_cache  to clear_cell_cache by @lynnagara in [#111681](https://github.com/getsentry/sentry/pull/111681)\n- Wire projectkeymapping to the control silo by @lynnagara in [#110231](https://github.com/getsentry/sentry/pull/110231)\n- Cell architecture and migration skill by @lynnagara in [#111563](https://github.com/getsentry/sentry/pull/111563)\n- Locality configuration should specify cell for new orgs by @lynnagara in [#111241](https://github.com/getsentry/sentry/pull/111241)\n\n#### Chartcuterie\n\n- Support multiple display types in Explore chart rendering by @DominikB2014 in [#112610](https://github.com/getsentry/sentry/pull/112610)\n- Add explore line chart render descriptor by @DominikB2014 in [#112584](https://github.com/getsentry/sentry/pull/112584)\n\n#### Ci\n\n- Backend selective via unified coverage db by @joshuarli in [#110792](https://github.com/getsentry/sentry/pull/110792)\n- Xdist backend test workflow by @mchen-sentry in [#110776](https://github.com/getsentry/sentry/pull/110776)\n\n#### Cmd K\n\n- Add 'superuser' keyword to admin actions by @JonasBa in [#112298](https://github.com/getsentry/sentry/pull/112298)\n- Add comprehensive analytics for the new command palette by @jshchnz in [#111684](https://github.com/getsentry/sentry/pull/111684)\n- Add Amplitude analytics instrumentation to command palette by @JonasBa in [#111553](https://github.com/getsentry/sentry/pull/111553)\n\n#### Cmdk\n\n- Add default limit=4 for async resource actions by @JonasBa in [#112649](https://github.com/getsentry/sentry/pull/112649)\n- Add admin actions group for staff users by @JonasBa in [#112244](https://github.com/getsentry/sentry/pull/112244)\n- Add Project Settings group to command palette by @JonasBa in [#111659](https://github.com/getsentry/sentry/pull/111659)\n\n#### Code Mappings\n\n- Handle Java monorepo source roots in auto-derivation task by @romtsn in [#112655](https://github.com/getsentry/sentry/pull/112655)\n- Allow multiple source roots per stack root by @romtsn in [#111704](https://github.com/getsentry/sentry/pull/111704)\n\n#### Codecov\n\n- Remove Codecov webhooks and TA feature flag by @calvin-codecov in [#109844](https://github.com/getsentry/sentry/pull/109844)\n- Remove Test Analytics UI and Prevent tokens by @calvin-codecov in [#109291](https://github.com/getsentry/sentry/pull/109291)\n\n#### Codeowners\n\n- Optimize DB query construction for building CODEOWNERS associations by @shashjar in [#111693](https://github.com/getsentry/sentry/pull/111693)\n- Add data-browsing and streaming owners for spans scripts by @lvthanh03 in [#111735](https://github.com/getsentry/sentry/pull/111735)\n- Allow a dirty baseline file as long as code has CODEOWNERS coverage by @mikejihbe in [#111491](https://github.com/getsentry/sentry/pull/111491)\n- Add codeowners enforcement by @mikejihbe in [#110578](https://github.com/getsentry/sentry/pull/110578)\n\n#### Coding Integrations\n\n- Add github copilot as an integration (frontend) by @sehr-m in [#111851](https://github.com/getsentry/sentry/pull/111851)\n- Github copilot integration backend by @sehr-m in [#111850](https://github.com/getsentry/sentry/pull/111850)\n\n#### Context Engine\n\n- Only search orgs with SCM integration for index by @Mihir-Mavalankar in [#111537](https://github.com/getsentry/sentry/pull/111537)\n- Index scheduling job changes by @Mihir-Mavalankar in [#111035](https://github.com/getsentry/sentry/pull/111035)\n\n#### Conversations\n\n- Show [Filtered] in conversation list for scrubbed data by @obostjancic in [#112786](https://github.com/getsentry/sentry/pull/112786)\n- Add conversation detail page with new design by @obostjancic in [#112571](https://github.com/getsentry/sentry/pull/112571)\n\n#### Dashboards\n\n- Add DashboardRevision model and migration by @skaasten in [#112929](https://github.com/getsentry/sentry/pull/112929)\n- Add organizations:dashboards-revisions feature flag by @skaasten in [#112923](https://github.com/getsentry/sentry/pull/112923)\n- Add insights-to-dashboards-ui-rollout feature flag by @gggritso in [#112916](https://github.com/getsentry/sentry/pull/112916)\n- Add performance_score and opportunity_score to Explore by @DominikB2014 in [#112146](https://github.com/getsentry/sentry/pull/112146)\n- Add thresholds support to generated dashboard widgets by @edwardgou-sentry in [#112682](https://github.com/getsentry/sentry/pull/112682)\n- Track metrics for Seer dashboard create and edit flows by @edwardgou-sentry in [#112595](https://github.com/getsentry/sentry/pull/112595)\n- Add beta badge to dashboard chat panel and minor style changes by @edwardgou-sentry in [#112539](https://github.com/getsentry/sentry/pull/112539)\n- Support dashboard editing via Seer chat session by @edwardgou-sentry in [#112489](https://github.com/getsentry/sentry/pull/112489)\n- Add ESC key to dismiss widget builder slideout by @NicoHinderling in [#112186](https://github.com/getsentry/sentry/pull/112186)\n- Allow dashboard generation to filter for project and env by @edwardgou-sentry in [#112150](https://github.com/getsentry/sentry/pull/112150)\n- Add text widget support to generated dashboards by @edwardgou-sentry in [#112132](https://github.com/getsentry/sentry/pull/112132)\n- Use new loader visual in dashboard generation loading page by @edwardgou-sentry in [#112365](https://github.com/getsentry/sentry/pull/112365)\n- Add flag to manage editing existing dashboards with ai by @edwardgou-sentry in [#112394](https://github.com/getsentry/sentry/pull/112394)\n- Apply widget defaults to generated widgets by @edwardgou-sentry in [#112036](https://github.com/getsentry/sentry/pull/112036)\n- Update /dashboard/generate endpoint to accept edit prompts by @edwardgou-sentry in [#111957](https://github.com/getsentry/sentry/pull/111957)\n- Track seer session errors on generating dashboards by @edwardgou-sentry in [#111827](https://github.com/getsentry/sentry/pull/111827)\n- Adds `dashboards-ai-generate` flag to Seer Explorer access list by @edwardgou-sentry in [#111667](https://github.com/getsentry/sentry/pull/111667)\n- Add tableWidths to backend overview transactions table by @DominikB2014 in [#111790](https://github.com/getsentry/sentry/pull/111790)\n- Add async queue parallel limit org option by @DominikB2014 in [#111615](https://github.com/getsentry/sentry/pull/111615)\n- Blocks http_error_count function from dashboard generation by @edwardgou-sentry in [#111637](https://github.com/getsentry/sentry/pull/111637)\n- Generated dashboards artifact schema improvements by @edwardgou-sentry in [#111533](https://github.com/getsentry/sentry/pull/111533)\n- Adds more description context to artifact schema by @edwardgou-sentry in [#111417](https://github.com/getsentry/sentry/pull/111417)\n- Redesign dashboard generation initial prompt step by @edwardgou-sentry in [#111377](https://github.com/getsentry/sentry/pull/111377)\n- Disable lazy loading generated dashboards by @edwardgou-sentry in [#111402](https://github.com/getsentry/sentry/pull/111402)\n- Use theme tokens for dashboard widget previews by @obostjancic in [#110963](https://github.com/getsentry/sentry/pull/110963)\n- Updates initial loading page design for Dashboard generation by @edwardgou-sentry in [#111327](https://github.com/getsentry/sentry/pull/111327)\n- Add category params to SeerExplorerClient in dashboard generate by @JoshFerge in [#111301](https://github.com/getsentry/sentry/pull/111301)\n- Improvements to Dashboard generation tracking by @edwardgou-sentry in [#111199](https://github.com/getsentry/sentry/pull/111199)\n- Moves dashboard generation metric to after polling reaches settled state + small fixes by @edwardgou-sentry in [#111138](https://github.com/getsentry/sentry/pull/111138)\n- Add tooltips explaining dashboard linking by @DominikB2014 in [#111139](https://github.com/getsentry/sentry/pull/111139)\n- Support linked dashboards in timeseries widgets by @DominikB2014 in [#111078](https://github.com/getsentry/sentry/pull/111078)\n- Text widget add to dashboard flow by @nikkikapadia in [#111019](https://github.com/getsentry/sentry/pull/111019)\n- Linkify replay.id and profile.id columns in table widgets by @gggritso in [#111029](https://github.com/getsentry/sentry/pull/111029)\n- Adds serializer check to dashboards generation on completion hook by @edwardgou-sentry in [#111059](https://github.com/getsentry/sentry/pull/111059)\n- 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)\n- Text widget in widget builder + edit flows by @nikkikapadia in [#110800](https://github.com/getsentry/sentry/pull/110800)\n- Adds interval to dashboard artifact schema by @edwardgou-sentry in [#110999](https://github.com/getsentry/sentry/pull/110999)\n- Add legendType configuration to widget builder by @DominikB2014 in [#110906](https://github.com/getsentry/sentry/pull/110906)\n- Track dashboard generation validation success and fail metrics by @edwardgou-sentry in [#110958](https://github.com/getsentry/sentry/pull/110958)\n- Dashboards generation chat panel improvements by @edwardgou-sentry in [#110960](https://github.com/getsentry/sentry/pull/110960)\n- Adds validation completion hook to generate dashboards endpoint by @edwardgou-sentry in [#110903](https://github.com/getsentry/sentry/pull/110903)\n- Tighten generated dashboard artifact model and improvements by @edwardgou-sentry in [#110881](https://github.com/getsentry/sentry/pull/110881)\n\n#### Data Export\n\n- Add exponential back off in case of rate limit errors from snuba by @manessaraj in [#112813](https://github.com/getsentry/sentry/pull/112813)\n- Add synchronous in-browser download for small log exports by @manessaraj in [#112688](https://github.com/getsentry/sentry/pull/112688)\n- Add logging for data-export-failure by @JoshuaKGoldberg in [#112169](https://github.com/getsentry/sentry/pull/112169)\n\n#### Errors\n\n- Main body content sections by @nikkikapadia in [#112139](https://github.com/getsentry/sentry/pull/112139)\n- Add page filters and search bar UI by @nikkikapadia in [#112003](https://github.com/getsentry/sentry/pull/112003)\n- Add sidebar item and routes for new Errors ui by @nikkikapadia in [#111786](https://github.com/getsentry/sentry/pull/111786)\n\n#### Eslint\n\n- No-unnecessary-use-callback by @TkDodo in [#112689](https://github.com/getsentry/sentry/pull/112689)\n- Add no-flag-comments rule to disallow section separator comments by @evanpurkhiser in [#112836](https://github.com/getsentry/sentry/pull/112836)\n- Enable @typescript-eslint/no-unnecessary-type-parameters by @JoshuaKGoldberg in [#112404](https://github.com/getsentry/sentry/pull/112404)\n- Expand no-default-exports rule to all static default exports by @JoshuaKGoldberg in [#111070](https://github.com/getsentry/sentry/pull/111070)\n- Expand no-default-exports rule to files with other named exports by @JoshuaKGoldberg in [#110860](https://github.com/getsentry/sentry/pull/110860)\n\n#### Experiments\n\n- Add useExperiment hook for flagpole experiments by @evanpurkhiser in [#112001](https://github.com/getsentry/sentry/pull/112001)\n- Populate org serializer experiments dict from flagpole by @wedamija in [#110814](https://github.com/getsentry/sentry/pull/110814)\n\n#### Explore\n\n- Add 1 day interval option for durations >= 14 days by @gggritso in [#112919](https://github.com/getsentry/sentry/pull/112919)\n- Enlarge chart size for explore Slack unfurls by @DominikB2014 in [#112697](https://github.com/getsentry/sentry/pull/112697)\n- Add issue post processor on occurrences dataset by @manessaraj in [#111724](https://github.com/getsentry/sentry/pull/111724)\n- Validate trace item search keys asynchronously by @nsdeschenes in [#111189](https://github.com/getsentry/sentry/pull/111189)\n- EAP occurrences: resolve issue in query string via group_id by @manessaraj in [#111101](https://github.com/getsentry/sentry/pull/111101)\n- Prioritize known fields in group by dropdown by @nsdeschenes in [#109957](https://github.com/getsentry/sentry/pull/109957)\n- Allow skipping attribute type by @wmak in [#110916](https://github.com/getsentry/sentry/pull/110916)\n- Add drag-and-drop reordering to Visualize toolbar by @JoshuaKGoldberg in [#110842](https://github.com/getsentry/sentry/pull/110842)\n\n#### Flagpole\n\n- Register onboarding-scm-experiment feature flag by @jaydgoss in [#112157](https://github.com/getsentry/sentry/pull/112157)\n- Add experiment_mode field to Feature dataclass by @wedamija in [#110806](https://github.com/getsentry/sentry/pull/110806)\n\n#### Github\n\n- Handle installation_repositories webhook by @wedamija in [#112227](https://github.com/getsentry/sentry/pull/112227)\n- Add missing test for githubIntegrationPipeline + cleanup by @evanpurkhiser in [#112116](https://github.com/getsentry/sentry/pull/112116)\n- Add frontend implementation for GitHub integration pipeline by @evanpurkhiser in [#111996](https://github.com/getsentry/sentry/pull/111996)\n- Add API-driven GitHub integration setup by @evanpurkhiser in [#111728](https://github.com/getsentry/sentry/pull/111728)\n\n#### Gitlab\n\n- Add frontend implementation for GitLab integration pipeline by @evanpurkhiser in [#112153](https://github.com/getsentry/sentry/pull/112153)\n- Add API pipleine flag by @evanpurkhiser in [#112367](https://github.com/getsentry/sentry/pull/112367)\n- Add API-driven GitLab integration setup by @evanpurkhiser in [#111999](https://github.com/getsentry/sentry/pull/111999)\n- Add task to upgrade project webhooks by @iamrajjoshi in [#111388](https://github.com/getsentry/sentry/pull/111388)\n- Add `get_access_token()` to GitLab integration by @billyvg in [#111001](https://github.com/getsentry/sentry/pull/111001)\n\n#### Grouping\n\n- Add replacement callback option to parameterizer by @lobsterkatie in [#111352](https://github.com/getsentry/sentry/pull/111352)\n- Add `raw_message` fingerprint variable by @lobsterkatie in [#111172](https://github.com/getsentry/sentry/pull/111172)\n\n#### Hybridcloud\n\n- Propagate ViewerContext through cross-silo RPC by @gricha in [#112248](https://github.com/getsentry/sentry/pull/112248)\n- Async apigateway by @gi0baro in [#111307](https://github.com/getsentry/sentry/pull/111307)\n\n#### Insights\n\n- Remove Projects from Insights navigation by @gggritso in [#112535](https://github.com/getsentry/sentry/pull/112535)\n- Navigate to prebuilt dashboards from trace view and span summary by @DominikB2014 in [#110739](https://github.com/getsentry/sentry/pull/110739)\n- Add banner to Mobile Overview page linking to Mobile Vitals Dashboard by @DominikB2014 in [#110880](https://github.com/getsentry/sentry/pull/110880)\n\n#### Integrations\n\n- Log integration_id and endpoint in integrations.http_response by @armenzg in [#112961](https://github.com/getsentry/sentry/pull/112961)\n- Increase compare-commits cache by @armenzg in [#112922](https://github.com/getsentry/sentry/pull/112922)\n- Add metrics to pipeline advancer and pipeline API endpoints by @evanpurkhiser in [#112935](https://github.com/getsentry/sentry/pull/112935)\n- Pass initialData through to initialize by @evanpurkhiser in [#112851](https://github.com/getsentry/sentry/pull/112851)\n- Support initial data binding during pipeline initialization by @evanpurkhiser in [#112849](https://github.com/getsentry/sentry/pull/112849)\n- Send SLO lifecycle metrics to Sentry via SDK by @trevor-e in [#112839](https://github.com/getsentry/sentry/pull/112839)\n- Log as warning when failed http.response by @armenzg in [#112665](https://github.com/getsentry/sentry/pull/112665)\n- Propagate ViewerContext in MS Teams webhook by @gricha in [#112414](https://github.com/getsentry/sentry/pull/112414)\n- Propagate ViewerContext in VSTS webhook by @gricha in [#112413](https://github.com/getsentry/sentry/pull/112413)\n- Propagate ViewerContext in Jira Server webhook by @gricha in [#112411](https://github.com/getsentry/sentry/pull/112411)\n- Propagate ViewerContext in Jira Cloud webhook by @gricha in [#112412](https://github.com/getsentry/sentry/pull/112412)\n- Genericise repository syncing task by @wedamija in [#112519](https://github.com/getsentry/sentry/pull/112519)\n- Return `externalId` from OrganizationIntegrationReposEndpoint by @wedamija in [#112529](https://github.com/getsentry/sentry/pull/112529)\n- Add bitbucket, gitlab, slack to api mode features by @evanpurkhiser in [#112501](https://github.com/getsentry/sentry/pull/112501)\n- Add flags for slack + bitbucket API pipelines by @evanpurkhiser in [#112497](https://github.com/getsentry/sentry/pull/112497)\n- Add API driven pipeline for Slack by @evanpurkhiser in [#112315](https://github.com/getsentry/sentry/pull/112315)\n- Set ViewerContext on webhook handlers by @gricha in [#112284](https://github.com/getsentry/sentry/pull/112284)\n- Add API pipeline flag for github by @evanpurkhiser in [#112280](https://github.com/getsentry/sentry/pull/112280)\n- Add on-demand source context fetching from SCM integrations by @mujacica in [#110324](https://github.com/getsentry/sentry/pull/110324)\n- Add API mode support to IntegrationPipeline by @evanpurkhiser in [#111454](https://github.com/getsentry/sentry/pull/111454)\n- Add lightweight RPC method to fetch org IDs by providers by @Mihir-Mavalankar in [#111528](https://github.com/getsentry/sentry/pull/111528)\n\n#### Intercom\n\n- Separate chat per org by @sentaur-athena in [#112551](https://github.com/getsentry/sentry/pull/112551)\n- Closing intercom session on org change by @sentaur-athena in [#112549](https://github.com/getsentry/sentry/pull/112549)\n\n#### Issue Details\n\n- Add android native tombstones onboarding banner by @romtsn in [#112478](https://github.com/getsentry/sentry/pull/112478)\n- Add analytics for similar and merged issues drawers by @cvxluo in [#112618](https://github.com/getsentry/sentry/pull/112618)\n- Show supergroup in issue details sidebar by @scttcper in [#112543](https://github.com/getsentry/sentry/pull/112543)\n\n#### Issues\n\n- Use new stack trace in stack trace preview by @scttcper in [#111592](https://github.com/getsentry/sentry/pull/111592)\n- Deduplicate replay-count API requests in issue stream by @scttcper in [#112323](https://github.com/getsentry/sentry/pull/112323)\n- Refactor SuspectCommits layout, clean up types by @scttcper in [#111818](https://github.com/getsentry/sentry/pull/111818)\n- Prefetch supergroup data and add stats columns to rows by @scttcper in [#111719](https://github.com/getsentry/sentry/pull/111719)\n- Simplify shared issue event rendering by @scttcper in [#111769](https://github.com/getsentry/sentry/pull/111769)\n- Recent issues with autofix view by @Zylphrex in [#111617](https://github.com/getsentry/sentry/pull/111617)\n- New stack trace component by @scttcper in [#109428](https://github.com/getsentry/sentry/pull/109428)\n\n#### Logs\n\n- Moved LogsInfiniteTable inline with expand/contract button by @JoshuaKGoldberg in [#109819](https://github.com/getsentry/sentry/pull/109819)\n- Move continue scanning into full button by @nsdeschenes in [#112351](https://github.com/getsentry/sentry/pull/112351)\n- Add ourlogs-table-expando feature flag by @JoshuaKGoldberg in [#112031](https://github.com/getsentry/sentry/pull/112031)\n- Add inline JSON syntax highlighting for log attributes by @JoshuaKGoldberg in [#111730](https://github.com/getsentry/sentry/pull/111730)\n- Add JSON pretty-printing for log attributes by @JoshuaKGoldberg in [#111077](https://github.com/getsentry/sentry/pull/111077)\n\n#### Metrics\n\n- Add drag-and-drop reordering to metric panels by @nsdeschenes in [#112671](https://github.com/getsentry/sentry/pull/112671)\n- Improve metrics refresh UI on narrow displays by @nsdeschenes in [#112787](https://github.com/getsentry/sentry/pull/112787)\n- Add equation support to tracemetrics by @wmak in [#112609](https://github.com/getsentry/sentry/pull/112609)\n- Add a metrics if-combinator by @wmak in [#111837](https://github.com/getsentry/sentry/pull/111837)\n- Default trace metrics aggregate to sum by @nsdeschenes in [#111516](https://github.com/getsentry/sentry/pull/111516)\n- Add refreshed trace metrics toolbar by @nsdeschenes in [#111066](https://github.com/getsentry/sentry/pull/111066)\n- Refresh metrics panels behind tracemetrics-ui-refresh flag by @nsdeschenes in [#110986](https://github.com/getsentry/sentry/pull/110986)\n- Add last seen, times seen, and attributes to metric dropdown by @nsdeschenes in [#110879](https://github.com/getsentry/sentry/pull/110879)\n- Add canary metrics for HMAC failures and unsigned Seer requests by @tnt-sentry in [#110640](https://github.com/getsentry/sentry/pull/110640)\n\n#### Monitors\n\n- Add onboarding modal for the new alerts/monitors pages by @malwilley in [#112694](https://github.com/getsentry/sentry/pull/112694)\n- Add info hint for diff-based issue detection by @mtopo27 in [#111698](https://github.com/getsentry/sentry/pull/111698)\n\n#### Nav\n\n- Adjust system alert layout by @natemoo-re in [#112821](https://github.com/getsentry/sentry/pull/112821)\n- Improve What's New panel and primary nav overlays by @JonasBa in [#112292](https://github.com/getsentry/sentry/pull/112292)\n- Add icon-only Feedback button to top navigation bar by @JonasBa in [#111647](https://github.com/getsentry/sentry/pull/111647)\n- Improve mobile navigation by @JonasBa in [#111549](https://github.com/getsentry/sentry/pull/111549)\n- Add cmd/ctrl+b nav toggle hotkey by @JonasBa in [#111503](https://github.com/getsentry/sentry/pull/111503)\n\n#### Notifications\n\n- Hook into the platform in the slack send_alert step for metric laerts by @Christinarlong in [#112189](https://github.com/getsentry/sentry/pull/112189)\n- Add notification data and renderer for metric alerts by @Christinarlong in [#111674](https://github.com/getsentry/sentry/pull/111674)\n- Add threading to notification service by @Christinarlong in [#110951](https://github.com/getsentry/sentry/pull/110951)\n\n#### Np\n\n- Adds Discord metric alert renderer by @GabeVillalobos in [#112420](https://github.com/getsentry/sentry/pull/112420)\n- Adds Discord issue renderer, updates Slack renderer tagging extraction by @GabeVillalobos in [#112079](https://github.com/getsentry/sentry/pull/112079)\n- Adds rough notification renderer for issue alerts, as a thin wrapper by @GabeVillalobos in [#110929](https://github.com/getsentry/sentry/pull/110929)\n- Adds notification platform skill for creation of new notifications, providers, and renderers by @GabeVillalobos in [#109754](https://github.com/getsentry/sentry/pull/109754)\n\n#### Occurrences On Eap\n\n- Implement EAP query for eventstore `get_events` by @shashjar in [#112423](https://github.com/getsentry/sentry/pull/112423)\n- Implement tagstore EAP query for group tag value iter by @shashjar in [#112122](https://github.com/getsentry/sentry/pull/112122)\n- Implement tagstore EAP query for group list tag value by @shashjar in [#111963](https://github.com/getsentry/sentry/pull/111963)\n- Implement tagstore EAP query for release tags by @shashjar in [#111952](https://github.com/getsentry/sentry/pull/111952)\n- Implement EAP query for tagstore group tag value count by @shashjar in [#111868](https://github.com/getsentry/sentry/pull/111868)\n- Implement EAP query for tagstore groups user counts (issue platform) by @shashjar in [#111863](https://github.com/getsentry/sentry/pull/111863)\n- Implement EAP query for tagstore groups user counts (errors) by @shashjar in [#111861](https://github.com/getsentry/sentry/pull/111861)\n- Implement errors EAP query for organization events tracing by @shashjar in [#111093](https://github.com/getsentry/sentry/pull/111093)\n- Implement tracing errors query by @shashjar in [#110720](https://github.com/getsentry/sentry/pull/110720)\n- Implement performance issues query for organization events tracing by @shashjar in [#110723](https://github.com/getsentry/sentry/pull/110723)\n\n#### Onboarding\n\n- Pre-populate repo selector with full repo list by @jaydgoss in [#112685](https://github.com/getsentry/sentry/pull/112685)\n- Add onboarding docs for Vercel AI ToolLoopAgent by @constantinius in [#112333](https://github.com/getsentry/sentry/pull/112333)\n- Gate SCM onboarding flow with useExperiment hook by @jaydgoss in [#112206](https://github.com/getsentry/sentry/pull/112206)\n- Add animated Sentry logo to SCM onboarding steps by @jaydgoss in [#112386](https://github.com/getsentry/sentry/pull/112386)\n- Add Litestar as a Python onboarding platform (FE) by @sentrivana in [#111607](https://github.com/getsentry/sentry/pull/111607)\n- Added Metrics to Unity by @bitsandfoxes in [#108118](https://github.com/getsentry/sentry/pull/108118)\n- Add Litestar as a Python onboarding platform (BE) by @sentrivana in [#111522](https://github.com/getsentry/sentry/pull/111522)\n- SCM project details step UI polish and analytics by @jaydgoss in [#111623](https://github.com/getsentry/sentry/pull/111623)\n- SCM platform features step UI polish and analytics by @jaydgoss in [#111529](https://github.com/getsentry/sentry/pull/111529)\n- Add logs onboarding for Elixir by @sl0thentr0py in [#110038](https://github.com/getsentry/sentry/pull/110038)\n- SCM connect step UI polish and analytics by @jaydgoss in [#111478](https://github.com/getsentry/sentry/pull/111478)\n- Sync feature selections from context to SetupDocs URL params by @jaydgoss in [#111334](https://github.com/getsentry/sentry/pull/111334)\n- Implement SCM project details step by @jaydgoss in [#111306](https://github.com/getsentry/sentry/pull/111306)\n- Implement SCM platform & features step by @jaydgoss in [#111160](https://github.com/getsentry/sentry/pull/111160)\n- Implement SCM_CONNECT step with provider connection and repo selection by @jaydgoss in [#110883](https://github.com/getsentry/sentry/pull/110883)\n\n#### Pipeline\n\n- Add completion view support to pipeline definitions by @evanpurkhiser in [#112603](https://github.com/getsentry/sentry/pull/112603)\n- Detect API-driven pipelines in existing callback URL by @evanpurkhiser in [#111455](https://github.com/getsentry/sentry/pull/111455)\n- Add OrganizationPipelineEndpoint for API-driven pipelines by @evanpurkhiser in [#111539](https://github.com/getsentry/sentry/pull/111539)\n- Add shared OAuth login step and redirect popup hook by @evanpurkhiser in [#111577](https://github.com/getsentry/sentry/pull/111577)\n- Add frontend pipeline framework by @evanpurkhiser in [#111423](https://github.com/getsentry/sentry/pull/111423)\n- Add API mode support to base Pipeline by @evanpurkhiser in [#111422](https://github.com/getsentry/sentry/pull/111422)\n\n#### Preprod\n\n- Add artifact_type field to Explore UI (EME-874) by @cameroncooke in [#113034](https://github.com/getsentry/sentry/pull/113034)\n- Add settings link to snapshot PR comments by @runningcode in [#112909](https://github.com/getsentry/sentry/pull/112909)\n- Store metrics artifact type as string in EAP [backend] (EME-874) by @cameroncooke in [#112905](https://github.com/getsentry/sentry/pull/112905)\n- Auto-filter installable:true when switching to Distribution view by @mtopo27 in [#112533](https://github.com/getsentry/sentry/pull/112533)\n- Add snapshot PR comments toggle to project settings by @runningcode in [#112362](https://github.com/getsentry/sentry/pull/112362)\n- Include authToken in ProjectPreprodUploadOptions by @lcian in [#112466](https://github.com/getsentry/sentry/pull/112466)\n- Add snapshot PR comment templates by @runningcode in [#112353](https://github.com/getsentry/sentry/pull/112353)\n- Check for actual build data when showing mobile builds tab by @NicoHinderling in [#112525](https://github.com/getsentry/sentry/pull/112525)\n- Sort insight diff by total potential savings by @mtopo27 in [#112476](https://github.com/getsentry/sentry/pull/112476)\n- Add snapshot details to admin info endpoint by @NicoHinderling in [#112482](https://github.com/getsentry/sentry/pull/112482)\n- Upgrade admin panel's \"rerun analysis\" action to support batch (up to 100) by @NicoHinderling in [#112481](https://github.com/getsentry/sentry/pull/112481)\n- Add snapshot auto-approval for repeated PR builds by @NicoHinderling in [#112421](https://github.com/getsentry/sentry/pull/112421)\n- Add settings link to build distribution PR comments by @runningcode in [#112366](https://github.com/getsentry/sentry/pull/112366)\n- Add installable attribute to EAP alias mappings by @mtopo27 in [#112363](https://github.com/getsentry/sentry/pull/112363)\n- Split Mobile Builds settings into tabbed interface by @mtopo27 in [#112151](https://github.com/getsentry/sentry/pull/112151)\n- Register feature flag and project option for snapshot PR comments by @runningcode in [#112100](https://github.com/getsentry/sentry/pull/112100)\n- Add snapshot approval UI in header by @NicoHinderling in [#111977](https://github.com/getsentry/sentry/pull/111977)\n- Add approval API endpoint and approval info in snapshot response by @NicoHinderling in [#111976](https://github.com/getsentry/sentry/pull/111976)\n- Filter settings page builds by display type by @NicoHinderling in [#112046](https://github.com/getsentry/sentry/pull/112046)\n- Create NEEDS_APPROVAL records in status check tasks by @NicoHinderling in [#111975](https://github.com/getsentry/sentry/pull/111975)\n- Delete snapshot objectstore data on artifact deletion by @NicoHinderling in [#111972](https://github.com/getsentry/sentry/pull/111972)\n- Add app identifier to size analysis alert notifications by @mtopo27 in [#111994](https://github.com/getsentry/sentry/pull/111994)\n- Add triggered condition section for size analysis issues by @mtopo27 in [#111978](https://github.com/getsentry/sentry/pull/111978)\n- Add value, conditions, and config to size analysis evidence_data by @mtopo27 in [#111923](https://github.com/getsentry/sentry/pull/111923)\n- Add shadow taskbroker dispatch for launchpad integration by @NicoHinderling in [#110602](https://github.com/getsentry/sentry/pull/110602)\n- Use sequential (n-1) comparisons for size analysis diff monitors by @mtopo27 in [#111482](https://github.com/getsentry/sentry/pull/111482)\n- Improve Slack alert messages for size analysis monitors by @mtopo27 in [#111660](https://github.com/getsentry/sentry/pull/111660)\n- Add preprod_artifact webhooks to frontend settings UI by @cameroncooke in [#111475](https://github.com/getsentry/sentry/pull/111475)\n- Add build_distribution.completed webhook for Sentry Apps by @cameroncooke in [#111474](https://github.com/getsentry/sentry/pull/111474)\n- Add Insight Diff section to issue detail by @mtopo27 in [#111357](https://github.com/getsentry/sentry/pull/111357)\n- Add size_analysis.completed webhook for Sentry Apps by @cameroncooke in [#111473](https://github.com/getsentry/sentry/pull/111473)\n- Register preprod_artifact webhook resource and event types by @cameroncooke in [#111472](https://github.com/getsentry/sentry/pull/111472)\n- Show detector section in sidebar for size analysis issues by @mtopo27 in [#111583](https://github.com/getsentry/sentry/pull/111583)\n- Add auto-expansion of a section on arrow key navigation by @rbro112 in [#111536](https://github.com/getsentry/sentry/pull/111536)\n- Link artifact ID tags to build detail page by @mtopo27 in [#111383](https://github.com/getsentry/sentry/pull/111383)\n- Support absolute detectors from single-build path by @chromy in [#111141](https://github.com/getsentry/sentry/pull/111141)\n- Show processing state for snapshot comparisons by @NicoHinderling in [#111355](https://github.com/getsentry/sentry/pull/111355)\n- Show original filename tooltip on renamed snapshots by @NicoHinderling in [#111325](https://github.com/getsentry/sentry/pull/111325)\n- Add solo/diff toggle button to snapshot dev tools by @NicoHinderling in [#111318](https://github.com/getsentry/sentry/pull/111318)\n- Add group support to snapshots frontend by @rbro112 in [#110942](https://github.com/getsentry/sentry/pull/110942)\n- Reduce snapshots retention to 30 days by @lcian in [#110988](https://github.com/getsentry/sentry/pull/110988)\n- Add Datadog metrics for snapshot upload and diff lifecycle by @NicoHinderling in [#111024](https://github.com/getsentry/sentry/pull/111024)\n- Add group_id to all autofix.* events by @chromy in [#110943](https://github.com/getsentry/sentry/pull/110943)\n- Add git metadata and artifact IDs as tags for size analysis issues by @mtopo27 in [#110854](https://github.com/getsentry/sentry/pull/110854)\n\n#### Profiling\n\n- New stack trace in span profile details by @scttcper in [#112559](https://github.com/getsentry/sentry/pull/112559)\n- Use spans data source for profiles search bar in EAP mode by @mjq in [#111772](https://github.com/getsentry/sentry/pull/111772)\n\n#### Repos\n\n- Activate repo webhook and syncing task for GHE by @wedamija in [#112247](https://github.com/getsentry/sentry/pull/112247)\n- Add audit logs when auto syncing repositories take 2 by @wedamija in [#112378](https://github.com/getsentry/sentry/pull/112378)\n- Add task to periodically sync repos from github by @wedamija in [#112043](https://github.com/getsentry/sentry/pull/112043)\n- Add routings for github `installation_repositories` webhook by @wedamija in [#112226](https://github.com/getsentry/sentry/pull/112226)\n- Add framework for scheduling tasks from a queryset on a recurring basis by @wedamija in [#111958](https://github.com/getsentry/sentry/pull/111958)\n\n#### Scm\n\n- Add `get_git_commit` and `get_tree` for GitLab by @billyvg in [#111363](https://github.com/getsentry/sentry/pull/111363)\n- Allow GitLab repos to be selected for Seer by @billyvg in [#111446](https://github.com/getsentry/sentry/pull/111446)\n- Show repos from other/unknown providers in the treeview component by @ryan953 in [#111280](https://github.com/getsentry/sentry/pull/111280)\n- 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)\n- Add `get_archive_link` to SCM API by @billyvg in [#110987](https://github.com/getsentry/sentry/pull/110987)\n\n#### Scraps\n\n- Add slot component by @JonasBa in [#112032](https://github.com/getsentry/sentry/pull/112032)\n- Add indeterminate loader (again) by @natemoo-re in [#112138](https://github.com/getsentry/sentry/pull/112138)\n- Add hotkey module by @natemoo-re in [#111444](https://github.com/getsentry/sentry/pull/111444)\n- Add StatusIndicator component by @JonasBa in [#110878](https://github.com/getsentry/sentry/pull/110878)\n\n#### Search\n\n- Add experimental \"recommended\" issue sort by @mrduncan in [#111043](https://github.com/getsentry/sentry/pull/111043)\n- Switch filter operator from contains to is on dropdown selection by @nsdeschenes in [#111668](https://github.com/getsentry/sentry/pull/111668)\n\n#### Seer\n\n- Replace LLM triage with Explorer agent in night shift by @trevor-e in [#112984](https://github.com/getsentry/sentry/pull/112984)\n- Add Sentry metrics to night shift pipeline by @trevor-e in [#112967](https://github.com/getsentry/sentry/pull/112967)\n- Add ViewerContext authentication for Seer callbacks by @azulus in [#112844](https://github.com/getsentry/sentry/pull/112844)\n- Add seer-run-id-in-slack feature flag by @alexsohn1126 in [#112918](https://github.com/getsentry/sentry/pull/112918)\n- Add run ID to Seer Explorer Slack footer by @alexsohn1126 in [#112835](https://github.com/getsentry/sentry/pull/112835)\n- Add Seer admin page with night shift trigger by @trevor-e in [#112822](https://github.com/getsentry/sentry/pull/112822)\n- Re-land night shift run record writes during triage by @trevor-e in [#112769](https://github.com/getsentry/sentry/pull/112769)\n- Re-land night shift run tracking models with db_constraint=False by @trevor-e in [#112768](https://github.com/getsentry/sentry/pull/112768)\n- Add lightweight supergroups backfill task by @yuvmen in [#112507](https://github.com/getsentry/sentry/pull/112507)\n- Read Seer project preferences from Sentry DB in Sentry endpoints by @srest2021 in [#111594](https://github.com/getsentry/sentry/pull/111594)\n- Thread short-lived API token to Explorer MCP tools by @azulus in [#112179](https://github.com/getsentry/sentry/pull/112179)\n- Add dual-read helpers for Seer project preferences from Sentry DB by @srest2021 in [#111591](https://github.com/getsentry/sentry/pull/111591)\n- Distinguish legacy vs explorer autofix in agent_handoff initiator by @JoshFerge in [#112575](https://github.com/getsentry/sentry/pull/112575)\n- Add candidate issue selection to night shift by @trevor-e in [#112521](https://github.com/getsentry/sentry/pull/112521)\n- Record agent_handoff analytics in launch_coding_agents_for_run by @JoshFerge in [#112516](https://github.com/getsentry/sentry/pull/112516)\n- Add rca_source to supergroup queries with feature flag gating by @yuvmen in [#112436](https://github.com/getsentry/sentry/pull/112436)\n- Show the Seer settings link even when hideAiFeatures is enabled by @ryan953 in [#112510](https://github.com/getsentry/sentry/pull/112510)\n- Add coding_agent field to agent handoff analytics by @JoshFerge in [#112491](https://github.com/getsentry/sentry/pull/112491)\n- Add Night Shift nightly autofix cron scaffolding by @trevor-e in [#112429](https://github.com/getsentry/sentry/pull/112429)\n- Add lightweight RCA clustering endpoint integration by @yuvmen in [#112229](https://github.com/getsentry/sentry/pull/112229)\n- Enable sorting seer autofix project list by @ryan953 in [#112250](https://github.com/getsentry/sentry/pull/112250)\n- Add widget-level LLM context to dashboard widgets by @Mihir-Mavalankar in [#112267](https://github.com/getsentry/sentry/pull/112267)\n- 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)\n- Add the stopping-point field to project-specific seer settings by @ryan953 in [#112232](https://github.com/getsentry/sentry/pull/112232)\n- Wrap the seat-based wizard in a feature flag by @ryan953 in [#112212](https://github.com/getsentry/sentry/pull/112212)\n- Add preamble to structured page context markdown by @Mihir-Mavalankar in [#112235](https://github.com/getsentry/sentry/pull/112235)\n- Fall back to contextvar ViewerContext for Seer requests by @gricha in [#112221](https://github.com/getsentry/sentry/pull/112221)\n- Implement the dropdown to save defaultAutomatedRunStoppingPoint by @ryan953 in [#112211](https://github.com/getsentry/sentry/pull/112211)\n- Send structured LLMContext JSON as on_page_context by @Mihir-Mavalankar in [#112200](https://github.com/getsentry/sentry/pull/112200)\n- Improve the loading state of the Seer SCM overview area by @ryan953 in [#112054](https://github.com/getsentry/sentry/pull/112054)\n- Convert structured LLMContext JSON to markdown for on_page_context by @Mihir-Mavalankar in [#112181](https://github.com/getsentry/sentry/pull/112181)\n- Add feature flag and register Dashboard in LLM context tree by @Mihir-Mavalankar in [#111973](https://github.com/getsentry/sentry/pull/111973)\n- Send page_name in explorer chat requests from frontend by @Mihir-Mavalankar in [#112124](https://github.com/getsentry/sentry/pull/112124)\n- Send page_name in explorer chat requests by @Mihir-Mavalankar in [#112065](https://github.com/getsentry/sentry/pull/112065)\n- Add issue summary experimental flag by @JoshFerge in [#112115](https://github.com/getsentry/sentry/pull/112115)\n- Add structured LLM context system for Seer Explorer by @Mihir-Mavalankar in [#111554](https://github.com/getsentry/sentry/pull/111554)\n- 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)\n- Seer Autofix Settings Overview page by @ryan953 in [#110758](https://github.com/getsentry/sentry/pull/110758)\n- Update default triggers for Code Review by @ryan953 in [#111911](https://github.com/getsentry/sentry/pull/111911)\n- Add RPC interface for retrieving the installation_id by @cmanallen in [#111893](https://github.com/getsentry/sentry/pull/111893)\n- Update Seer Settings to let people pick their preferred default agent for Autofix by @ryan953 in [#111366](https://github.com/getsentry/sentry/pull/111366)\n- Add trigger_explorer method to SeerOperator by @alexsohn1126 in [#109675](https://github.com/getsentry/sentry/pull/109675)\n- Seer Code Review Overview section by @ryan953 in [#111593](https://github.com/getsentry/sentry/pull/111593)\n- Seer SCM Overview by @ryan953 in [#111343](https://github.com/getsentry/sentry/pull/111343)\n- Rename SCM seer settings tab to Repositories by @ryan953 in [#111538](https://github.com/getsentry/sentry/pull/111538)\n- Add dual-write for Seer project preferences to ProjectOptions and SeerProjectRepository by @srest2021 in [#110704](https://github.com/getsentry/sentry/pull/110704)\n- Add feature-flags to control seer onboarding pages by @ryan953 in [#111277](https://github.com/getsentry/sentry/pull/111277)\n- Iterate on the Seer Trial page styles by @ryan953 in [#111275](https://github.com/getsentry/sentry/pull/111275)\n- Add SeerExplorerResponse notification data and Slack renderer by @alexsohn1126 in [#109317](https://github.com/getsentry/sentry/pull/109317)\n- Add SeerOperatorExplorerCache for completion hook payloads by @alexsohn1126 in [#109238](https://github.com/getsentry/sentry/pull/109238)\n- Show Upgrade Banner when on Legacy/Beta Seer by @ajay-sentry in [#111056](https://github.com/getsentry/sentry/pull/111056)\n- Add Explorer methods to SeerEntrypoint protocol by @alexsohn1126 in [#109231](https://github.com/getsentry/sentry/pull/109231)\n- Use Seer model_used response field for seer_model on GroupHashMetadata by @yuvmen in [#111047](https://github.com/getsentry/sentry/pull/111047)\n- Expose defaultCodingAgent and defaultCodingAgentIntegrationId org fields by @ryan953 in [#111051](https://github.com/getsentry/sentry/pull/111051)\n- Schedule context engine indexing hourly with load spreading by @Mihir-Mavalankar in [#110886](https://github.com/getsentry/sentry/pull/110886)\n- Add a message to seer settings when Gen AI Features are disabled by @ryan953 in [#110947](https://github.com/getsentry/sentry/pull/110947)\n- Add logging to lightweight RCA trigger flow by @yuvmen in [#110930](https://github.com/getsentry/sentry/pull/110930)\n- Add links to provider integration pages from scm treeview by @ryan953 in [#110890](https://github.com/getsentry/sentry/pull/110890)\n\n#### Settings\n\n- Move Repositories sidebar link into the new Integrations section by @ryan953 in [#112718](https://github.com/getsentry/sentry/pull/112718)\n- Add Integrations nav section with MCP & CLI page by @dcramer in [#111419](https://github.com/getsentry/sentry/pull/111419)\n\n#### Slack\n\n- Support unfurling Explore Metrics URLs in Slack by @DominikB2014 in [#112706](https://github.com/getsentry/sentry/pull/112706)\n- Add Slack Agent DM and assistant thread support for Seer Explorer by @leeandher in [#112493](https://github.com/getsentry/sentry/pull/112493)\n- Support unfurling Explore Logs URLs in Slack by @DominikB2014 in [#112677](https://github.com/getsentry/sentry/pull/112677)\n- Pass display type from Explore URL to chartcuterie by @DominikB2014 in [#112620](https://github.com/getsentry/sentry/pull/112620)\n- Pass timeseries data directly to chartcuterie for Explore unfurls by @DominikB2014 in [#112585](https://github.com/getsentry/sentry/pull/112585)\n- Unfurl Explore Traces URLs with chart previews by @DominikB2014 in [#112020](https://github.com/getsentry/sentry/pull/112020)\n- Add frontend pipeline step for Slack integration setup by @evanpurkhiser in [#112417](https://github.com/getsentry/sentry/pull/112417)\n- Add tags to Slack event endpoint for observability by @DominikB2014 in [#112023](https://github.com/getsentry/sentry/pull/112023)\n- Implement process_mention_for_slack task for Explorer by @alexsohn1126 in [#109733](https://github.com/getsentry/sentry/pull/109733)\n- Add Explorer support to SlackEntrypoint by @alexsohn1126 in [#109569](https://github.com/getsentry/sentry/pull/109569)\n- Add SlackMentionHandler for parsing @mentions by @alexsohn1126 in [#109384](https://github.com/getsentry/sentry/pull/109384)\n- Handle app_mention events for Seer Explorer by @alexsohn1126 in [#109335](https://github.com/getsentry/sentry/pull/109335)\n- Add staging app install button to Slack integration page by @alexsohn1126 in [#110787](https://github.com/getsentry/sentry/pull/110787)\n- Add slack api methods for thread history and reactions by @leeandher in [#107785](https://github.com/getsentry/sentry/pull/107785)\n- Add slack-staging-app feature flag and options by @alexsohn1126 in [#110766](https://github.com/getsentry/sentry/pull/110766)\n\n#### Snapshots\n\n- Add snapshots list table to Releases page by @NicoHinderling in [#112819](https://github.com/getsentry/sentry/pull/112819)\n- Show diff_threshold in snapshot detail header by @NicoHinderling in [#112740](https://github.com/getsentry/sentry/pull/112740)\n- Run snapshot comparisons when uploads received out-of-order by @rbro112 in [#112474](https://github.com/getsentry/sentry/pull/112474)\n- Add deletion path for endpoint by @NicoHinderling in [#111974](https://github.com/getsentry/sentry/pull/111974)\n- Set nice UI for left side of header by @NicoHinderling in [#111822](https://github.com/getsentry/sentry/pull/111822)\n- Wire up status check setting fields into snapshot status_check task by @NicoHinderling in [#111798](https://github.com/getsentry/sentry/pull/111798)\n- Add status check settings frontend and flag saving by @NicoHinderling in [#111794](https://github.com/getsentry/sentry/pull/111794)\n- Backend changes to make renames use SnapshotDiffPair by @NicoHinderling in [#111332](https://github.com/getsentry/sentry/pull/111332)\n- Add L/R arrow key support for navigating variants by @rbro112 in [#111227](https://github.com/getsentry/sentry/pull/111227)\n- Make snapshots support group param by @rbro112 in [#110941](https://github.com/getsentry/sentry/pull/110941)\n\n#### Snuba\n\n- 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)\n- Add metric for Snuba RPC read timeout errors by @kylemumma in [#111215](https://github.com/getsentry/sentry/pull/111215)\n\n#### Source Map Config Issues\n\n- Filtering out config issues from default issues stream by @Abdkhan14 in [#113031](https://github.com/getsentry/sentry/pull/113031)\n- Adding stats to group row ui by @Abdkhan14 in [#113048](https://github.com/getsentry/sentry/pull/113048)\n- Updating title and subtitle by @Abdkhan14 in [#112952](https://github.com/getsentry/sentry/pull/112952)\n- Adding copy markdown button to troubl… by @Abdkhan14 in [#112943](https://github.com/getsentry/sentry/pull/112943)\n- Making source map doc links platform … by @Abdkhan14 in [#112828](https://github.com/getsentry/sentry/pull/112828)\n- Adding Sentry Configuration nav item under issues by @Abdkhan14 in [#112811](https://github.com/getsentry/sentry/pull/112811)\n- Implementing Impact section in issue details by @Abdkhan14 in [#112782](https://github.com/getsentry/sentry/pull/112782)\n- Implementing problem, diagnosis and troubleshooting section designs by @Abdkhan14 in [#112393](https://github.com/getsentry/sentry/pull/112393)\n- Logging extra data on occurrence trigger for UI validation by @Abdkhan14 in [#112091](https://github.com/getsentry/sentry/pull/112091)\n\n#### Source Map Issues\n\n- Supporting count_unique aggregation on eap processing errors by @Abdkhan14 in [#112385](https://github.com/getsentry/sentry/pull/112385)\n- Adding group id and title as attr to processing error trace item by @Abdkhan14 in [#112387](https://github.com/getsentry/sentry/pull/112387)\n\n#### Spans\n\n- Enforce max segment bytes during ingestion by @lvthanh03 in [#112561](https://github.com/getsentry/sentry/pull/112561)\n- Skip enrichment when message contains skip_enrichment=True flag by @lvthanh03 in [#112024](https://github.com/getsentry/sentry/pull/112024)\n- Flush oversized segments in chunks by @lvthanh03 in [#111820](https://github.com/getsentry/sentry/pull/111820)\n\n#### Stacktrace\n\n- Wire SCM source context into new stack trace by @scttcper in [#111770](https://github.com/getsentry/sentry/pull/111770)\n- Add frontend hook and UI for on-demand SCM source context by @mujacica in [#110327](https://github.com/getsentry/sentry/pull/110327)\n\n#### Supergroups\n\n- Supergroup -> issue group by @cvxluo in [#112990](https://github.com/getsentry/sentry/pull/112990)\n- Use issues search to highlight supergroup drawer issues by @scttcper in [#112640](https://github.com/getsentry/sentry/pull/112640)\n- Add checkbox to supergroup rows for bulk selection by @scttcper in [#112301](https://github.com/getsentry/sentry/pull/112301)\n- Filter supergroups to unresolved issues by @scttcper in [#112383](https://github.com/getsentry/sentry/pull/112383)\n- Show filtered vs total events in supergroup chart by @scttcper in [#112215](https://github.com/getsentry/sentry/pull/112215)\n- Add status filter to supergroups by-group endpoint by @scttcper in [#112216](https://github.com/getsentry/sentry/pull/112216)\n- Smarter group loading and match highlighting by @scttcper in [#111927](https://github.com/getsentry/sentry/pull/111927)\n- Add feedback component and experimental badge to drawer by @scttcper in [#111859](https://github.com/getsentry/sentry/pull/111859)\n- Add group id to supergroup lookup endpoint by @cvxluo in [#111265](https://github.com/getsentry/sentry/pull/111265)\n\n#### Support\n\n- Add Intercom support widget frontend integration by @sentaur-athena in [#108409](https://github.com/getsentry/sentry/pull/108409)\n- Add Intercom backend for identity verification by @sentaur-athena in [#108408](https://github.com/getsentry/sentry/pull/108408)\n\n#### Taskworker\n\n- Add ViewerContext propagation via context hooks by @gricha in [#112217](https://github.com/getsentry/sentry/pull/112217)\n- Update Taskbroker / Taskworker Client to Support Push Mode by @george-sentry in [#112629](https://github.com/getsentry/sentry/pull/112629)\n\n#### Text\n\n- Add render prop pattern to Text component by @JonasBa in [#110926](https://github.com/getsentry/sentry/pull/110926)\n- Add variant=\"inherit\" to Text primitive by @JonasBa in [#110945](https://github.com/getsentry/sentry/pull/110945)\n\n#### Tracemetrics\n\n- Add group by selector to equations by @narsaynorath in [#113051](https://github.com/getsentry/sentry/pull/113051)\n- Enable aggregate panel to show equation result by @narsaynorath in [#112966](https://github.com/getsentry/sentry/pull/112966)\n- Do not allow deletion of metrics used in equations by @narsaynorath in [#112893](https://github.com/getsentry/sentry/pull/112893)\n- Disable the samples panel for equations by @narsaynorath in [#112959](https://github.com/getsentry/sentry/pull/112959)\n- Use reference map to render equations by @narsaynorath in [#112817](https://github.com/getsentry/sentry/pull/112817)\n- Add column sorting to samples table by @nsdeschenes in [#112577](https://github.com/getsentry/sentry/pull/112577)\n- Allocate stable labels for metric queries by @narsaynorath in [#112675](https://github.com/getsentry/sentry/pull/112675)\n- Add skeleton for equation builder in Explore by @narsaynorath in [#112504](https://github.com/getsentry/sentry/pull/112504)\n- Bypass metric field validation for equations by @narsaynorath in [#112479](https://github.com/getsentry/sentry/pull/112479)\n- Refresh the metrics refresh by @nsdeschenes in [#111920](https://github.com/getsentry/sentry/pull/111920)\n- Add new and reorder columns by @nsdeschenes in [#112027](https://github.com/getsentry/sentry/pull/112027)\n- Add feature flag for equations in metrics explorer by @narsaynorath in [#112025](https://github.com/getsentry/sentry/pull/112025)\n- Update ArithmeticBuilder to allow for REFERENCE tokens by @narsaynorath in [#111956](https://github.com/getsentry/sentry/pull/111956)\n- Display metric name in aggregates table when no group by selected by @nsdeschenes in [#111513](https://github.com/getsentry/sentry/pull/111513)\n- Add trace metric bytes DataCategory to stats page by @k-fish in [#111431](https://github.com/getsentry/sentry/pull/111431)\n- Show approximation for tracemetrics total count by @narsaynorath in [#111356](https://github.com/getsentry/sentry/pull/111356)\n- Add unreal, unity to supported platforms by @narsaynorath in [#111361](https://github.com/getsentry/sentry/pull/111361)\n- Add referrer for raw count normal extrapolated request by @narsaynorath in [#111335](https://github.com/getsentry/sentry/pull/111335)\n- Show all attributes in group by for multi metrics by @narsaynorath in [#111012](https://github.com/getsentry/sentry/pull/111012)\n- Add tracemetrics to dashboard global filters by @k-fish in [#110781](https://github.com/getsentry/sentry/pull/110781)\n\n#### Ui\n\n- Migrate jest from babel-jest to @swc/jest by @scttcper in [#112895](https://github.com/getsentry/sentry/pull/112895)\n- Port eslint-plugin-sentry to this repo by @scttcper in [#112081](https://github.com/getsentry/sentry/pull/112081)\n\n#### Viewer Context\n\n- Restore ViewerContext from JWT in middleware by @gricha in [#112875](https://github.com/getsentry/sentry/pull/112875)\n- Add JWT encode/decode for ViewerContext propagation by @gricha in [#112765](https://github.com/getsentry/sentry/pull/112765)\n\n#### Workflow\n\n- Add index on GroupOpenPeriodActivity.date_added by @kcons in [#111968](https://github.com/getsentry/sentry/pull/111968)\n- Make OrganizationIncidentDetailsEndpoint.get support single-written workflows by @kcons in [#111588](https://github.com/getsentry/sentry/pull/111588)\n- Add flag to enable workflow engine version of ProjectRulesEndpoint.get by @kcons in [#111230](https://github.com/getsentry/sentry/pull/111230)\n\n#### Workflow Engine\n\n- Add pagination captions to list views by @malwilley in [#112857](https://github.com/getsentry/sentry/pull/112857)\n- Only link workflows to the IssueStream by @saponifi3d in [#112276](https://github.com/getsentry/sentry/pull/112276)\n- Action Filter cache invalidation by @saponifi3d in [#111060](https://github.com/getsentry/sentry/pull/111060)\n- Add a cache for ActionFilters by @saponifi3d in [#110507](https://github.com/getsentry/sentry/pull/110507)\n\n#### Workflows\n\n- Start using the action filters cache by @klochek in [#111817](https://github.com/getsentry/sentry/pull/111817)\n- Make thresholds in prune_old_fire_history options by @kcons in [#111575](https://github.com/getsentry/sentry/pull/111575)\n- Add periodic WorkflowFireHistory backlog clean-up task by @kcons in [#111458](https://github.com/getsentry/sentry/pull/111458)\n- Add flag to enable workflow engine version of ProjectRuleDetailsEndpoint.get by @kcons in [#111330](https://github.com/getsentry/sentry/pull/111330)\n- Add index on WorkflowFireHistory.date_added by @kcons in [#111026](https://github.com/getsentry/sentry/pull/111026)\n- Add doc to clarify the current implementation strategy of the API backport project by @kcons in [#111006](https://github.com/getsentry/sentry/pull/111006)\n\n#### Other\n\n- (ai-detected-issues) Add new AI detected issue group types by @roggenkemper in [#112848](https://github.com/getsentry/sentry/pull/112848)\n- (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)\n- (auto-save) Restore focus to field after auto-save completes by @TkDodo in [#110834](https://github.com/getsentry/sentry/pull/110834)\n- (claude) Default workspace_name to 'default' by @sehr-m in [#110950](https://github.com/getsentry/sentry/pull/110950)\n- (claude integration) Return full text block alongside URL by @sehr-m in [#110953](https://github.com/getsentry/sentry/pull/110953)\n- (command-palette) Add feedback button and preload image in empty state by @JonasBa in [#111555](https://github.com/getsentry/sentry/pull/111555)\n- (core-ui) Add ClearButton to CompositeSelect by @nsdeschenes in [#111706](https://github.com/getsentry/sentry/pull/111706)\n- (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)\n- (data-forwarding) Migrate setup form to useScrapsForm by @JonasBa in [#108805](https://github.com/getsentry/sentry/pull/108805)\n- (debug-files) Show console symbol sources for orgs with console access by @JoshuaMoelans in [#109781](https://github.com/getsentry/sentry/pull/109781)\n- (deletions) Add CLI command to list and run scheduled deletions by @leeandher in [#112018](https://github.com/getsentry/sentry/pull/112018)\n- (dynamic-grouping) Show supergroup membership on issues stream by @scttcper in [#111249](https://github.com/getsentry/sentry/pull/111249)\n- (eventstore) Implement `get_event_by_id` as EAP query by @shashjar in [#110925](https://github.com/getsentry/sentry/pull/110925)\n- (explorer) Add relevant repos to explorer by @sehr-m in [#111046](https://github.com/getsentry/sentry/pull/111046)\n- (feature-showcase) Redesign and rewrite FeatureTourModal as FeatureShowcase by @malwilley in [#112532](https://github.com/getsentry/sentry/pull/112532)\n- (features) Add data browsing widget unfurl feature flag by @DominikB2014 in [#111897](https://github.com/getsentry/sentry/pull/111897)\n- (feedback) Redirect to the feedback details page when given a projectName & eventId by @ryan953 in [#111931](https://github.com/getsentry/sentry/pull/111931)\n- (github-enterprise) Route installation_repositories to control silo by @wedamija in [#112245](https://github.com/getsentry/sentry/pull/112245)\n- (identity) Add OAuth2ApiStep for API-driven OAuth2 flows by @evanpurkhiser in [#111578](https://github.com/getsentry/sentry/pull/111578)\n- (incidents) Add is_metric_subscription_allowed; use it by @kcons in [#112241](https://github.com/getsentry/sentry/pull/112241)\n- (issue-detection) Register ai-issue-detection feature flag by @roggenkemper in [#113062](https://github.com/getsentry/sentry/pull/113062)\n- (issueList) Add group_ids to issues.viewed by @mrduncan in [#111551](https://github.com/getsentry/sentry/pull/111551)\n- (llm-detection) Accept additional_attributes param in get_trace_waterfall by @nora-shap in [#112239](https://github.com/getsentry/sentry/pull/112239)\n- (llm-detector) Add beta badge for AI detected issues by @roggenkemper in [#112686](https://github.com/getsentry/sentry/pull/112686)\n- (metrcis) Add formula -if combinators by @wmak in [#112016](https://github.com/getsentry/sentry/pull/112016)\n- (metric-issues) Use placeholder loaders for attribute comparison… by @malwilley in [#111676](https://github.com/getsentry/sentry/pull/111676)\n- (middleware) Enable viewer context middleware by default by @gricha in [#112293](https://github.com/getsentry/sentry/pull/112293)\n- (native) Log symbolicator response on empty thread list by @jjbayer in [#110976](https://github.com/getsentry/sentry/pull/110976)\n- (notificaitons) Add threading to platform providers by @Christinarlong in [#109248](https://github.com/getsentry/sentry/pull/109248)\n- (notification) Simplify renderer and data to be already processed text by @Christinarlong in [#112182](https://github.com/getsentry/sentry/pull/112182)\n- (oauth) Show public app device flow URLs by @dcramer in [#111655](https://github.com/getsentry/sentry/pull/111655)\n- (objectstore) Enable token generator in objectstore client by @matt-codecov in [#105707](https://github.com/getsentry/sentry/pull/105707)\n- (pageframe) Adopt `TopBar.Slot` in `Layout.Title` by @natemoo-re in [#112515](https://github.com/getsentry/sentry/pull/112515)\n- (perforce) Implement get_file() for source context by @mujacica in [#111768](https://github.com/getsentry/sentry/pull/111768)\n- (performance) Add search support to EAP txn summary sample events by @mjq in [#111349](https://github.com/getsentry/sentry/pull/111349)\n- (project) Increase securityTokenHeader max_length from 20 to 64 by @sentry-junior in [#112483](https://github.com/getsentry/sentry/pull/112483)\n- (prompts) Register android tombstones onboarding prompt by @romtsn in [#112477](https://github.com/getsentry/sentry/pull/112477)\n- (refactor) Move common exceptions out of the discover db by @manessaraj in [#111713](https://github.com/getsentry/sentry/pull/111713)\n- (releases) Cache calls to compare-commits by @armenzg in [#112494](https://github.com/getsentry/sentry/pull/112494)\n- (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)\n- (replays) Make bulk delete API endpoints public by @billyvg in [#111679](https://github.com/getsentry/sentry/pull/111679)\n- (searchbar) Sort value suggestions by fuzzy match relevance by @scttcper in [#111037](https://github.com/getsentry/sentry/pull/111037)\n- (seer agent) Add integration button to handoff dropdown by @sehr-m in [#111499](https://github.com/getsentry/sentry/pull/111499)\n- (seer-slack) Check channel type for correct history scope before API call by @alexsohn1126 in [#112371](https://github.com/getsentry/sentry/pull/112371)\n- (sentry apps) Add circuit breaker into webhook code by @Christinarlong in [#111723](https://github.com/getsentry/sentry/pull/111723)\n- (spans-migration) Add a flag bypass for self hosted migrations by @nikkikapadia in [#111150](https://github.com/getsentry/sentry/pull/111150)\n- (symbolicator) Pass objectstore token to symbolicator by @matt-codecov in [#112058](https://github.com/getsentry/sentry/pull/112058)\n- (test) Add `it.isKnownFlake` for opt-in stress-testing flaky Jest fixes by @JoshuaKGoldberg in [#111860](https://github.com/getsentry/sentry/pull/111860)\n- (timeseries) Add 6h interval by @wmak in [#112678](https://github.com/getsentry/sentry/pull/112678)\n- (trace) Make trace ID clickable in span attributes table by @matejminar in [#111395](https://github.com/getsentry/sentry/pull/111395)\n- (uptime) Move suggest assertions button to verification section by @jaydgoss in [#109106](https://github.com/getsentry/sentry/pull/109106)\n- (usageStats) Add new `no_parent_span` client discard reason by @Lms24 in [#112937](https://github.com/getsentry/sentry/pull/112937)\n- (utils) Add ContextPropagatingThreadPoolExecutor and S016 lint rule by @gricha in [#111451](https://github.com/getsentry/sentry/pull/111451)\n- (wmak) Use non strings in group by by @wmak in [#111753](https://github.com/getsentry/sentry/pull/111753)\n- Add referrer tag to snuba timeout metric by @kylemumma in [#112826](https://github.com/getsentry/sentry/pull/112826)\n- Add repo indexing job by @shruthilayaj in [#112136](https://github.com/getsentry/sentry/pull/112136)\n- Add ViewerContext middleware for API requests by @gricha in [#112172](https://github.com/getsentry/sentry/pull/112172)\n- Add ViewerContext dataclass and contextvar module by @gricha in [#112156](https://github.com/getsentry/sentry/pull/112156)\n- Add EAP double read for release health data by @noahsmartin in [#111229](https://github.com/getsentry/sentry/pull/111229)\n- Let SCM platform support self-hosted GitLab by @jacquev6 in [#111061](https://github.com/getsentry/sentry/pull/111061)\n- Remove Legacy Seer toggle BE code and update preflight checks by @ajay-sentry in [#111049](https://github.com/getsentry/sentry/pull/111049)\n- Add `seer-gitlab-support` feature flag by @billyvg in [#110659](https://github.com/getsentry/sentry/pull/110659)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Serialize activities correctly by @ceorourke in [#112998](https://github.com/getsentry/sentry/pull/112998)\n- Add Slack Staging action type to new alert builder by @malwilley in [#112886](https://github.com/getsentry/sentry/pull/112886)\n- Link to issue page instead of specific event in automation history by @malwilley in [#112942](https://github.com/getsentry/sentry/pull/112942)\n- Negative margin was too large by @saponifi3d in [#112946](https://github.com/getsentry/sentry/pull/112946)\n- Handle missing resolve condition in serializer by @kcons in [#112760](https://github.com/getsentry/sentry/pull/112760)\n- Surface API errors for alert form test notifications by @malwilley in [#112818](https://github.com/getsentry/sentry/pull/112818)\n- Fix bug with github action settings by @saponifi3d in [#112742](https://github.com/getsentry/sentry/pull/112742)\n- Fix issue where we showed the first triggered condition by @saponifi3d in [#112746](https://github.com/getsentry/sentry/pull/112746)\n- Add support for an empty conditionGroup in the API for the Error detector by @saponifi3d in [#112641](https://github.com/getsentry/sentry/pull/112641)\n- 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)\n- Fix issue with manual cron monitor selected project by @malwilley in [#112602](https://github.com/getsentry/sentry/pull/112602)\n- Selected project state should react to form changes by @malwilley in [#112484](https://github.com/getsentry/sentry/pull/112484)\n- Gracefully handle missing actions in Alerts UI by @malwilley in [#112070](https://github.com/getsentry/sentry/pull/112070)\n- Handle missing sentry app installation by @ceorourke in [#112192](https://github.com/getsentry/sentry/pull/112192)\n- Handle invalid project IDs in monitor form by @malwilley in [#112220](https://github.com/getsentry/sentry/pull/112220)\n- Preselect current detector type when clicking create monitor by @malwilley in [#112178](https://github.com/getsentry/sentry/pull/112178)\n- Standardize monitor/alert form behavior on save by @malwilley in [#111490](https://github.com/getsentry/sentry/pull/111490)\n- Link from legacy alerts should go to /monitors/alerts by @malwilley in [#111962](https://github.com/getsentry/sentry/pull/111962)\n- Show empty state in Alerts list projects column when no detectors are connected by @malwilley in [#111732](https://github.com/getsentry/sentry/pull/111732)\n- Include project alerts on monitor list page by @malwilley in [#111690](https://github.com/getsentry/sentry/pull/111690)\n- Invalidate Connected Alerts query cache on drawer changes by @scttcper in [#111590](https://github.com/getsentry/sentry/pull/111590)\n- 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)\n- Translate percent threshold value correctly for metric monitors by @malwilley in [#111259](https://github.com/getsentry/sentry/pull/111259)\n- Increase test coverage and fix inconsistencies by @ceorourke in [#110825](https://github.com/getsentry/sentry/pull/110825)\n- Fix detection_type in the serializer for detectors which have conflicting properties by @malwilley in [#111170](https://github.com/getsentry/sentry/pull/111170)\n- Parse and persist owner field by @ceorourke in [#110807](https://github.com/getsentry/sentry/pull/110807)\n\n#### Agents\n\n- Make negative cost tooltip hoverable for clickable link by @obostjancic in [#111991](https://github.com/getsentry/sentry/pull/111991)\n- Clarify token counting in LLM onboarding instructions by @obostjancic in [#111989](https://github.com/getsentry/sentry/pull/111989)\n- Scope enrichment query to gen_ai spans only by @obostjancic in [#111614](https://github.com/getsentry/sentry/pull/111614)\n- Enable horizontal scroll in trace drawer on mobile by @priscilawebdev in [#110734](https://github.com/getsentry/sentry/pull/110734)\n\n#### Ai Conversations\n\n- Improve XML tag rendering in AI span details by @obostjancic in [#112346](https://github.com/getsentry/sentry/pull/112346)\n- Escape conversation IDs in query strings by @vgrozdanic in [#112455](https://github.com/getsentry/sentry/pull/112455)\n- Use all projects for shared conversation links by @obostjancic in [#112343](https://github.com/getsentry/sentry/pull/112343)\n\n#### Ai Insights\n\n- Token types widget by @obostjancic in [#111403](https://github.com/getsentry/sentry/pull/111403)\n- Update agent monitoring onboarding snippets by @obostjancic in [#111310](https://github.com/getsentry/sentry/pull/111310)\n- Use AIContentRenderer for conversation table tooltips by @obostjancic in [#111285](https://github.com/getsentry/sentry/pull/111285)\n- Token input/output count by @obostjancic in [#111284](https://github.com/getsentry/sentry/pull/111284)\n- Sort conversation spans by start timestamp by @obostjancic in [#111185](https://github.com/getsentry/sentry/pull/111185)\n- Traces table by @obostjancic in [#111064](https://github.com/getsentry/sentry/pull/111064)\n\n#### Alerts\n\n- Fallback to transactions dataset for performance alerts by @nikkikapadia in [#112802](https://github.com/getsentry/sentry/pull/112802)\n- Fix trigger ordering in workflow-based AlertRule serializer by @kcons in [#112727](https://github.com/getsentry/sentry/pull/112727)\n- Make ProjectRuleStatsIndexEndpoint 400 on a bad date range by @kcons in [#112505](https://github.com/getsentry/sentry/pull/112505)\n- Better messaging for missing snoozeCreatedBy by @kcons in [#112506](https://github.com/getsentry/sentry/pull/112506)\n- Reject EAP alerts with invalid time windows by @kcons in [#112322](https://github.com/getsentry/sentry/pull/112322)\n- Incorporate EventsAnalyticsPlatform into our downgrade checking by @kcons in [#112061](https://github.com/getsentry/sentry/pull/112061)\n- Fix alert link unfurling URL by @malwilley in [#111033](https://github.com/getsentry/sentry/pull/111033)\n\n#### Apigateway\n\n- Don't count cancelled requests as failures by @gi0baro in [#112089](https://github.com/getsentry/sentry/pull/112089)\n- Async/sync flow patches by @gi0baro in [#111993](https://github.com/getsentry/sentry/pull/111993)\n\n#### Attachments\n\n- Use NOW() + 30 days as db_default for date_expires by @jan-auer in [#112342](https://github.com/getsentry/sentry/pull/112342)\n- Pass attachment retention_days to objectstore by @jan-auer in [#111879](https://github.com/getsentry/sentry/pull/111879)\n\n#### Auth\n\n- Add diagnostic logging to ViewerContextAuthentication by @azulus in [#113015](https://github.com/getsentry/sentry/pull/113015)\n- Block token creation/modification during impersonation by @michelletran-sentry in [#110654](https://github.com/getsentry/sentry/pull/110654)\n\n#### Autofix\n\n- Filter out autofix code mappings with bad repos (inactive, no integration, etc.) by @srest2021 in [#112825](https://github.com/getsentry/sentry/pull/112825)\n- Remove autofixEnabled check from project setup guard by @chromy in [#112792](https://github.com/getsentry/sentry/pull/112792)\n- Check preference repositories instead of tuning for Seer autofix onboarding check by @srest2021 in [#112726](https://github.com/getsentry/sentry/pull/112726)\n- Show Add Integration CTA when no coding agents installed by @JoshFerge in [#112625](https://github.com/getsentry/sentry/pull/112625)\n- Dual-delete Seer preferences for disabled repositories by @srest2021 in [#112503](https://github.com/getsentry/sentry/pull/112503)\n- Validate Seer-supported SCM providers for Seer project preferences by @srest2021 in [#112518](https://github.com/getsentry/sentry/pull/112518)\n- On repo hide, delete corresponding SeerProjectRepository rows by @srest2021 in [#112266](https://github.com/getsentry/sentry/pull/112266)\n- Only write handoff.auto_create_pr ProjectOption if not default by @srest2021 in [#112208](https://github.com/getsentry/sentry/pull/112208)\n- Handle NoneType project preferences from Seer API by @sentry in [#112009](https://github.com/getsentry/sentry/pull/112009)\n- Restarting root cause from error should use new run by @Zylphrex in [#111995](https://github.com/getsentry/sentry/pull/111995)\n- Github webhook analytics for explorer autofix by @Zylphrex in [#111913](https://github.com/getsentry/sentry/pull/111913)\n- Remove broken docs link from GitHub Copilot CTA by @JoshFerge in [#111298](https://github.com/getsentry/sentry/pull/111298)\n- Better loading states for agent handoffs by @Zylphrex in [#111107](https://github.com/getsentry/sentry/pull/111107)\n\n#### Billing\n\n- Updated name to application metrics and fixed tests(BIL-2235) by @krithikravi in [#113002](https://github.com/getsentry/sentry/pull/113002)\n- Subscription UI misalignment by @brendanhsentry in [#112485](https://github.com/getsentry/sentry/pull/112485)\n- Fix flaky paymentForm test by awaiting button enabled state by @hubertdeng123 in [#112188](https://github.com/getsentry/sentry/pull/112188)\n- Update ent trial copy by @brendanhsentry in [#110904](https://github.com/getsentry/sentry/pull/110904)\n\n#### Cells\n\n- Invalid invitation token or context always 404s by @lynnagara in [#112633](https://github.com/getsentry/sentry/pull/112633)\n- Update controlsiloUrlPatterns by @evanpurkhiser in [#111751](https://github.com/getsentry/sentry/pull/111751)\n\n#### Chartcuterie\n\n- Scale up font sizes for larger Explore chart canvas by @DominikB2014 in [#112785](https://github.com/getsentry/sentry/pull/112785)\n- Format y-axis labels in Explore unfurl charts by @DominikB2014 in [#112719](https://github.com/getsentry/sentry/pull/112719)\n- Avoid plottable imports that break Node VM sandbox by @DominikB2014 in [#112668](https://github.com/getsentry/sentry/pull/112668)\n\n#### Ci\n\n- Use fixed restrict key in migrations drift pg_dumpall by @trevor-e in [#112731](https://github.com/getsentry/sentry/pull/112731)\n- Bandaid fix flaky \"Event loop was closed\" in CI by @kenzoengineer in [#112133](https://github.com/getsentry/sentry/pull/112133)\n- Use ephemeral ports for relay xdist to avoid port conflicts by @mchen-sentry in [#112026](https://github.com/getsentry/sentry/pull/112026)\n- Let precommit format json files by @TkDodo in [#111874](https://github.com/getsentry/sentry/pull/111874)\n- Prevent kafka consumer teardown hang with xdist by @mchen-sentry in [#111261](https://github.com/getsentry/sentry/pull/111261)\n- Retry relay container start on port conflict by @mchen-sentry in [#111041](https://github.com/getsentry/sentry/pull/111041)\n\n#### Claude Integration\n\n- Update to newest claude headers by @sehr-m in [#112715](https://github.com/getsentry/sentry/pull/112715)\n- Use installation path for Claude Code in explorer handoff by @sehr-m in [#110952](https://github.com/getsentry/sentry/pull/110952)\n\n#### Cmdk\n\n- Tie-break equal search scores by length by @JonasBa in [#112845](https://github.com/getsentry/sentry/pull/112845)\n- Filter out async resource actions with 0 results by @JonasBa in [#112613](https://github.com/getsentry/sentry/pull/112613)\n\n#### Codeowners\n\n- Add coverage for markdownTextArea and clean baseline by @chromy in [#112339](https://github.com/getsentry/sentry/pull/112339)\n- Show all owner names in avatar stack tooltip by @scttcper in [#110946](https://github.com/getsentry/sentry/pull/110946)\n- Stringify owner IDs and add typed schema structures by @scttcper in [#110604](https://github.com/getsentry/sentry/pull/110604)\n\n#### Coding Integrations\n\n- Allow model specification based on api key by @sehr-m in [#112856](https://github.com/getsentry/sentry/pull/112856)\n- Fix add integration button on safari by @sehr-m in [#112176](https://github.com/getsentry/sentry/pull/112176)\n- Add catching for integration not found error by @sehr-m in [#111691](https://github.com/getsentry/sentry/pull/111691)\n\n#### Conversations\n\n- Move detail breadcrumbs to page frame top bar by @priscilawebdev in [#113035](https://github.com/getsentry/sentry/pull/113035)\n- Prevent onboarding from reappearing on empty time ranges by @obostjancic in [#112789](https://github.com/getsentry/sentry/pull/112789)\n- Handle [Filtered] values in conversation bubbles by @obostjancic in [#112092](https://github.com/getsentry/sentry/pull/112092)\n- Sort list by timestamp in frontend by @shellmayr in [#111785](https://github.com/getsentry/sentry/pull/111785)\n- Paginate conversation details to fetch all spans by @obostjancic in [#111605](https://github.com/getsentry/sentry/pull/111605)\n\n#### Dashboards\n\n- Use null instead of undefined for widget limits on TABLE/BIG_NUMBER by @gggritso in [#112921](https://github.com/getsentry/sentry/pull/112921)\n- Show breadcrumb separator in page frame by @priscilawebdev in [#113041](https://github.com/getsentry/sentry/pull/113041)\n- Skip dashboard API requests when user has no project access by @edwardgou-sentry in [#112855](https://github.com/getsentry/sentry/pull/112855)\n- Disable Open in Explore for multi-query logs widgets by @DominikB2014 in [#112832](https://github.com/getsentry/sentry/pull/112832)\n- Rebalance chart interval options and defaults by @gggritso in [#112562](https://github.com/getsentry/sentry/pull/112562)\n- Surface lastVisited field in API response by @narsaynorath in [#112796](https://github.com/getsentry/sentry/pull/112796)\n- Send current dashboard state on Seer follow-up messages by @edwardgou-sentry in [#112601](https://github.com/getsentry/sentry/pull/112601)\n- Add context logging for widget mismatch errors by @edwardgou-sentry in [#112608](https://github.com/getsentry/sentry/pull/112608)\n- Apply filters correctly navigating between dashboards by @mjq in [#112586](https://github.com/getsentry/sentry/pull/112586)\n- Add http_error_count_percent to function blocklist by @edwardgou-sentry in [#112470](https://github.com/getsentry/sentry/pull/112470)\n- Update AI prebuilt dashboards to use response model instead of request model by @edwardgou-sentry in [#112498](https://github.com/getsentry/sentry/pull/112498)\n- Improve wrapping of global filter triggers by @gggritso in [#112471](https://github.com/getsentry/sentry/pull/112471)\n- Send null legendType when legend breakdown is disabled by @DominikB2014 in [#112467](https://github.com/getsentry/sentry/pull/112467)\n- Align sortable widget builder visualize ghost field to original field by @nikkikapadia in [#111934](https://github.com/getsentry/sentry/pull/111934)\n- Render star icon header for is_starred_transaction column by @DominikB2014 in [#111885](https://github.com/getsentry/sentry/pull/111885)\n- Numeric literal not registering in equations builder by @nikkikapadia in [#111793](https://github.com/getsentry/sentry/pull/111793)\n- Stop passing list page query params to dashboard details by @DominikB2014 in [#111815](https://github.com/getsentry/sentry/pull/111815)\n- Preserve saved global filters when URL has other filter params by @DominikB2014 in [#111800](https://github.com/getsentry/sentry/pull/111800)\n- Hide prebuilt dashboards from All Dashboards list by @DominikB2014 in [#111709](https://github.com/getsentry/sentry/pull/111709)\n- Copy page filters when duplicating prebuilt dashboards by @gggritso in [#111534](https://github.com/getsentry/sentry/pull/111534)\n- Text widget unknown code block language by @nikkikapadia in [#111621](https://github.com/getsentry/sentry/pull/111621)\n- Gate 'View span samples' cell action behind visibility-explore-view by @skaasten in [#111620](https://github.com/getsentry/sentry/pull/111620)\n- Disable edit button for pre-built dashboard widgets in fullscreen by @DominikB2014 in [#111616](https://github.com/getsentry/sentry/pull/111616)\n- Blank visualize fields on tables/big numbers from text widgets by @nikkikapadia in [#111440](https://github.com/getsentry/sentry/pull/111440)\n- Allow number-typed tags in categorical bar X-axis by @gggritso in [#111466](https://github.com/getsentry/sentry/pull/111466)\n- Fix global filter showing \"All\" instead of selected value by @gggritso in [#111514](https://github.com/getsentry/sentry/pull/111514)\n- Ensure consistent casing in pre-built dashboard widget titles by @gggritso in [#111515](https://github.com/getsentry/sentry/pull/111515)\n- Clean up column aliases and chart legends in prebuilt dashboards by @gggritso in [#111449](https://github.com/getsentry/sentry/pull/111449)\n- Align backend overview queries widget filters with queries dashboard by @DominikB2014 in [#111433](https://github.com/getsentry/sentry/pull/111433)\n- Use first-appearance order for chart axis assignment by @DominikB2014 in [#111411](https://github.com/getsentry/sentry/pull/111411)\n- Skip conflict warning for inactive global filters by @mjq in [#111385](https://github.com/getsentry/sentry/pull/111385)\n- Fix performance score widget layout and sizing by @gggritso in [#111258](https://github.com/getsentry/sentry/pull/111258)\n- Handle null/undefined at top level in toPythonString by @DominikB2014 in [#111297](https://github.com/getsentry/sentry/pull/111297)\n- Replace ugly red dashboard widget error states by @gggritso in [#111140](https://github.com/getsentry/sentry/pull/111140)\n- Cap global filter trigger width to prevent layout shifts by @gggritso in [#111238](https://github.com/getsentry/sentry/pull/111238)\n- Set breakdown legend widget limit to 3 in prebuilt configs by @DominikB2014 in [#111291](https://github.com/getsentry/sentry/pull/111291)\n- Default to 10 dashboards when planDetails is null by @DominikB2014 in [#111200](https://github.com/getsentry/sentry/pull/111200)\n- Fixes Create Dashboard with Seer button styling clashing with experimental badge by @edwardgou-sentry in [#111196](https://github.com/getsentry/sentry/pull/111196)\n- Fix double nested query param when creating dashboard by @edwardgou-sentry in [#111197](https://github.com/getsentry/sentry/pull/111197)\n- Pass widget and dashboardFilters to getFieldRenderer in all dataset configs by @DominikB2014 in [#111194](https://github.com/getsentry/sentry/pull/111194)\n- Stop table rows inflating to fill widget by @priscilawebdev in [#111182](https://github.com/getsentry/sentry/pull/111182)\n- Show hidden dashboards in linked dashboards list by @DominikB2014 in [#111108](https://github.com/getsentry/sentry/pull/111108)\n- Populate linked dashboard in widget builder edit modal by @DominikB2014 in [#111085](https://github.com/getsentry/sentry/pull/111085)\n- Copy saved filters when duplicating prebuilt dashboards by @gggritso in [#111017](https://github.com/getsentry/sentry/pull/111017)\n- Prevent double HTML-escaping in chart tooltips by @gggritso in [#111022](https://github.com/getsentry/sentry/pull/111022)\n- Widget footer table errors on missing value by @DominikB2014 in [#111016](https://github.com/getsentry/sentry/pull/111016)\n- Fix empty interval in generated dashboards by @edwardgou-sentry in [#110998](https://github.com/getsentry/sentry/pull/110998)\n- Disambiguate unaliased filters in widget legends by @gggritso in [#110908](https://github.com/getsentry/sentry/pull/110908)\n- Prevent long dashboard names from overflowing in list view by @gggritso in [#110828](https://github.com/getsentry/sentry/pull/110828)\n- Use firstTransactionEvent for overview onboarding conditions by @gggritso in [#110913](https://github.com/getsentry/sentry/pull/110913)\n- Use normalizeUrl when navigating after pre-built dashboard duplication by @gggritso in [#110920](https://github.com/getsentry/sentry/pull/110920)\n- Skip flakey widget builder test by @nikkikapadia in [#110980](https://github.com/getsentry/sentry/pull/110980)\n- Preserve group-by when saving logs query as widget by @JoshuaKGoldberg in [#110855](https://github.com/getsentry/sentry/pull/110855)\n- Reduce max fractional digits for number type to 4 by @DominikB2014 in [#110858](https://github.com/getsentry/sentry/pull/110858)\n- Consolidate HTTP status code queries into single query by @DominikB2014 in [#110884](https://github.com/getsentry/sentry/pull/110884)\n\n#### Deletions\n\n- Delete GroupEnvironment before Environment during org deletion by @swartzrock in [#112868](https://github.com/getsentry/sentry/pull/112868)\n- Avoid DoesNotExist crash when FK target is already deleted by @swartzrock in [#112375](https://github.com/getsentry/sentry/pull/112375)\n\n#### Demo Mode\n\n- Restrict GroupAi endpoints to demo orgs only by @obostjancic in [#111509](https://github.com/getsentry/sentry/pull/111509)\n- Block demo users from creating organizations by @obostjancic in [#111507](https://github.com/getsentry/sentry/pull/111507)\n\n#### Detectors\n\n- Surface API error messages for cron detector creation by @malwilley in [#112630](https://github.com/getsentry/sentry/pull/112630)\n- Make AlertRuleDetector.objects filter out pending deletion Detectors by default by @kcons in [#112550](https://github.com/getsentry/sentry/pull/112550)\n- Ensure metric Detector deletion cleans up the AlertRule by @kcons in [#112425](https://github.com/getsentry/sentry/pull/112425)\n\n#### Docs\n\n- Replace generic_metrics dataset with events_analytics_platform by @ceorourke in [#112480](https://github.com/getsentry/sentry/pull/112480)\n- Fix workflow target type unassigned API docs by @ceorourke in [#111166](https://github.com/getsentry/sentry/pull/111166)\n\n#### Eap\n\n- Handle contexts in trace-item attributes by @wmak in [#112524](https://github.com/getsentry/sentry/pull/112524)\n- Declare http.response_status_code as integer attribute by @DominikB2014 in [#111232](https://github.com/getsentry/sentry/pull/111232)\n- Replace exclusive time as attribute for count functions by @mjq in [#111176](https://github.com/getsentry/sentry/pull/111176)\n\n#### Explore\n\n- Increase logs infinite query maxPages when we don't have many rows locally by @JoshuaKGoldberg in [#112691](https://github.com/getsentry/sentry/pull/112691)\n- Fix attribute breakdowns tooltip caching stale params and losing values by @nsdeschenes in [#112590](https://github.com/getsentry/sentry/pull/112590)\n- Add !has filter when drilling down into no value group by @SafinMahmud in [#110404](https://github.com/getsentry/sentry/pull/110404)\n- Derive default chart type for explore Slack unfurls by @DominikB2014 in [#112717](https://github.com/getsentry/sentry/pull/112717)\n- Pass sort param for group-by explore Slack unfurls by @DominikB2014 in [#112704](https://github.com/getsentry/sentry/pull/112704)\n- Disable metric selector highlight scrolling by @nsdeschenes in [#111233](https://github.com/getsentry/sentry/pull/111233)\n- Contain traces table overflow by @nsdeschenes in [#111183](https://github.com/getsentry/sentry/pull/111183)\n- Gate explore links behind visibility-explore-view by @skaasten in [#111523](https://github.com/getsentry/sentry/pull/111523)\n- Always show selected metric first in metric selector by @nsdeschenes in [#111448](https://github.com/getsentry/sentry/pull/111448)\n- Confidence footer messages should pluralize zero by @narsaynorath in [#111436](https://github.com/getsentry/sentry/pull/111436)\n- Try catch the entire migration by @wmak in [#111321](https://github.com/getsentry/sentry/pull/111321)\n- Try catch the snuba call by @wmak in [#111214](https://github.com/getsentry/sentry/pull/111214)\n- Migration bug by @wmak in [#111149](https://github.com/getsentry/sentry/pull/111149)\n- Remove empty field params from Explore URL by @nsdeschenes in [#110655](https://github.com/getsentry/sentry/pull/110655)\n\n#### Grouping\n\n- Fix ip parameterization tests by @lobsterkatie in [#112637](https://github.com/getsentry/sentry/pull/112637)\n- Fix IPv6 parameterization by @lobsterkatie in [#111979](https://github.com/getsentry/sentry/pull/111979)\n- Handle callback false positives in parameterization by @lobsterkatie in [#111948](https://github.com/getsentry/sentry/pull/111948)\n- Fix and expand hex parameterization by @lobsterkatie in [#111969](https://github.com/getsentry/sentry/pull/111969)\n- Fix git sha parameterization test by @lobsterkatie in [#111964](https://github.com/getsentry/sentry/pull/111964)\n- Fix int parameterization bugs by @lobsterkatie in [#111870](https://github.com/getsentry/sentry/pull/111870)\n- Fix kitchen time regex bugs by @lobsterkatie in [#111807](https://github.com/getsentry/sentry/pull/111807)\n\n#### Incidents\n\n- Compute resolution correctly in metric issue detector by @kcons in [#112623](https://github.com/getsentry/sentry/pull/112623)\n- Fix 60x resolution inflation when switching to DYNAMIC detection without explicit time_window by @kcons in [#112695](https://github.com/getsentry/sentry/pull/112695)\n\n#### Insights\n\n- Handle null span.group in Backend Insights widgets by @gggritso in [#112379](https://github.com/getsentry/sentry/pull/112379)\n- Link trace table on AI agent dashboard to trace view by @DominikB2014 in [#111438](https://github.com/getsentry/sentry/pull/111438)\n- Show <0.0001 for very small numeric values instead of 0 by @gggritso in [#111228](https://github.com/getsentry/sentry/pull/111228)\n- Right-align perf score empty state in transactions table by @gggritso in [#111222](https://github.com/getsentry/sentry/pull/111222)\n- Use span.duration in HTTP and FE dashboards by @mjq in [#111153](https://github.com/getsentry/sentry/pull/111153)\n- Use span.duration in Queries dashboards by @mjq in [#111125](https://github.com/getsentry/sentry/pull/111125)\n- Respect usePlatformizedView=0 query param by @DominikB2014 in [#111094](https://github.com/getsentry/sentry/pull/111094)\n- Filter SDK update alert by package name by @priscilawebdev in [#110968](https://github.com/getsentry/sentry/pull/110968)\n- Fix agents trace table horizontal overflow and empty state layout by @priscilawebdev in [#110843](https://github.com/getsentry/sentry/pull/110843)\n\n#### Integrations\n\n- Hide Fix with Seer button on Slack unfurls by @leeandher in [#112940](https://github.com/getsentry/sentry/pull/112940)\n- Set sample_rate=1.0 on repo sync metrics by @wedamija in [#112861](https://github.com/getsentry/sentry/pull/112861)\n- Fix security vulnerabilities in Jira by @ceorourke in [#112409](https://github.com/getsentry/sentry/pull/112409)\n- Handle null items in organization integrations serialization by @leeandher in [#112391](https://github.com/getsentry/sentry/pull/112391)\n- Disallow modifying a repo's integration by @cmanallen in [#111739](https://github.com/getsentry/sentry/pull/111739)\n- Handle forbidden errors in integration proxy by @chromy in [#111123](https://github.com/getsentry/sentry/pull/111123)\n- Handle unauthorized and rate-limited errors in integration proxy by @chromy in [#111030](https://github.com/getsentry/sentry/pull/111030)\n\n#### Issues\n\n- Hide line numbers on non-in-app stack trace frames by @scttcper in [#112885](https://github.com/getsentry/sentry/pull/112885)\n- Remove unsed group prop from ContextCard by @scttcper in [#112816](https://github.com/getsentry/sentry/pull/112816)\n- Exclude gen_ai ops from consecutive HTTP detector by @mrduncan in [#112517](https://github.com/getsentry/sentry/pull/112517)\n- Prevent double fetch of group search view endpoint by @scttcper in [#112324](https://github.com/getsentry/sentry/pull/112324)\n- Guard against NaN in supergroup row stats during loading by @scttcper in [#112294](https://github.com/getsentry/sentry/pull/112294)\n- Include exception header in copy-as-text for new stack trace by @scttcper in [#111965](https://github.com/getsentry/sentry/pull/111965)\n- Redesign new stack trace grid by @scttcper in [#112059](https://github.com/getsentry/sentry/pull/112059)\n- Avoid supergroup refetches on row removal by @scttcper in [#111865](https://github.com/getsentry/sentry/pull/111865)\n- Add stack trace column gap between coverage border and source code by @scttcper in [#111556](https://github.com/getsentry/sentry/pull/111556)\n- Move coverage legend above stack trace by @scttcper in [#111494](https://github.com/getsentry/sentry/pull/111494)\n- Apply issue.id filter to postgres queryset candidates by @scttcper in [#110757](https://github.com/getsentry/sentry/pull/110757)\n\n#### Logs\n\n- Adjust back-to-top containers to window width resize by @JoshuaKGoldberg in [#112374](https://github.com/getsentry/sentry/pull/112374)\n- Don't render numbers with >13 digits using commas by @JoshuaKGoldberg in [#112354](https://github.com/getsentry/sentry/pull/112354)\n- Port log detail buttons to Button priority=transparent by @JoshuaKGoldberg in [#111824](https://github.com/getsentry/sentry/pull/111824)\n- Prevent cell action menu clicks from toggling row visibility by @JoshuaKGoldberg in [#111717](https://github.com/getsentry/sentry/pull/111717)\n\n#### Metrics\n\n- Debounce metric selector attribute queries by @nsdeschenes in [#112834](https://github.com/getsentry/sentry/pull/112834)\n- Prevent metric selector hover from stealing search input focus by @nsdeschenes in [#111292](https://github.com/getsentry/sentry/pull/111292)\n\n#### Modal\n\n- Avoid modal shift by @natemoo-re in [#111666](https://github.com/getsentry/sentry/pull/111666)\n- Restore focus to trigger element when modal closes by @JonasBa in [#111542](https://github.com/getsentry/sentry/pull/111542)\n\n#### Nav\n\n- Match secondary page-frame nav link :active color to primary by @JonasBa in [#111664](https://github.com/getsentry/sentry/pull/111664)\n- Replace aria-selected with aria-current on navigation links by @JonasBa in [#111278](https://github.com/getsentry/sentry/pull/111278)\n- Cap list item height for page-frame secondary nav variants by @JonasBa in [#111195](https://github.com/getsentry/sentry/pull/111195)\n- Update stale route links causing unexpected navigation redirects by @JonasBa in [#110498](https://github.com/getsentry/sentry/pull/110498)\n\n#### Notifications\n\n- Handle null provider in organization integrations filter by @mtopo27 in [#112368](https://github.com/getsentry/sentry/pull/112368)\n- Update alert rule URLs to use /issues/alerts/ prefix by @JonasBa in [#110499](https://github.com/getsentry/sentry/pull/110499)\n\n#### Np\n\n- Updates issue notification data factory to select correct handler class by @GabeVillalobos in [#112892](https://github.com/getsentry/sentry/pull/112892)\n- Adds attachment to Slack render type, updates metric renderer by @GabeVillalobos in [#112312](https://github.com/getsentry/sentry/pull/112312)\n- Updates IssueNotificationData, render logic to correctly extract action data by @GabeVillalobos in [#111689](https://github.com/getsentry/sentry/pull/111689)\n\n#### Onboarding\n\n- Add step for OpenAI based framework for conversation ID sources by @constantinius in [#112781](https://github.com/getsentry/sentry/pull/112781)\n- Change agent monitoring empty state to use openai instead of openai-agents by @constantinius in [#112344](https://github.com/getsentry/sentry/pull/112344)\n- Pass accessibleOnly to SCM repo search by @jaydgoss in [#111895](https://github.com/getsentry/sentry/pull/111895)\n- Wrap connected tag in Container to constrain width by @jaydgoss in [#111936](https://github.com/getsentry/sentry/pull/111936)\n- Handle repo selection race with background link_all_repos by @jaydgoss in [#111716](https://github.com/getsentry/sentry/pull/111716)\n- Reset downstream state when repository changes by @jaydgoss in [#111479](https://github.com/getsentry/sentry/pull/111479)\n\n#### Performance\n\n- Restore feature parity on EAP Sampled Events tab by @mjq in [#111891](https://github.com/getsentry/sentry/pull/111891)\n- Bring back user column on segment span tables by @mjq in [#111351](https://github.com/getsentry/sentry/pull/111351)\n- Use spans dataset for EAP txn summary search bar by @mjq in [#111299](https://github.com/getsentry/sentry/pull/111299)\n\n#### Pipeline\n\n- Redirect to org picker when API pipeline is active during GitHub install by @evanpurkhiser in [#112941](https://github.com/getsentry/sentry/pull/112941)\n- Handle pipeline error responses in usePipeline hook by @evanpurkhiser in [#112932](https://github.com/getsentry/sentry/pull/112932)\n- Add CSP nonce to trampoline inline script by @evanpurkhiser in [#112149](https://github.com/getsentry/sentry/pull/112149)\n- Typing in oauth2 by @evanpurkhiser in [#111754](https://github.com/getsentry/sentry/pull/111754)\n- Handle deleted provider model in unpack_state by @evanpurkhiser in [#111680](https://github.com/getsentry/sentry/pull/111680)\n\n#### Preprod\n\n- Hide approve button on status check when snapshots already approved by @NicoHinderling in [#112978](https://github.com/getsentry/sentry/pull/112978)\n- Reapply snapshot PR comment task with TASKWORKER_IMPORTS fix by @runningcode in [#112900](https://github.com/getsentry/sentry/pull/112900)\n- Use odiff CLI mode to work around server-mode false match bug by @NicoHinderling in [#112829](https://github.com/getsentry/sentry/pull/112829)\n- Log when PR comment is skipped due to no installable artifacts by @runningcode in [#112780](https://github.com/getsentry/sentry/pull/112780)\n- Allow branch ref ellipsis in mobile builds table (EME-882) by @cameroncooke in [#112774](https://github.com/getsentry/sentry/pull/112774)\n- Add organization_slug to snapshot log statements by @NicoHinderling in [#112499](https://github.com/getsentry/sentry/pull/112499)\n- Add tab=size to size status check settings URL by @mtopo27 in [#112352](https://github.com/getsentry/sentry/pull/112352)\n- Use RPC service for cross-silo user lookup in snapshot endpoint by @NicoHinderling in [#112129](https://github.com/getsentry/sentry/pull/112129)\n- Use recompare endpoint and add user-facing status check rerun by @NicoHinderling in [#112084](https://github.com/getsentry/sentry/pull/112084)\n- Speed up error page on snapshots and improve error UI by @NicoHinderling in [#112076](https://github.com/getsentry/sentry/pull/112076)\n- Exclude snapshot artifacts from size status check (EME-962) by @runningcode in [#111981](https://github.com/getsentry/sentry/pull/111981)\n- Post NEUTRAL status check when all artifacts are skipped by @mtopo27 in [#111811](https://github.com/getsentry/sentry/pull/111811)\n- Prefer display_name for snapshot sidebar labels by @runningcode in [#111779](https://github.com/getsentry/sentry/pull/111779)\n- Align relative_diff extract_value with frontend percentage convention by @mtopo27 in [#111682](https://github.com/getsentry/sentry/pull/111682)\n- Differentiate snapshot status check when base_sha is unset by @NicoHinderling in [#111658](https://github.com/getsentry/sentry/pull/111658)\n- Show total image count in snapshot sidebar sections by @NicoHinderling in [#111576](https://github.com/getsentry/sentry/pull/111576)\n- Use content_hash as canonical image key for deduplication by @NicoHinderling in [#111467](https://github.com/getsentry/sentry/pull/111467)\n- Fix typecheck errors from monitor filters reland by @chromy in [#111142](https://github.com/getsentry/sentry/pull/111142)\n\n#### Profiling\n\n- Render flamechart title only in top bar by @JonasBa in [#113018](https://github.com/getsentry/sentry/pull/113018)\n- Query `spans` instead of `discover` on landing page by @mjq in [#112251](https://github.com/getsentry/sentry/pull/112251)\n\n#### Releases\n\n- Support environment filter in the query param by @skaasten in [#112805](https://github.com/getsentry/sentry/pull/112805)\n- Validate project access in release details endpoint by @michelletran-sentry in [#112831](https://github.com/getsentry/sentry/pull/112831)\n- Prevent false positive regressions when `follows_semver` flips after resolution by @shashjar in [#111584](https://github.com/getsentry/sentry/pull/111584)\n- Add gap between release detail header action groups by @scttcper in [#111581](https://github.com/getsentry/sentry/pull/111581)\n\n#### Replays\n\n- Use Dataset enum instead of string comparisons in replay counts by @scttcper in [#111954](https://github.com/getsentry/sentry/pull/111954)\n- Update stats link to new path by @priscilawebdev in [#111778](https://github.com/getsentry/sentry/pull/111778)\n\n#### Repos\n\n- Make it clearer when repos are disabled or connected properly by @ryan953 in [#111764](https://github.com/getsentry/sentry/pull/111764)\n- Filter null integrations in useScmIntegrationTreeData by @ryan953 in [#110868](https://github.com/getsentry/sentry/pull/110868)\n\n#### Scraps\n\n- Status indicator layering by @natemoo-re in [#112197](https://github.com/getsentry/sentry/pull/112197)\n- Omit `type` from `SVGIconProps` by @natemoo-re in [#111353](https://github.com/getsentry/sentry/pull/111353)\n\n#### Search\n\n- Clarify is:linked/is:unlinked filter descriptions by @cvxluo in [#111224](https://github.com/getsentry/sentry/pull/111224)\n- Render negated multi-value filters with and by @nsdeschenes in [#111203](https://github.com/getsentry/sentry/pull/111203)\n- Assign return value of date.replace() in parse_iso_timestamp by @karesansui-u in [#110504](https://github.com/getsentry/sentry/pull/110504)\n\n#### Seer\n\n- Use standard hotkey for minimize behavior, remove `tab` hijacking by @natemoo-re in [#112993](https://github.com/getsentry/sentry/pull/112993)\n- Feature flag Seer RPC preference reads by @srest2021 in [#112865](https://github.com/getsentry/sentry/pull/112865)\n- Dont show the Seer subscription banner to orgs with managed subscriptions by @ryan953 in [#112810](https://github.com/getsentry/sentry/pull/112810)\n- Set a min height for the virtual scrolling Code Review settings table by @ryan953 in [#112814](https://github.com/getsentry/sentry/pull/112814)\n- Prevent horizontal scrollbar flash on block entry animation by @aliu39 in [#112823](https://github.com/getsentry/sentry/pull/112823)\n- 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)\n- Decouple create-pr setting from stopping point by @ryan953 in [#112646](https://github.com/getsentry/sentry/pull/112646)\n- Convert Seer Repo Details form to new form system, clear onboarding-check cache by @ryan953 in [#112645](https://github.com/getsentry/sentry/pull/112645)\n- Add links to manage your agent integrations, by @ryan953 in [#112642](https://github.com/getsentry/sentry/pull/112642)\n- Populate referrer field in agent_handoff analytics from launch path by @JoshFerge in [#112523](https://github.com/getsentry/sentry/pull/112523)\n- Make widget conditions readable for the Seer Explorer agent by @Mihir-Mavalankar in [#112502](https://github.com/getsentry/sentry/pull/112502)\n- Fix spacing on the Seer overview page by @ryan953 in [#112407](https://github.com/getsentry/sentry/pull/112407)\n- Dual-delete Seer project preferences on integration uninstall by @srest2021 in [#112296](https://github.com/getsentry/sentry/pull/112296)\n- 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)\n- Don't read from org defaults when creating default project preference by @srest2021 in [#111967](https://github.com/getsentry/sentry/pull/111967)\n- Align project grouping record deletion with Seer API by @sentry in [#111756](https://github.com/getsentry/sentry/pull/111756)\n- Fix a typo, no dash by @ryan953 in [#111558](https://github.com/getsentry/sentry/pull/111558)\n- Render explorer panel when page-frame feature is enabled by @JonasBa in [#111502](https://github.com/getsentry/sentry/pull/111502)\n- Fix race condition in Seer settings dual-write to Sentry DB by @srest2021 in [#111477](https://github.com/getsentry/sentry/pull/111477)\n- Fix tab normalization so Seer Settings tab hrefs are correct by @ryan953 in [#111279](https://github.com/getsentry/sentry/pull/111279)\n- Remove noisy capture_exception for expected ObjectDoesNotExist by @aliu39 in [#111257](https://github.com/getsentry/sentry/pull/111257)\n- Handle missing OrganizationMember in collect_user_org_context by @aliu39 in [#111255](https://github.com/getsentry/sentry/pull/111255)\n- Rename Autofix Handoff option to be: No Handoff by @ryan953 in [#111118](https://github.com/getsentry/sentry/pull/111118)\n- Handle enum deserialization in autofix tasks by @sentry in [#110959](https://github.com/getsentry/sentry/pull/110959)\n\n#### Seer Explorer\n\n- Display correct label for metrics queries by @isaacwang-sentry in [#111810](https://github.com/getsentry/sentry/pull/111810)\n- Prevent optimistic state clearing on rethink with ame message by @Mihir-Mavalankar in [#111721](https://github.com/getsentry/sentry/pull/111721)\n- Keep optimistic thinking block until assistant responds by @Mihir-Mavalankar in [#111685](https://github.com/getsentry/sentry/pull/111685)\n\n#### Settings\n\n- Portal SettingsPageHeader action to TopBar in page frame layout by @priscilawebdev in [#112771](https://github.com/getsentry/sentry/pull/112771)\n- Surface slug validation errors on org settings form by @cvxluo in [#112556](https://github.com/getsentry/sentry/pull/112556)\n- Invalidate cache in notification settings by @natemoo-re in [#112161](https://github.com/getsentry/sentry/pull/112161)\n- Widen teams table actions column by @cvxluo in [#111683](https://github.com/getsentry/sentry/pull/111683)\n\n#### Slack\n\n- Update explore unfurl chart size to 1200x400 by @DominikB2014 in [#112842](https://github.com/getsentry/sentry/pull/112842)\n- Include y-axis aggregate in Explore unfurl title by @DominikB2014 in [#112693](https://github.com/getsentry/sentry/pull/112693)\n- Pass interval param through Explore unfurl URL parsing by @DominikB2014 in [#112676](https://github.com/getsentry/sentry/pull/112676)\n- Cast user id to string in set_user call by @DominikB2014 in [#112534](https://github.com/getsentry/sentry/pull/112534)\n- Use set_user for user context in Slack event webhook by @DominikB2014 in [#112530](https://github.com/getsentry/sentry/pull/112530)\n\n#### Snapshots\n\n- Fix staff auth blocking initial size comparison selection by @NicoHinderling in [#112739](https://github.com/getsentry/sentry/pull/112739)\n- Disable CSS animations for snapshot testing by @rbro112 in [#111485](https://github.com/getsentry/sentry/pull/111485)\n- Use explicit HEAD rather than merge commit for frontend snapshots by @rbro112 in [#111202](https://github.com/getsentry/sentry/pull/111202)\n\n#### Stories\n\n- Adjust search scroll behavior by @natemoo-re in [#112045](https://github.com/getsentry/sentry/pull/112045)\n- Avoid circular dependencies on `Button` by @natemoo-re in [#112039](https://github.com/getsentry/sentry/pull/112039)\n\n#### Supergroups\n\n- Supergroup drawer checkbox, closing fixes by @scttcper in [#112999](https://github.com/getsentry/sentry/pull/112999)\n- Improve backfill task resilience and observability by @yuvmen in [#112968](https://github.com/getsentry/sentry/pull/112968)\n- Scope matched groups query to current page by @scttcper in [#112864](https://github.com/getsentry/sentry/pull/112864)\n- Filter resolved groups from Seer response by @scttcper in [#112403](https://github.com/getsentry/sentry/pull/112403)\n- Use placeholder data to avoid loading flash on group changes by @scttcper in [#112202](https://github.com/getsentry/sentry/pull/112202)\n\n#### Test\n\n- Stabilize flaky ResultsSearchQueryBuilder spec by @JoshuaKGoldberg in [#111916](https://github.com/getsentry/sentry/pull/111916)\n- Stabilize flaky allMonitors select all query results test by @JoshuaKGoldberg in [#111901](https://github.com/getsentry/sentry/pull/111901)\n- Stabilize flaky EventsSearchBar has: dropdown test by @JoshuaKGoldberg in [#111903](https://github.com/getsentry/sentry/pull/111903)\n- Stabilize flaky SpansSearchBar onSearch test by @JoshuaKGoldberg in [#111904](https://github.com/getsentry/sentry/pull/111904)\n- Stabilize flaky EventReplay inline onboarding test by @JoshuaKGoldberg in [#111902](https://github.com/getsentry/sentry/pull/111902)\n- Stabilize flaky useReplaysFromIssue assertion test by @JoshuaKGoldberg in [#111899](https://github.com/getsentry/sentry/pull/111899)\n- Open overlays immediately when in test mode by @JoshuaKGoldberg in [#112196](https://github.com/getsentry/sentry/pull/112196)\n- Upgrade framer motion, Disable animations in tests by @scttcper in [#112270](https://github.com/getsentry/sentry/pull/112270)\n- Stabilize flaky EventGroupingInfo rendering test by @JoshuaKGoldberg in [#111906](https://github.com/getsentry/sentry/pull/111906)\n\n#### Tests\n\n- Fix flaky AI conversations tests exceeding Snuba retention by @mchen-sentry in [#112612](https://github.com/getsentry/sentry/pull/112612)\n- Fix flaky homepage_query bucket count assertion by @mchen-sentry in [#111148](https://github.com/getsentry/sentry/pull/111148)\n\n#### Trace\n\n- Preserve EAP transaction parentage by @nsdeschenes in [#112492](https://github.com/getsentry/sentry/pull/112492)\n- Remove trace spans format by @wmak in [#111088](https://github.com/getsentry/sentry/pull/111088)\n- Retry trace endpoints with wider window when response is empty by @nsdeschenes in [#110634](https://github.com/getsentry/sentry/pull/110634)\n- Improve mobile experience for AI spans view by @priscilawebdev in [#111181](https://github.com/getsentry/sentry/pull/111181)\n- Add sentry dependency to the explore migration by @wmak in [#111013](https://github.com/getsentry/sentry/pull/111013)\n\n#### Tracemetrics\n\n- Pass draggable attributes to drag button by @narsaynorath in [#112981](https://github.com/getsentry/sentry/pull/112981)\n- Prevent header text wrapping in samples table during loading by @nsdeschenes in [#112576](https://github.com/getsentry/sentry/pull/112576)\n- Allow delete for big number when more than 1 field by @narsaynorath in [#111791](https://github.com/getsentry/sentry/pull/111791)\n- Prevent widget builder from querying before ready by @narsaynorath in [#111665](https://github.com/getsentry/sentry/pull/111665)\n- Update aggregate defaults in dashboards by @narsaynorath in [#111521](https://github.com/getsentry/sentry/pull/111521)\n- Check type and unit objects for yAxis by @narsaynorath in [#111132](https://github.com/getsentry/sentry/pull/111132)\n- Legend labels should be labelled uniquely with different aggs by @narsaynorath in [#111114](https://github.com/getsentry/sentry/pull/111114)\n- Open in explore for multi metrics opens each by @narsaynorath in [#110993](https://github.com/getsentry/sentry/pull/110993)\n- Update filter bar to handle multiple metrics by @narsaynorath in [#111011](https://github.com/getsentry/sentry/pull/111011)\n- Support multi metric selection in y-axes by @narsaynorath in [#110983](https://github.com/getsentry/sentry/pull/110983)\n\n#### Typing\n\n- Type post-process by @thetruecpaul in [#112203](https://github.com/getsentry/sentry/pull/112203)\n- Codemod `-> None` to a bunch of tests by @thetruecpaul in [#111812](https://github.com/getsentry/sentry/pull/111812)\n\n#### Ui\n\n- Fix the logs page divider by @priscilawebdev in [#113024](https://github.com/getsentry/sentry/pull/113024)\n- Fix \"Missing queryFn\" error in useAggregatedQueryKeys by @scttcper in [#112488](https://github.com/getsentry/sentry/pull/112488)\n- Remove overflow hidden from GuidedSteps StepDetails by @priscilawebdev in [#112336](https://github.com/getsentry/sentry/pull/112336)\n- Increase node memory limit locally, decrease ci by @scttcper in [#112066](https://github.com/getsentry/sentry/pull/112066)\n- Prevent code block overflow in GuidedSteps onboarding by @nikolovlazar in [#111657](https://github.com/getsentry/sentry/pull/111657)\n- Use design system Text components for organization role field by @JonasBa in [#111624](https://github.com/getsentry/sentry/pull/111624)\n- Preserve Seer paths in URL normalization by @scttcper in [#111317](https://github.com/getsentry/sentry/pull/111317)\n- Preserve seer paths in url normalization by @scttcper in [#111322](https://github.com/getsentry/sentry/pull/111322)\n- Fix ScrollCarousel story crash in production by @priscilawebdev in [#111184](https://github.com/getsentry/sentry/pull/111184)\n\n#### Workflow\n\n- Replace `getSantry` with dedicated GH app for api schema workflow by @Jeffreyhung in [#111720](https://github.com/getsentry/sentry/pull/111720)\n- Prevent IndexError when serializing workflows without WDCGs by @kcons in [#110915](https://github.com/getsentry/sentry/pull/110915)\n\n#### Workflows\n\n- Don't return Workflows while they're being deleted by @kcons in [#112541](https://github.com/getsentry/sentry/pull/112541)\n- Rule.status derived from snooze, not Workflow.status by @kcons in [#112302](https://github.com/getsentry/sentry/pull/112302)\n- Add detector group caching in ensure_association_with_detector by @klochek in [#111714](https://github.com/getsentry/sentry/pull/111714)\n- Add single-written workflow engine support to ProjectAlertRuleDetailsEndpoint by @kcons in [#111379](https://github.com/getsentry/sentry/pull/111379)\n- Make TTL a definitional part of CacheMapping rather than an optional param by @kcons in [#111376](https://github.com/getsentry/sentry/pull/111376)\n- Don't crash when no action filter are provided by @kcons in [#110905](https://github.com/getsentry/sentry/pull/110905)\n\n#### Other\n\n- (_admin) Dedupe GroupSubscription conflicts during user merge by @billyvg in [#111566](https://github.com/getsentry/sentry/pull/111566)\n- (admin) Use supported Sentry app badge variant by @dcramer in [#112086](https://github.com/getsentry/sentry/pull/112086)\n\n---\n_This changelog has been truncated. See the [full changelog](https://github.com/getsentry/sentry/blob/44bfdd5d34509f2eb4c747d0f56abdb3fdef9ce4/CHANGES#L1-L2286) for all changes._","publishedAt":"2026-04-15T18:56:16.000Z","fetchedAt":"2026-04-15T21:00:55.438Z","url":"https://github.com/getsentry/sentry/releases/tag/26.4.0","media":[],"coverageCount":0},{"id":"rel_DfTYvuOGhpXnQIK9FmcQ_","version":"26.3.1","type":"feature","title":"26.3.1","summary":"### New Features ✨\n\n#### Aci\n\n- Handle owner passed to workflow by @ceorourke in [#110785](https://github.com/getsentry/sentry/pull/110785)\n- Make Pro...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- Handle owner passed to workflow by @ceorourke in [#110785](https://github.com/getsentry/sentry/pull/110785)\n- Make ProjectRuleDetailsEndpoint PUT method backwards compatible by @ceorourke in [#110381](https://github.com/getsentry/sentry/pull/110381)\n\n#### Autofix\n\n- Add SDK tags to \\_trigger_autofix_task for observability by @Mihir-Mavalankar in [#110796](https://github.com/getsentry/sentry/pull/110796)\n- Allow users to add feedback when rethinking by @Zylphrex in [#110695](https://github.com/getsentry/sentry/pull/110695)\n- Support user feedback in autofix steps by @Zylphrex in [#110694](https://github.com/getsentry/sentry/pull/110694)\n\n#### Dashboards\n\n- Clarify pre-built dashboard UI by @DominikB2014 in [#110852](https://github.com/getsentry/sentry/pull/110852)\n- Track failed query runs on generated widgets by @edwardgou-sentry in [#110633](https://github.com/getsentry/sentry/pull/110633)\n- Adds validateOnly param to dry run and short circuit dashboard save by @edwardgou-sentry in [#110746](https://github.com/getsentry/sentry/pull/110746)\n- Add text widget handling in widget builder state functions by @nikkikapadia in [#110577](https://github.com/getsentry/sentry/pull/110577)\n- Add missing referrers to Referrer enum by @DominikB2014 in [#110741](https://github.com/getsentry/sentry/pull/110741)\n\n#### Integrations\n\n- Add bulk code mappings API endpoint by @romtsn in [#109785](https://github.com/getsentry/sentry/pull/109785)\n- Expand `org:ci` token permissions to Bulk Code Mapping API endpoints by @romtsn in [#109783](https://github.com/getsentry/sentry/pull/109783)\n\n#### Occurrences On Eap\n\n- Fix `OccurrenceCategory` filtering in query layer by @shashjar in [#110591](https://github.com/getsentry/sentry/pull/110591)\n- Update attribute definitions by @shashjar in [#110587](https://github.com/getsentry/sentry/pull/110587)\n- Implement double-read errors query for summaries task by @shashjar in [#110279](https://github.com/getsentry/sentry/pull/110279)\n- Ingest issue platform occurrence data into EAP by @shashjar in [#110581](https://github.com/getsentry/sentry/pull/110581)\n\n#### Onboarding\n\n- Scaffold SCM onboarding steps with placeholder UI by @jaydgoss in [#110747](https://github.com/getsentry/sentry/pull/110747)\n- Register onboarding-scm feature flag by @jaydgoss in [#110570](https://github.com/getsentry/sentry/pull/110570)\n\n#### Spans\n\n- Add shard/slice_id tags to flusher metrics by @untitaker in [#110748](https://github.com/getsentry/sentry/pull/110748)\n- Add option to skip enrichment per project in process-segments consumer by @vgrozdanic in [#110736](https://github.com/getsentry/sentry/pull/110736)\n\n#### Tracemetrics\n\n- Remove tracemetric from state by @narsaynorath in [#110786](https://github.com/getsentry/sentry/pull/110786)\n- Add metric detail side panel to dropdown by @nsdeschenes in [#110343](https://github.com/getsentry/sentry/pull/110343)\n- Add feature flag for multi-metrics selection by @narsaynorath in [#110777](https://github.com/getsentry/sentry/pull/110777)\n\n#### Other\n\n- (admin) Add abuse mark areas to org stats chart by @priscilawebdev in [#110495](https://github.com/getsentry/sentry/pull/110495)\n- (attributes) Add batch attribute validation endpoint for trace items - Round 2 by @nsdeschenes in [#110647](https://github.com/getsentry/sentry/pull/110647)\n- (cells) Add the rpc methods for project key mapping by @lynnagara in [#110589](https://github.com/getsentry/sentry/pull/110589)\n- (ci) Xdist per-worker isolation infrastructure by @mchen-sentry in [#110775](https://github.com/getsentry/sentry/pull/110775)\n- (eslint) Remove component-like restriction from no-default-export(-components) rule by @JoshuaKGoldberg in [#110631](https://github.com/getsentry/sentry/pull/110631)\n- (explore) Migrate explore saved queries to not use number for bool by @wmak in [#110492](https://github.com/getsentry/sentry/pull/110492)\n- (occ-eap) Update tagstore to query attrs instead of tags by @thetruecpaul in [#110761](https://github.com/getsentry/sentry/pull/110761)\n- (supergroups) Pass `project_id` when triggering supergroups embedding by @cvxluo in [#110795](https://github.com/getsentry/sentry/pull/110795)\n- (tests) Update S015 rule to prevent hardcoding future years by @armenzg in [#110738](https://github.com/getsentry/sentry/pull/110738)\n- (uptime) Backfill 2xx status code assertions on all uptime subscriptions by @evanpurkhiser in [#108678](https://github.com/getsentry/sentry/pull/108678)\n- (workflow-engine) Add TypedDicts for WorkflowValidator input format by @kcons in [#110692](https://github.com/getsentry/sentry/pull/110692)\n\n### Bug Fixes 🐛\n\n#### Dashboards\n\n- Resolve prebuilt dashboard placeholder IDs before duplication by @gggritso in [#110802](https://github.com/getsentry/sentry/pull/110802)\n- Only trigger echarts dispatch sync for visible widgets by @narsaynorath in [#110683](https://github.com/getsentry/sentry/pull/110683)\n- Interval should be maintained when editing widget by @bcoe in [#110719](https://github.com/getsentry/sentry/pull/110719)\n\n#### Performance\n\n- Rename HTTP method attribute for EAP txn summary profiles by @mjq in [#110771](https://github.com/getsentry/sentry/pull/110771)\n- Add is_transaction filter to FailureRateWidget queries by @mjq in [#110767](https://github.com/getsentry/sentry/pull/110767)\n- Hide Tags tab in EAP transaction summary by @mjq in [#110709](https://github.com/getsentry/sentry/pull/110709)\n\n#### Scm\n\n- Prevent 1px text shift when toggling SCM integration row by @ryan953 in [#110799](https://github.com/getsentry/sentry/pull/110799)\n- Remove exception squash by @cmanallen in [#110764](https://github.com/getsentry/sentry/pull/110764)\n\n#### Spans\n\n- Unlink distributed payload keys individually to avoid cross-slot errors by @lvthanh03 in [#110790](https://github.com/getsentry/sentry/pull/110790)\n- Remove invalid end_timestamp kwarg from Span in test by @untitaker in [#110788](https://github.com/getsentry/sentry/pull/110788)\n- Prevent silent span loss in done_flush_segments by @untitaker in [#110462](https://github.com/getsentry/sentry/pull/110462)\n\n#### Ui\n\n- Fix tooltips staying open by @k-fish in [#110867](https://github.com/getsentry/sentry/pull/110867)\n- Update route error page with troubleshooting guide and support instructions by @nora-shap in [#110687](https://github.com/getsentry/sentry/pull/110687)\n\n#### Other\n\n- (aci) Show detector environment in disabled environment selector by @scttcper in [#110778](https://github.com/getsentry/sentry/pull/110778)\n- (admin) Clean up sample rate display when rates match by @priscilawebdev in [#110832](https://github.com/getsentry/sentry/pull/110832)\n- (ai-conversations) Order spans by end timestamp by @obostjancic in [#110841](https://github.com/getsentry/sentry/pull/110841)\n- (apple-crash-report) Make code more defensive by @tobias-wilfert in [#110617](https://github.com/getsentry/sentry/pull/110617)\n- (copilot) Use `state` field instead of `status` for task lifecycle by @JoshFerge in [#110793](https://github.com/getsentry/sentry/pull/110793)\n- (difs) Use PROTECT for shared debug files by @szokeasaurusrex in [#110411](https://github.com/getsentry/sentry/pull/110411)\n- (dynamic-groups) Adjust issue list links, query by @scttcper in [#110801](https://github.com/getsentry/sentry/pull/110801)\n- (eventOrGroupHeader) Improve click target area for linked error in trace view by @TkDodo in [#110740](https://github.com/getsentry/sentry/pull/110740)\n- (explore) Disable drop transition on group-by sortable items by @JoshuaKGoldberg in [#110676](https://github.com/getsentry/sentry/pull/110676)\n- (form) Allow form stories to grow by @TkDodo in [#110848](https://github.com/getsentry/sentry/pull/110848)\n- (integrations) Add select_for_update() to repository update methods by @vgrozdanic in [#108343](https://github.com/getsentry/sentry/pull/108343)\n- (issues) Add new stack trace feature flag by @scttcper in [#110779](https://github.com/getsentry/sentry/pull/110779)\n- (logs) Show span_id in log detail view by @mjq in [#110710](https://github.com/getsentry/sentry/pull/110710)\n- (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)\n- (scoping) Pass X-Viewer-Context on supergroups list/get requests to Seer by @gricha in [#110773](https://github.com/getsentry/sentry/pull/110773)\n- (sdk-crash) Exclude React Native fetch instrumentation from SDK crash detection by @antonis in [#110735](https://github.com/getsentry/sentry/pull/110735)\n- (seer) Handle empty response in SCM integrations query by @oioki in [#110836](https://github.com/getsentry/sentry/pull/110836)\n- (self-hosted) Migration inconsistency by @hubertdeng123 in [#110810](https://github.com/getsentry/sentry/pull/110810)\n- (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)\n- (tests) Use explicit region override in snowflake ID tests by @mchen-sentry in [#110774](https://github.com/getsentry/sentry/pull/110774)\n- Revert \"feat(spans): add per-trace segment flush limit\" by @lvthanh03 in [#110642](https://github.com/getsentry/sentry/pull/110642)\n- Missing some available project instrumentation by @shruthilayaj in [#110689](https://github.com/getsentry/sentry/pull/110689)\n\n### Internal Changes 🔧\n\n#### Cells\n\n- Clean up temporary region aliases by @lynnagara in [#110762](https://github.com/getsentry/sentry/pull/110762)\n- Rename python code in hybrid cloud models by @lynnagara in [#110769](https://github.com/getsentry/sentry/pull/110769)\n- Silo client renames by @lynnagara in [#110701](https://github.com/getsentry/sentry/pull/110701)\n- Migrate org provisioning code from region -> cell by @lynnagara in [#110696](https://github.com/getsentry/sentry/pull/110696)\n- Update rpc callers to pass cell_name by @lynnagara in [#110702](https://github.com/getsentry/sentry/pull/110702)\n- Update handle_async_deletion and handle_async_replication model methods by @lynnagara in [#110707](https://github.com/getsentry/sentry/pull/110707)\n- Switch callers to new rpc methods by @lynnagara in [#110691](https://github.com/getsentry/sentry/pull/110691)\n\n#### Seer\n\n- Move seer settings routes into a getsentry hook by @ryan953 in [#110811](https://github.com/getsentry/sentry/pull/110811)\n- Change prompt to include fix in commit by @sehr-m in [#110813](https://github.com/getsentry/sentry/pull/110813)\n- Drop SeerOrganizationSettings table by @srest2021 in [#110660](https://github.com/getsentry/sentry/pull/110660)\n\n#### Spans\n\n- Remove zero-copy-dest-threshold option and SUNIONSTORE codepath by @untitaker in [#110759](https://github.com/getsentry/sentry/pull/110759)\n- Remove unused end_timestamp from Span NamedTuple by @untitaker in [#109788](https://github.com/getsentry/sentry/pull/109788)\n\n#### Supergroups\n\n- Consolidate supergroups files into dedicated package by @cvxluo in [#110803](https://github.com/getsentry/sentry/pull/110803)\n- Filter out supergroups with only one issue by @cvxluo in [#110714](https://github.com/getsentry/sentry/pull/110714)\n\n#### Uptime\n\n- Remove uptime-runtime-assertions feature flag by @evanpurkhiser in [#110478](https://github.com/getsentry/sentry/pull/110478)\n- Remove uptime-runtime-assertions feature flag [frontend] by @evanpurkhiser in [#110477](https://github.com/getsentry/sentry/pull/110477)\n\n#### Other\n\n- (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)\n- (CI) Exclude acceptance tests from backend workflow to optimize CI runs by @TkDodo in [#110632](https://github.com/getsentry/sentry/pull/110632)\n- (code-review) Remove old references to prevent app by @suejung-sentry in [#107015](https://github.com/getsentry/sentry/pull/107015)\n- (core) Rename AutoSaveField to AutoSaveForm by @TkDodo in [#110733](https://github.com/getsentry/sentry/pull/110733)\n- (dashboards) Use VisualizationWidget in fullscreen widget viewer by @DominikB2014 in [#110765](https://github.com/getsentry/sentry/pull/110765)\n- (explore) Remove duplicate number attributes that exist as boolean tags by @nsdeschenes in [#110518](https://github.com/getsentry/sentry/pull/110518)\n- (explorer) Register RepoClient methods for local rpc by @aliu39 in [#110728](https://github.com/getsentry/sentry/pull/110728)\n- (grouping) More parameterization metric improvements by @lobsterkatie in [#110782](https://github.com/getsentry/sentry/pull/110782)\n- (lint) Add common ast utils by @natemoo-re in [#110446](https://github.com/getsentry/sentry/pull/110446)\n- (occ-eap) Misspell referer [sic] by @thetruecpaul in [#110805](https://github.com/getsentry/sentry/pull/110805)\n- (options) Remove ai-agent-monitoring.custom-model-mapping option by @vgrozdanic in [#110835](https://github.com/getsentry/sentry/pull/110835)\n- (preprod) Extract section chrome from diff components into parent by @mtopo27 in [#110558](https://github.com/getsentry/sentry/pull/110558)\n- (rr6) Convert RedirectToProjectModal to hooks by @evanpurkhiser in [#110744](https://github.com/getsentry/sentry/pull/110744)\n- (settings) Convert OrganizationRules from class to function component by @JoshuaKGoldberg in [#109561](https://github.com/getsentry/sentry/pull/109561)\n- (span-buffer) Test span buffer against examples by @untitaker in [#109318](https://github.com/getsentry/sentry/pull/109318)\n- (symbols) Extract DIF file validation helper by @szokeasaurusrex in [#110429](https://github.com/getsentry/sentry/pull/110429)\n- (traces) Prefer transaction over span.name for trace naming by @mjq in [#110708](https://github.com/getsentry/sentry/pull/110708)\n- Migrate remaining non-component default export values to named by @JoshuaKGoldberg in [#110630](https://github.com/getsentry/sentry/pull/110630)\n- Bump new development version in [0685f415](https://github.com/getsentry/sentry/commit/0685f4152f77e0867c5fa4bb0e187913dfe7de59)\n- 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)\n\n### Other\n\n- fix(nav) fix navigation icon container by @JonasBa in [#110864](https://github.com/getsentry/sentry/pull/110864)\n- ref(nav) update whatsnew and service incidents by @JonasBa in [#110809](https://github.com/getsentry/sentry/pull/110809)\n- adds chat panel to generate dashboards flow by @edwardgou-sentry in [#110725](https://github.com/getsentry/sentry/pull/110725)\n- Add alarm to cut trigger on sentry app webhook timing out by @Christinarlong in [#108563](https://github.com/getsentry/sentry/pull/108563)\n- bug(preprod): Fix overlay color selection by @rbro112 in [#110772](https://github.com/getsentry/sentry/pull/110772)\n- debug(span-buffer): more precise metrics for ttl expiration by @victoria-yining-huang in [#110635](https://github.com/getsentry/sentry/pull/110635)\n- ref(nav) layout by @JonasBa in [#110590](https://github.com/getsentry/sentry/pull/110590)\n- Add GitLab to the SCM platform by @jacquev6 in [#109468](https://github.com/getsentry/sentry/pull/109468)\n- feat(explore) Adding epm, eps columns to occurrences dataset by @manessaraj in [#110540](https://github.com/getsentry/sentry/pull/110540)","publishedAt":"2026-03-17T17:23:26.000Z","fetchedAt":"2026-03-26T19:15:26.787Z","url":"https://github.com/getsentry/sentry/releases/tag/26.3.1","media":[],"coverageCount":0},{"id":"rel_W4BPYdTN5qyvNZ-nRjdDE","version":"26.3.0","type":"feature","title":"26.3.0","summary":"### New Features ✨\n\n#### Aci\n\n- Make rule stats and group history endpoints backwards compatible by @ceorourke in [#110282](https://github.com/getsent...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- Make rule stats and group history endpoints backwards compatible by @ceorourke in [#110282](https://github.com/getsentry/sentry/pull/110282)\n- Make ProjectRulesEndpoint POST method backwards compatible by @ceorourke in [#109926](https://github.com/getsentry/sentry/pull/109926)\n- Add error for unsupported condition by @ceorourke in [#110025](https://github.com/getsentry/sentry/pull/110025)\n- Dual delete Workflow/Rule if flag enabled by @ceorourke in [#110003](https://github.com/getsentry/sentry/pull/110003)\n- Make OrganizationAlertRuleDetails DELETE method backwards compatible by @ceorourke in [#109845](https://github.com/getsentry/sentry/pull/109845)\n- Make ProjectRulesEndpoint GET method backwards compatible by @ceorourke in [#109744](https://github.com/getsentry/sentry/pull/109744)\n- Make ProjectRuleDetailsEndpoint DELETE method backwards compatible by @ceorourke in [#109752](https://github.com/getsentry/sentry/pull/109752)\n- Make ProjectRuleDetailsEndpoint GET method backwards compatible by @ceorourke in [#109387](https://github.com/getsentry/sentry/pull/109387)\n- Update copy on metric alert wizard to refernce issue creation by @malwilley in [#109223](https://github.com/getsentry/sentry/pull/109223)\n- Add issue type filter to old alerts by @malwilley in [#108273](https://github.com/getsentry/sentry/pull/108273)\n- Update issue type issue handler to work with frontend by @malwilley in [#108241](https://github.com/getsentry/sentry/pull/108241)\n\n#### Ai Conversations\n\n- Add arcade to onboarding by @obostjancic in [#110296](https://github.com/getsentry/sentry/pull/110296)\n- Sidebar label by @obostjancic in [#109935](https://github.com/getsentry/sentry/pull/109935)\n- Move to explore by @obostjancic in [#109874](https://github.com/getsentry/sentry/pull/109874)\n- Design polish by @obostjancic in [#109773](https://github.com/getsentry/sentry/pull/109773)\n- Onboarding by @obostjancic in [#109651](https://github.com/getsentry/sentry/pull/109651)\n- Remove default filter by @obostjancic in [#109475](https://github.com/getsentry/sentry/pull/109475)\n- Return only conversations with input and output by @obostjancic in [#109175](https://github.com/getsentry/sentry/pull/109175)\n- Drawer redesign by @obostjancic in [#109182](https://github.com/getsentry/sentry/pull/109182)\n\n#### Alerts\n\n- Include single-written detectors in AlertRuleFetchMixin.fetch_metric_alerts by @kcons in [#110673](https://github.com/getsentry/sentry/pull/110673)\n- Add trace metrics support to new alert UI (detectors) by @k-fish in [#108730](https://github.com/getsentry/sentry/pull/108730)\n- Consistent logging for cases where users hit alert limits by @kcons in [#109101](https://github.com/getsentry/sentry/pull/109101)\n\n#### Assets\n\n- Add image preview to assets summary details widget by @DominikB2014 in [#109329](https://github.com/getsentry/sentry/pull/109329)\n- Link frontend overview assets widget to assets summary dashboard by @DominikB2014 in [#109323](https://github.com/getsentry/sentry/pull/109323)\n- Add platformized assets page with dashboard migration flag by @DominikB2014 in [#109240](https://github.com/getsentry/sentry/pull/109240)\n\n#### Autofix\n\n- Loading states for redesigned autofix by @Zylphrex in [#110646](https://github.com/getsentry/sentry/pull/110646)\n- Prompt the agent to run the step again by @Zylphrex in [#110596](https://github.com/getsentry/sentry/pull/110596)\n- Add next steps button in autofix drawer by @Zylphrex in [#110476](https://github.com/getsentry/sentry/pull/110476)\n- Add open seer button in autofix section by @Zylphrex in [#110432](https://github.com/getsentry/sentry/pull/110432)\n- Directly restart autofix when clicking on reset by @Zylphrex in [#110444](https://github.com/getsentry/sentry/pull/110444)\n- Redesigned autofix cards by @Zylphrex in [#110326](https://github.com/getsentry/sentry/pull/110326)\n- Redesigned empty state for autofix section by @Zylphrex in [#110370](https://github.com/getsentry/sentry/pull/110370)\n- Redesigned autofix previews by @Zylphrex in [#110203](https://github.com/getsentry/sentry/pull/110203)\n- Show Cursor GitHub access modal on verify-branch error by @isaacwang-sentry in [#109695](https://github.com/getsentry/sentry/pull/109695)\n- Pass on_completion_hook to explorer create PR by @Zylphrex in [#109787](https://github.com/getsentry/sentry/pull/109787)\n- Allow creating explorer autofix prs from slack by @Zylphrex in [#109528](https://github.com/getsentry/sentry/pull/109528)\n- Render diff in explorer autofix slack integration by @Zylphrex in [#109396](https://github.com/getsentry/sentry/pull/109396)\n- Add github_app field to autofix PR analytics events by @JoshFerge in [#109383](https://github.com/getsentry/sentry/pull/109383)\n- Add some debug log for explorer autofix by @Zylphrex in [#109233](https://github.com/getsentry/sentry/pull/109233)\n- Support explorer autofix responses for some slack hooks by @Zylphrex in [#109103](https://github.com/getsentry/sentry/pull/109103)\n\n#### Billing\n\n- Add UsageService to billing platform by @dashed in [#110157](https://github.com/getsentry/sentry/pull/110157)\n- \\_admin page for viewing Contract information by @brendanhsentry in [#109853](https://github.com/getsentry/sentry/pull/109853)\n- Add BillingService base class and service method decorator by @volokluev in [#109376](https://github.com/getsentry/sentry/pull/109376)\n\n#### Cells\n\n- Update_region_user RPC method to support both region_name and cell_name by @lynnagara in [#110275](https://github.com/getsentry/sentry/pull/110275)\n- Add unique constraint to projectkeymapping table by @lynnagara in [#110235](https://github.com/getsentry/sentry/pull/110235)\n- Add idx to OrganizationMapping table for synapse by @lynnagara in [#110168](https://github.com/getsentry/sentry/pull/110168)\n- Add projectkeymapping table to control silo by @lynnagara in [#109831](https://github.com/getsentry/sentry/pull/109831)\n- Update org-cell-mappings endpoint by @lynnagara in [#109758](https://github.com/getsentry/sentry/pull/109758)\n- Add synapse paginator by @lynnagara in [#109412](https://github.com/getsentry/sentry/pull/109412)\n- Expand locality/cell distinction by @lynnagara in [#109538](https://github.com/getsentry/sentry/pull/109538)\n- Add db migration for synapse by @lynnagara in [#109615](https://github.com/getsentry/sentry/pull/109615)\n\n#### Ci\n\n- Report backend test fails by @joshuarli in [#109543](https://github.com/getsentry/sentry/pull/109543)\n- Selective testing escape hatch by @joshuarli in [#109136](https://github.com/getsentry/sentry/pull/109136)\n\n#### Code Review\n\n- Call new endpoints by @armenzg in [#109956](https://github.com/getsentry/sentry/pull/109956)\n- Control: include github_event & action info by @armenzg in [#109995](https://github.com/getsentry/sentry/pull/109995)\n- Add option to skip code review for excluded PR authors by @srest2021 in [#110101](https://github.com/getsentry/sentry/pull/110101)\n- Validate before scheduling by @armenzg in [#108545](https://github.com/getsentry/sentry/pull/108545)\n\n#### Coding Integrations\n\n- Limit coding agent integrations to one per organization by @sehr-m in [#110690](https://github.com/getsentry/sentry/pull/110690)\n- Add Claude logo for claude_code integration by @sehr-m in [#110663](https://github.com/getsentry/sentry/pull/110663)\n\n#### Context Engine\n\n- Pass context engine feature flag to Seer by @Mihir-Mavalankar in [#109508](https://github.com/getsentry/sentry/pull/109508)\n- New feature flag for explorer context engine by @Mihir-Mavalankar in [#109145](https://github.com/getsentry/sentry/pull/109145)\n- New task to generate project summaries for context engine by @Mihir-Mavalankar in [#108760](https://github.com/getsentry/sentry/pull/108760)\n\n#### Core Ui\n\n- Move fzf from profiling to utils by @JonasBa in [#109142](https://github.com/getsentry/sentry/pull/109142)\n- Allow searchMatcher to return a score for result ordering by @JonasBa in [#108719](https://github.com/getsentry/sentry/pull/108719)\n- Add searchMatcher prop to CompactSelect by @JonasBa in [#108714](https://github.com/getsentry/sentry/pull/108714)\n\n#### Dashboards\n\n- Hide detail/summary prebuilt dashboards from list by default by @DominikB2014 in [#110625](https://github.com/getsentry/sentry/pull/110625)\n- 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)\n- Update AI Agents Trace Table widget to use spans global filter by @edwardgou-sentry in [#110554](https://github.com/getsentry/sentry/pull/110554)\n- Integrate text widget visualization into product by @nikkikapadia in [#110245](https://github.com/getsentry/sentry/pull/110245)\n- Add Sentry Built nav item and remove prebuilt toggle by @DominikB2014 in [#110468](https://github.com/getsentry/sentry/pull/110468)\n- Add legendType field and support field links for breakdown charts by @DominikB2014 in [#110420](https://github.com/getsentry/sentry/pull/110420)\n- Adds Create Dashboard with Seer frontend modal and preview page by @edwardgou-sentry in [#110451](https://github.com/getsentry/sentry/pull/110451)\n- Add onlyPrebuilt filter to dashboards endpoint by @DominikB2014 in [#110465](https://github.com/getsentry/sentry/pull/110465)\n- Add optional onboarding widgets for prebuilt dashboards by @gggritso in [#110244](https://github.com/getsentry/sentry/pull/110244)\n- Add starred transaction field to widget builder by @DominikB2014 in [#110450](https://github.com/getsentry/sentry/pull/110450)\n- Add analytics events to onboarding CTAs on Project Details by @gggritso in [#110368](https://github.com/getsentry/sentry/pull/110368)\n- Adds dashboards generate endpoint by @edwardgou-sentry in [#110254](https://github.com/getsentry/sentry/pull/110254)\n- Release pre-starred prebuilt dashboards to EA by @DominikB2014 in [#110305](https://github.com/getsentry/sentry/pull/110305)\n- Deprecate issue timeseries widgets flag from backend by @edwardgou-sentry in [#110236](https://github.com/getsentry/sentry/pull/110236)\n- Separate prebuilt dashboards in starred sidebar by @DominikB2014 in [#110303](https://github.com/getsentry/sentry/pull/110303)\n- Deprecate usage of issue timeseries widget flag from frontend by @edwardgou-sentry in [#110238](https://github.com/getsentry/sentry/pull/110238)\n- Add default filters for AI Agents and MCP dashboards by @edwardgou-sentry in [#110281](https://github.com/getsentry/sentry/pull/110281)\n- Add pre-favorited sync for prebuilt dashboards by @DominikB2014 in [#110209](https://github.com/getsentry/sentry/pull/110209)\n- Add text widget visualization by @nikkikapadia in [#110138](https://github.com/getsentry/sentry/pull/110138)\n- Add toggle to hide prebuilt Sentry dashboards by @DominikB2014 in [#109971](https://github.com/getsentry/sentry/pull/109971)\n- Add favorited column to DashboardFavoriteUser by @DominikB2014 in [#110096](https://github.com/getsentry/sentry/pull/110096)\n- Add logs confidence footer to dashboard widgets by @nsdeschenes in [#109940](https://github.com/getsentry/sentry/pull/109940)\n- Support multiple filters on dashboards list endpoint by @DominikB2014 in [#109973](https://github.com/getsentry/sentry/pull/109973)\n- Add trace metrics confidence footer to dashboard widgets by @nsdeschenes in [#109941](https://github.com/getsentry/sentry/pull/109941)\n- Backend validation for text widget by @nikkikapadia in [#108535](https://github.com/getsentry/sentry/pull/108535)\n- Increase default height for Laravel table widgets by @DominikB2014 in [#109966](https://github.com/getsentry/sentry/pull/109966)\n- Link AI Prebuilt Dashboard widgets with breakdown legends to appropriate Prebuilt Dashboards by @edwardgou-sentry in [#109964](https://github.com/getsentry/sentry/pull/109964)\n- Add feature flag for insights prebuilt dashboards by @DominikB2014 in [#109954](https://github.com/getsentry/sentry/pull/109954)\n- Increase table size for Laravel overview page by @DominikB2014 in [#109945](https://github.com/getsentry/sentry/pull/109945)\n- Show save button on prebuilt dashboards when filters change by @DominikB2014 in [#109902](https://github.com/getsentry/sentry/pull/109902)\n- Add errors column to prebuilt MCP dashboards tables by @edwardgou-sentry in [#109873](https://github.com/getsentry/sentry/pull/109873)\n- AI Agent prebuilt dashboard improvements by @edwardgou-sentry in [#109830](https://github.com/getsentry/sentry/pull/109830)\n- Add moving notice banner to insight pages by @DominikB2014 in [#109813](https://github.com/getsentry/sentry/pull/109813)\n- Increase char limit on widget description by @nikkikapadia in [#108529](https://github.com/getsentry/sentry/pull/108529)\n- Adds error count column to mcp prebuilt dashboard tables by @edwardgou-sentry in [#109838](https://github.com/getsentry/sentry/pull/109838)\n- Add spans table field renderer for internal error count by @edwardgou-sentry in [#109761](https://github.com/getsentry/sentry/pull/109761)\n- Updates AI Agents Overview prebuilt dashboard Traces table to open Trace drawer by @edwardgou-sentry in [#109763](https://github.com/getsentry/sentry/pull/109763)\n- Register backend caches prebuilt dashboard module by @DominikB2014 in [#109702](https://github.com/getsentry/sentry/pull/109702)\n- Register caches prebuilt dashboard on frontend by @DominikB2014 in [#109703](https://github.com/getsentry/sentry/pull/109703)\n- Add Agents Traces Table widget to platformized AI overview dashboard by @edwardgou-sentry in [#109565](https://github.com/getsentry/sentry/pull/109565)\n- Add 'datamin' support to Mobile Session Health dashboard by @jameskeane in [#109606](https://github.com/getsentry/sentry/pull/109606)\n- Register Queues and Queue Summary prebuilt dashboards on frontend by @DominikB2014 in [#109594](https://github.com/getsentry/sentry/pull/109594)\n- Register Queues and Queue Summary prebuilt dashboards on backend by @DominikB2014 in [#109595](https://github.com/getsentry/sentry/pull/109595)\n- Add maxFontSize prop to AutoSizedText and use it in details widget by @DominikB2014 in [#109577](https://github.com/getsentry/sentry/pull/109577)\n- Add axisRange frontend types, state, wiring, and builder UI by @mtopo27 in [#109390](https://github.com/getsentry/sentry/pull/109390)\n- Add Crash Free Session Rate widget to Mobile Vitals dashboard by @gggritso in [#108226](https://github.com/getsentry/sentry/pull/108226)\n- Persist and serve axisRange on dashboard widgets by @mtopo27 in [#109389](https://github.com/getsentry/sentry/pull/109389)\n- 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)\n- Filter Mobile Vitals tables to screens with nonzero metrics by @gggritso in [#109372](https://github.com/getsentry/sentry/pull/109372)\n- Add AI Model icons to Visualization Widget breakdown labels by @edwardgou-sentry in [#109324](https://github.com/getsentry/sentry/pull/109324)\n- Add prebuilt dashboard configs for MCP dashboards by @edwardgou-sentry in [#109243](https://github.com/getsentry/sentry/pull/109243)\n- Adds prebuilt dashboard configs for AI Agent modules by @edwardgou-sentry in [#109235](https://github.com/getsentry/sentry/pull/109235)\n- Register FRONTEND_ASSETS_SUMMARY prebuilt dashboard by @DominikB2014 in [#109230](https://github.com/getsentry/sentry/pull/109230)\n- Add FRONTEND_ASSETS_SUMMARY prebuilt config by @DominikB2014 in [#109229](https://github.com/getsentry/sentry/pull/109229)\n- Register FRONTEND_ASSETS prebuilt dashboard by @DominikB2014 in [#109216](https://github.com/getsentry/sentry/pull/109216)\n- Add blank FRONTEND_ASSETS prebuilt dashboard by @DominikB2014 in [#109221](https://github.com/getsentry/sentry/pull/109221)\n- Create laravel overview prebuilt dashboard by @DominikB2014 in [#109079](https://github.com/getsentry/sentry/pull/109079)\n- Registers initial prebuilt configs for ai modules in dashboards by @edwardgou-sentry in [#109190](https://github.com/getsentry/sentry/pull/109190)\n- Register Laravel Overview prebuilt dashboard by @DominikB2014 in [#109130](https://github.com/getsentry/sentry/pull/109130)\n- Register AI Agent and MCP prebuilt dashboard ids to backend by @edwardgou-sentry in [#109086](https://github.com/getsentry/sentry/pull/109086)\n- 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)\n- Add chart threshold support to dashboard widgets by @DominikB2014 in [#108368](https://github.com/getsentry/sentry/pull/108368)\n- Add insights-laravel-overview-dashboard-migration feature flag by @DominikB2014 in [#109077](https://github.com/getsentry/sentry/pull/109077)\n- Allow interval selection similar to explore by @bcoe in [#108416](https://github.com/getsentry/sentry/pull/108416)\n- Add dashboards-interval-selection feature flag by @DominikB2014 in [#109073](https://github.com/getsentry/sentry/pull/109073)\n\n#### Dev\n\n- Prevent absolute date times by @armenzg in [#110671](https://github.com/getsentry/sentry/pull/110671)\n- Autoprovision devenv when making a new git worktree by @joshuarli in [#109889](https://github.com/getsentry/sentry/pull/109889)\n\n#### Discover\n\n- Updates android devices mapping and update script to work without csv-parser by @edwardgou-sentry in [#109669](https://github.com/getsentry/sentry/pull/109669)\n- Allow ttid/ttfd contribution rate in arithmetic equations by @gggritso in [#109521](https://github.com/getsentry/sentry/pull/109521)\n\n#### Eslint\n\n- Add initial no-default-export-components rule by @JoshuaKGoldberg in [#110266](https://github.com/getsentry/sentry/pull/110266)\n- Add restrict-jsx-slot-children lint rule by @JonasBa in [#109169](https://github.com/getsentry/sentry/pull/109169)\n\n#### Explore\n\n- Adds trace_status_rate to allow list by @edwardgou-sentry in [#110455](https://github.com/getsentry/sentry/pull/110455)\n- Add multi-key support for `has:` search filter by @manessaraj in [#109907](https://github.com/getsentry/sentry/pull/109907)\n- Allow clearing of last group by by @nsdeschenes in [#107924](https://github.com/getsentry/sentry/pull/107924)\n\n#### Explorer\n\n- Gate coding tools on org feature flag and org option by @aliu39 in [#110705](https://github.com/getsentry/sentry/pull/110705)\n- Add max_iterations support to SeerExplorerClient by @cvxluo in [#110006](https://github.com/getsentry/sentry/pull/110006)\n- Add get_issue_details and get_event_details RPCs by @aliu39 in [#110027](https://github.com/getsentry/sentry/pull/110027)\n- Return meta dict from table rpcs by @aliu39 in [#109359](https://github.com/getsentry/sentry/pull/109359)\n\n#### Flags\n\n- Remove graduated data-browsing profiling feature flags (batch 3) by @wedamija in [#108780](https://github.com/getsentry/sentry/pull/108780)\n- Remove graduated data-browsing-8 feature flags by @wedamija in [#108808](https://github.com/getsentry/sentry/pull/108808)\n- Remove graduated ecosystem feature flags by @wedamija in [#108813](https://github.com/getsentry/sentry/pull/108813)\n- Remove graduated issue-workflow feature flag by @wedamija in [#108816](https://github.com/getsentry/sentry/pull/108816)\n- Remove graduated team-replay-2 feature flags by @wedamija in [#108812](https://github.com/getsentry/sentry/pull/108812)\n- Remove graduated issue_detection feature flags by @wedamija in [#108775](https://github.com/getsentry/sentry/pull/108775)\n- Add frontend assets dashboard migration flag by @DominikB2014 in [#109217](https://github.com/getsentry/sentry/pull/109217)\n- Remove graduated ml-ai feature flags by @wedamija in [#108814](https://github.com/getsentry/sentry/pull/108814)\n- Remove graduated team-replay user-feedback AI flags by @wedamija in [#108811](https://github.com/getsentry/sentry/pull/108811)\n- Remove graduated coding-workflows feature flag by @wedamija in [#108815](https://github.com/getsentry/sentry/pull/108815)\n- Remove graduated mep-rollout-flag feature flag by @wedamija in [#108810](https://github.com/getsentry/sentry/pull/108810)\n- Remove dead issue-search-allow-postgres-only-search flag by @wedamija in [#108721](https://github.com/getsentry/sentry/pull/108721)\n- Remove graduated dashboards-mep feature flag by @wedamija in [#108809](https://github.com/getsentry/sentry/pull/108809)\n- Remove dead perf-discover-widget-split-ui and txn-summary-cleanup flags by @wedamija in [#108763](https://github.com/getsentry/sentry/pull/108763)\n\n#### Infra\n\n- Report frontend-snapshot upload failures to Sentry by @rbro112 in [#110427](https://github.com/getsentry/sentry/pull/110427)\n- Replace full backend workflow on PRs with selective testing by @rbro112 in [#109346](https://github.com/getsentry/sentry/pull/109346)\n\n#### Insights\n\n- Add moving notice banners to Crons and Uptime by @gggritso in [#109910](https://github.com/getsentry/sentry/pull/109910)\n- Add platformized cache module with conditional rendering by @DominikB2014 in [#109707](https://github.com/getsentry/sentry/pull/109707)\n- Add feature flag for cache module dashboard migration by @DominikB2014 in [#109698](https://github.com/getsentry/sentry/pull/109698)\n- Add prebuilt dashboard rendering for queues landing page by @DominikB2014 in [#109610](https://github.com/getsentry/sentry/pull/109610)\n\n#### Integrations\n\n- Expand platform detection to 98% picker coverage by @jaydgoss in [#109701](https://github.com/getsentry/sentry/pull/109701)\n- Add GitHub repository platform detection by @jaydgoss in [#109699](https://github.com/getsentry/sentry/pull/109699)\n- Register platform detection feature flag by @jaydgoss in [#110243](https://github.com/getsentry/sentry/pull/110243)\n\n#### Issues\n\n- Remove issues from stream on action w/ realtime by @scttcper in [#110175](https://github.com/getsentry/sentry/pull/110175)\n- Improve issue diff copy and loading experience by @scttcper in [#110267](https://github.com/getsentry/sentry/pull/110267)\n- Improve regression breakpoint chart experience by @scttcper in [#110171](https://github.com/getsentry/sentry/pull/110171)\n- Add open in explore to regression breakpoint by @scttcper in [#109759](https://github.com/getsentry/sentry/pull/109759)\n- Rebuild potential causes component by @scttcper in [#109748](https://github.com/getsentry/sentry/pull/109748)\n- Remove checks for issue view ai title by @scttcper in [#109704](https://github.com/getsentry/sentry/pull/109704)\n- Remove checks for issue view ai title by @scttcper in [#109705](https://github.com/getsentry/sentry/pull/109705)\n\n#### Metric Issues\n\n- Add analytics to detector details link by @malwilley in [#109925](https://github.com/getsentry/sentry/pull/109925)\n- Track notification UUID on issue details by @malwilley in [#109917](https://github.com/getsentry/sentry/pull/109917)\n- Add attribute comparisons section (for span queries) by @malwilley in [#109627](https://github.com/getsentry/sentry/pull/109627)\n\n#### Notifications\n\n- Improve deploy email subjects by @dcramer in [#110348](https://github.com/getsentry/sentry/pull/110348)\n- Threading service locking and followup by @Christinarlong in [#109147](https://github.com/getsentry/sentry/pull/109147)\n\n#### Occurrences On Eap\n\n- Implement double-read performance issues query for summaries task by @shashjar in [#110277](https://github.com/getsentry/sentry/pull/110277)\n- Implement double-read query for trace errors count by @shashjar in [#110251](https://github.com/getsentry/sentry/pull/110251)\n- Update query abstractions & utils by @shashjar in [#109696](https://github.com/getsentry/sentry/pull/109696)\n- Implement double reads from EAP for organization traces API endpoint by @shashjar in [#109636](https://github.com/getsentry/sentry/pull/109636)\n- Implement double reads from EAP for monitors associated groups by @shashjar in [#108008](https://github.com/getsentry/sentry/pull/108008)\n- Implement double reads from EAP for error counts timeseries by @shashjar in [#107308](https://github.com/getsentry/sentry/pull/107308)\n- Implement double reads from EAP in organization events trace API endpoint by @shashjar in [#109391](https://github.com/getsentry/sentry/pull/109391)\n- Implement double reads from EAP for reprocessing2 flow by @shashjar in [#109345](https://github.com/getsentry/sentry/pull/109345)\n- Support debug logging for data mismatches in rollout comparator by @shashjar in [#109247](https://github.com/getsentry/sentry/pull/109247)\n\n#### Onboarding\n\n- Add copy-as-markdown button to project creation and signup setup docs by @jaydgoss in [#109237](https://github.com/getsentry/sentry/pull/109237)\n- Add guide for setup without `--import` to tanstack start by @nicohrubec in [#109549](https://github.com/getsentry/sentry/pull/109549)\n- Add logs option to Tanstack Start onboarding by @nicohrubec in [#109550](https://github.com/getsentry/sentry/pull/109550)\n- Register feature flag for copy instructions on project creation by @jaydgoss in [#109232](https://github.com/getsentry/sentry/pull/109232)\n- Add global sentry exception middlewares to tanstack start onboarding by @nicohrubec in [#108351](https://github.com/getsentry/sentry/pull/108351)\n- Design adjustments for copy markdown button by @jaydgoss in [#108696](https://github.com/getsentry/sentry/pull/108696)\n\n#### Pagefilters\n\n- Fix sentinel toggle behavior for All/My Projects quick-select by @JonasBa in [#109545](https://github.com/getsentry/sentry/pull/109545)\n- Auto-select single project for single-project orgs by @JonasBa in [#109767](https://github.com/getsentry/sentry/pull/109767)\n\n#### Perf Detectors\n\n- Set default enabled state of perf Detectors based on configuration by @kcons in [#109961](https://github.com/getsentry/sentry/pull/109961)\n- Make ProjectPerformanceIssueSettingsEndpoint optionally write to Detector.config by @kcons in [#109623](https://github.com/getsentry/sentry/pull/109623)\n- Consider Performance Detectors to be system created by @kcons in [#109762](https://github.com/getsentry/sentry/pull/109762)\n- Create Performance Detectors by default by @kcons in [#109760](https://github.com/getsentry/sentry/pull/109760)\n\n#### Preprod\n\n- Navigate through snapshots with keyboard by @rbro112 in [#110614](https://github.com/getsentry/sentry/pull/110614)\n- 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)\n- Add launchpad-taskbroker-rollout feature flag by @NicoHinderling in [#110549](https://github.com/getsentry/sentry/pull/110549)\n- Add app name, app ID, and install columns to PR comment table by @runningcode in [#110418](https://github.com/getsentry/sentry/pull/110418)\n- Add PR comments toggle to Mobile Builds settings by @runningcode in [#110051](https://github.com/getsentry/sentry/pull/110051)\n- Add project-level toggle for build distribution PR comments by @runningcode in [#110050](https://github.com/getsentry/sentry/pull/110050)\n- Filter snapshot artifacts from builds endpoint when display is set by @NicoHinderling in [#110265](https://github.com/getsentry/sentry/pull/110265)\n- Post build distribution comments to GitHub PRs by @runningcode in [#109476](https://github.com/getsentry/sentry/pull/109476)\n- Add distribution error endpoint for launchpad by @runningcode in [#109497](https://github.com/getsentry/sentry/pull/109497)\n- Add different snapshot diff viewing options by @NicoHinderling in [#109892](https://github.com/getsentry/sentry/pull/109892)\n- Add rename detection to snapshot comparisons by @NicoHinderling in [#109848](https://github.com/getsentry/sentry/pull/109848)\n- Add public build-distribution/latest endpoint by @trevor-e in [#109584](https://github.com/getsentry/sentry/pull/109584)\n- Add snapshot diff comparison UI by @NicoHinderling in [#109403](https://github.com/getsentry/sentry/pull/109403)\n- Return snapshot URL in create snapshot response by @runningcode in [#109662](https://github.com/getsentry/sentry/pull/109662)\n- Add distribution_error_code filter to list builds by @runningcode in [#109491](https://github.com/getsentry/sentry/pull/109491)\n- Add comparisonRunInfo data to response + new extra frontend models by @NicoHinderling in [#109619](https://github.com/getsentry/sentry/pull/109619)\n- Make snapshots endpoint org scoped by @NicoHinderling in [#109575](https://github.com/getsentry/sentry/pull/109575)\n- Create admin gated recompare snapshots endpoint by @NicoHinderling in [#109546](https://github.com/getsentry/sentry/pull/109546)\n- Add public install-details endpoint and shared utilities by @trevor-e in [#109583](https://github.com/getsentry/sentry/pull/109583)\n- Add snapshot image comparison task and endpoint logic by @NicoHinderling in [#109151](https://github.com/getsentry/sentry/pull/109151)\n- Add snapshot comparison task by @NicoHinderling in [#109382](https://github.com/getsentry/sentry/pull/109382)\n- Add image comparison library with odiff batch support by @NicoHinderling in [#109381](https://github.com/getsentry/sentry/pull/109381)\n- Add public size analysis API by @trevor-e in [#108789](https://github.com/getsentry/sentry/pull/108789)\n- Add odiff server wrapper and Dockerfile binary install by @NicoHinderling in [#109380](https://github.com/getsentry/sentry/pull/109380)\n- Add detector_id to size analysis occurrence evidence data by @chromy in [#109487](https://github.com/getsentry/sentry/pull/109487)\n- Track distribution state on PreprodArtifact by @runningcode in [#109062](https://github.com/getsentry/sentry/pull/109062)\n- Enrich size analysis detector occurrences with metadata by @chromy in [#109069](https://github.com/getsentry/sentry/pull/109069)\n- Register PR comments feature flag by @runningcode in [#109484](https://github.com/getsentry/sentry/pull/109484)\n- Add size monitor UI by @chromy in [#108211](https://github.com/getsentry/sentry/pull/108211)\n- Add GitHub Enterprise support for size analysis status checks by @trevor-e in [#109348](https://github.com/getsentry/sentry/pull/109348)\n- Add distribution state fields to PreprodArtifact (EME-842) by @runningcode in [#109075](https://github.com/getsentry/sentry/pull/109075)\n- Add analytics events for status check threshold failures and approvals by @mtopo27 in [#109132](https://github.com/getsentry/sentry/pull/109132)\n- Add analytics for status check rule CRUD by @mtopo27 in [#109125](https://github.com/getsentry/sentry/pull/109125)\n- Group failed checks by bundle ID and build configuration by @mtopo27 in [#108373](https://github.com/getsentry/sentry/pull/108373)\n- Add App Clip artifact support to size checks by @cameroncooke in [#108676](https://github.com/getsentry/sentry/pull/108676)\n- Add App Clip options to size analysis UI by @cameroncooke in [#108675](https://github.com/getsentry/sentry/pull/108675)\n- Hook size analysis detector to diff by @chromy in [#108209](https://github.com/getsentry/sentry/pull/108209)\n- Add new issue type to frontend by @chromy in [#108210](https://github.com/getsentry/sentry/pull/108210)\n\n#### Processing Errors\n\n- Add `SourcemapConfigurationType GroupType` and `CONFIGURATION` category by @wedamija in [#109542](https://github.com/getsentry/sentry/pull/109542)\n- Store processing errors in EAP by @wedamija in [#109285](https://github.com/getsentry/sentry/pull/109285)\n\n#### Relay\n\n- Add feature flag for new error processing pipeline by @Dav1dde in [#109866](https://github.com/getsentry/sentry/pull/109866)\n- Register option for objectstore sample rate by @jjbayer in [#109482](https://github.com/getsentry/sentry/pull/109482)\n- Upload endpoint feature by @jjbayer in [#109185](https://github.com/getsentry/sentry/pull/109185)\n\n#### Scm\n\n- Can returns the named set of supporting actions by @cmanallen in [#110567](https://github.com/getsentry/sentry/pull/110567)\n- Add SCM subscriptions platform publisher by @cmanallen in [#107441](https://github.com/getsentry/sentry/pull/107441)\n- Add vendor-agnostic interfaces by @cmanallen in [#107360](https://github.com/getsentry/sentry/pull/107360)\n\n#### Seer\n\n- Register project and org option keys for seer preferences migration by @srest2021 in [#110548](https://github.com/getsentry/sentry/pull/110548)\n- Migration for SeerProjectRepository and SeerProjectRepositoryBranchOverride models by @srest2021 in [#110542](https://github.com/getsentry/sentry/pull/110542)\n- Allow installing integrations directly from within the Seer SCM treeview by @ryan953 in [#110551](https://github.com/getsentry/sentry/pull/110551)\n- 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)\n- Iterate on the seer settings header, copy and visual alignment by @ryan953 in [#110500](https://github.com/getsentry/sentry/pull/110500)\n- 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)\n- Rewrite the Seer > Project list page by @ryan953 in [#109531](https://github.com/getsentry/sentry/pull/109531)\n- Create an SCM config component to streamline seer setup by @ryan953 in [#110166](https://github.com/getsentry/sentry/pull/110166)\n- Add is_private field to repo definitions for code review by @vaind in [#110190](https://github.com/getsentry/sentry/pull/110190)\n- Detect Cursor GitHub access errors and return specific failure type by @isaacwang-sentry in [#109692](https://github.com/getsentry/sentry/pull/109692)\n- Add tooltip to ResponseDot showing step status by @chromy in [#109659](https://github.com/getsentry/sentry/pull/109659)\n- Add signed viewer context header to Seer API requests by @azulus in [#109626](https://github.com/getsentry/sentry/pull/109626)\n- Iterate on the instructions at the top of seer settings pages by @ryan953 in [#109586](https://github.com/getsentry/sentry/pull/109586)\n- Include isolated services in explorer service map by @shruthilayaj in [#109330](https://github.com/getsentry/sentry/pull/109330)\n- Add default_coding_agent field to SeerOrganizationSettings by @JoshFerge in [#108762](https://github.com/getsentry/sentry/pull/108762)\n- Simplify and consolidate the Settings > Project > Seer page by @ryan953 in [#109349](https://github.com/getsentry/sentry/pull/109349)\n- Add SeerOrganizationSettings model by @JoshFerge in [#109299](https://github.com/getsentry/sentry/pull/109299)\n- Add Explorer service map extraction pipeline by @shruthilayaj in [#108379](https://github.com/getsentry/sentry/pull/108379)\n- Add github_copilot_not_licensed failure type by @JoshFerge in [#108782](https://github.com/getsentry/sentry/pull/108782)\n\n#### Seer Explorer\n\n- Add copy-to-clipboard button to block action bar by @aliu39 in [#110224](https://github.com/getsentry/sentry/pull/110224)\n- Add /sentry-conversation slash command for employees by @aliu39 in [#108754](https://github.com/getsentry/sentry/pull/108754)\n\n#### Size\n\n- Kill list-builds endpoint in favor of builds endpoint by @NicoHinderling in [#110272](https://github.com/getsentry/sentry/pull/110272)\n- Migrate size compare build selection page to builds endpoint by @NicoHinderling in [#110271](https://github.com/getsentry/sentry/pull/110271)\n- Ensure builds endpoint has parity with list-builds endpoint by @NicoHinderling in [#110270](https://github.com/getsentry/sentry/pull/110270)\n\n#### Snapshots\n\n- Fix sidebar rendering for uploads with lots of images by @NicoHinderling in [#110156](https://github.com/getsentry/sentry/pull/110156)\n- Add d3-zoom interactivity by @NicoHinderling in [#109921](https://github.com/getsentry/sentry/pull/109921)\n- Add click-to-snap interaction on wipe slider by @NicoHinderling in [#110102](https://github.com/getsentry/sentry/pull/110102)\n- Simplify color picker by @NicoHinderling in [#109909](https://github.com/getsentry/sentry/pull/109909)\n\n#### Sourcemap Issues\n\n- Add sourcemap issue detection to post_process_group pipeline by @wedamija in [#109817](https://github.com/getsentry/sentry/pull/109817)\n- Add ensure_sourcemap_detector() provisioning function by @wedamija in [#109749](https://github.com/getsentry/sentry/pull/109749)\n- Add SourcemapDetectorHandler by @wedamija in [#109633](https://github.com/getsentry/sentry/pull/109633)\n- Add index to `DetectorState` table by @wedamija in [#109847](https://github.com/getsentry/sentry/pull/109847)\n\n#### Span Buffer\n\n- Add zerocopy mode by @untitaker in [#109313](https://github.com/getsentry/sentry/pull/109313)\n- OOB storage by @untitaker in [#109191](https://github.com/getsentry/sentry/pull/109191)\n\n#### Spans\n\n- Distribute span payload keys across Redis cluster by @lvthanh03 in [#110593](https://github.com/getsentry/sentry/pull/110593)\n- Add per-trace segment flush limit by @lvthanh03 in [#110337](https://github.com/getsentry/sentry/pull/110337)\n- Add flusher log support to GCP log analyzer tool by @lvthanh03 in [#109080](https://github.com/getsentry/sentry/pull/109080)\n- Emitting outcomes when `accepted_outcome_emitted` is false by @tobias-wilfert in [#109305](https://github.com/getsentry/sentry/pull/109305)\n- Add metric to ensure `accepted_outcome_emitted` arrives by @tobias-wilfert in [#109303](https://github.com/getsentry/sentry/pull/109303)\n- Bump `sentry-kafka-schemas` version by @tobias-wilfert in [#109174](https://github.com/getsentry/sentry/pull/109174)\n\n#### Supergroups\n\n- Add lightweight supergroups page and drawer by @cvxluo in [#110232](https://github.com/getsentry/sentry/pull/110232)\n- Lightweight RCA prototype by @cvxluo in [#110191](https://github.com/getsentry/sentry/pull/110191)\n- Add API endpoints for supergroups by @cvxluo in [#109972](https://github.com/getsentry/sentry/pull/109972)\n\n#### Tracemetrics\n\n- Support units in monitors UI by @narsaynorath in [#109732](https://github.com/getsentry/sentry/pull/109732)\n- Alerts allow search on field by @narsaynorath in [#109883](https://github.com/getsentry/sentry/pull/109883)\n- Use units in alerts metric selector UI by @narsaynorath in [#109593](https://github.com/getsentry/sentry/pull/109593)\n- Expose unit type in metrics UI by @narsaynorath in [#108036](https://github.com/getsentry/sentry/pull/108036)\n- Add deno to available metrics platforms by @narsaynorath in [#109195](https://github.com/getsentry/sentry/pull/109195)\n\n#### Ui\n\n- Add Claude Code integration to autofix UI and settings by @sehr-m in [#109756](https://github.com/getsentry/sentry/pull/109756)\n- Add AvatarButton with useAvatar hook by @JonasBa in [#109900](https://github.com/getsentry/sentry/pull/109900)\n\n#### Webhooks\n\n- Composite GitHub tag by @armenzg in [#110521](https://github.com/getsentry/sentry/pull/110521)\n- Add push-based drain trigger to eliminate scheduler wait by @tnt-sentry in [#109214](https://github.com/getsentry/sentry/pull/109214)\n- Exclude mailboxes from delivery_time_ms metric by @armenzg in [#108711](https://github.com/getsentry/sentry/pull/108711)\n\n#### Other\n\n- (actions) Log Action deduplication by @kcons in [#109160](https://github.com/getsentry/sentry/pull/109160)\n- (admin) Add Last Active column and sort to user search by @ndmanvar in [#109736](https://github.com/getsentry/sentry/pull/109736)\n- (agent-monitoring) Add LLM instructions to copy markdown button by @priscilawebdev in [#109307](https://github.com/getsentry/sentry/pull/109307)\n- (alerts-api) Add tests and fixes for OrganizationAlertRuleDetails API backward compatibility by @kcons in [#110362](https://github.com/getsentry/sentry/pull/110362)\n- (analytics) Add Amplitude tracking to project page filter by @JonasBa in [#109431](https://github.com/getsentry/sentry/pull/109431)\n- (broadcasts) Add show=latest filter to broadcast index endpoint by @JonasBa in [#110323](https://github.com/getsentry/sentry/pull/110323)\n- (button) Busy spinner with absolute position by @TkDodo in [#110202](https://github.com/getsentry/sentry/pull/110202)\n- (client-reports) Feature flag for new client report processing pipeline by @tobias-wilfert in [#109860](https://github.com/getsentry/sentry/pull/109860)\n- (codecov) Hide TA feature by @calvin-codecov in [#109527](https://github.com/getsentry/sentry/pull/109527)\n- (commits) Support Sentry issue URLs in \"Fixes\" references by @vaind in [#106174](https://github.com/getsentry/sentry/pull/106174)\n- (compactSelect) Use fzf for default search matching by @JonasBa in [#109252](https://github.com/getsentry/sentry/pull/109252)\n- (config-issues) Registering issue type and associated trace item by @Abdkhan14 in [#110225](https://github.com/getsentry/sentry/pull/110225)\n- (configuration-issues) Making processing_errors queryable by @Abdkhan14 in [#109884](https://github.com/getsentry/sentry/pull/109884)\n- (control) Add support for dropping unprocessed GitHub webhook events by @armenzg in [#109354](https://github.com/getsentry/sentry/pull/109354)\n- (conversations) Collapse tool calls in message bubbles by @priscilawebdev in [#109176](https://github.com/getsentry/sentry/pull/109176)\n- (cursor) Add retry with model fallback for Cursor API launches by @isaacwang-sentry in [#108768](https://github.com/getsentry/sentry/pull/108768)\n- (data-browsing) Use custom React chart legend component in `TimeSeriesWidgetVisualization` by @gggritso in [#108493](https://github.com/getsentry/sentry/pull/108493)\n- (data-forwarding) Add padding prop to FieldLayout components by @JonasBa in [#108803](https://github.com/getsentry/sentry/pull/108803)\n- (dynamic-sampling) Add new trace based health check bias with higher sample rate by @shellmayr in [#109552](https://github.com/getsentry/sentry/pull/109552)\n- (events) Add occurrences as a dataset by @wmak in [#109727](https://github.com/getsentry/sentry/pull/109727)\n- (features) Register organizations:page-frame feature flag by @JonasBa in [#110264](https://github.com/getsentry/sentry/pull/110264)\n- (form) Enhance field status indicators with lock icon for disabled state by @TkDodo in [#109189](https://github.com/getsentry/sentry/pull/109189)\n- (forms) RadioField by @TkDodo in [#108819](https://github.com/getsentry/sentry/pull/108819)\n- (frontend) Web snapshot testing by @rbro112 in [#107971](https://github.com/getsentry/sentry/pull/107971)\n- (github) Add mailbox bucketing for GitHub webhooks by @tnt-sentry in [#108138](https://github.com/getsentry/sentry/pull/108138)\n- (grouping) Parameterize hex values that are up to 128 characters long by @thetruecpaul in [#109137](https://github.com/getsentry/sentry/pull/109137)\n- (inbound-filters) Add health-check to healthcheck globs by @shellmayr in [#110402](https://github.com/getsentry/sentry/pull/110402)\n- (issue-details) Format is_active field as 'Is Active' in app context by @philipphofmann in [#107047](https://github.com/getsentry/sentry/pull/107047)\n- (issue-detection) Use title-only fingerprinting for LLM-detected issues by @roggenkemper in [#109131](https://github.com/getsentry/sentry/pull/109131)\n- (metric alerts) Add tests for differences in workflow-engine-rule-serializers output by @kcons in [#109242](https://github.com/getsentry/sentry/pull/109242)\n- (middleware) Expand AI agent guidance with docs and plugin links by @dcramer in [#108938](https://github.com/getsentry/sentry/pull/108938)\n- (models) Recreate CodeReviewEvent with updated schema [3/3] by @vaind in [#109424](https://github.com/getsentry/sentry/pull/109424)\n- (monitors) Add Mobile Builds to monitors sidebar by @mtopo27 in [#110464](https://github.com/getsentry/sentry/pull/110464)\n- (occurrences) New ingest by @thetruecpaul in [#109180](https://github.com/getsentry/sentry/pull/109180)\n- (page-filters) Use fzf for project search in ProjectPageFilter by @JonasBa in [#108725](https://github.com/getsentry/sentry/pull/108725)\n- (performance-detectors) Use config from Workflow Engine Detectors if available and enabled by @kcons in [#107137](https://github.com/getsentry/sentry/pull/107137)\n- (profiling) Back SuspectFunctionsTable with EAP by @mjq in [#109293](https://github.com/getsentry/sentry/pull/109293)\n- (queue) Register insights-queue-dashboard-migration feature flag by @DominikB2014 in [#109332](https://github.com/getsentry/sentry/pull/109332)\n- (queues) Split transaction table into producer and consumer tables by @DominikB2014 in [#109683](https://github.com/getsentry/sentry/pull/109683)\n- (replays) Convert replay console tab to tanstack virtual by @scttcper in [#109292](https://github.com/getsentry/sentry/pull/109292)\n- (repos) Replace the repo list page with the new repo tree-view by @ryan953 in [#110290](https://github.com/getsentry/sentry/pull/110290)\n- (repositories) Add danger delete button with label to repository row by @JonasBa in [#108764](https://github.com/getsentry/sentry/pull/108764)\n- (rollouts) Add comparator with timings by @thetruecpaul in [#109104](https://github.com/getsentry/sentry/pull/109104)\n- (scim) Move privilege grant/revoke to async task by @michelletran-sentry in [#109129](https://github.com/getsentry/sentry/pull/109129)\n- (sdk) Upgrade Sentry SDKs to 10.41.0-beta.0 by @billyvg in [#109494](https://github.com/getsentry/sentry/pull/109494)\n- (sentry-apps) Expose sentryAppId in SentryAppInstallation API by @souredoutlook in [#109496](https://github.com/getsentry/sentry/pull/109496)\n- (skills) Add lint skills by @natemoo-re in [#110133](https://github.com/getsentry/sentry/pull/110133)\n- (spans-buffer) Track pre-merge oversized parent sets by @lvthanh03 in [#108447](https://github.com/getsentry/sentry/pull/108447)\n- (stories) Lazy load story API type docs by @scttcper in [#110332](https://github.com/getsentry/sentry/pull/110332)\n- (symbolicator) Disable Intel symbol source by @tobias-wilfert in [#109311](https://github.com/getsentry/sentry/pull/109311)\n- (theme) Add swatch utils by @natemoo-re in [#110090](https://github.com/getsentry/sentry/pull/110090)\n- (trace-items) Update trace item search with dynamic keys by @nsdeschenes in [#108121](https://github.com/getsentry/sentry/pull/108121)\n- (traces) Add 'Open in Logs' link to Logs view by @JoshuaKGoldberg in [#110311](https://github.com/getsentry/sentry/pull/110311)\n- (traces-explorer) Pass through all chart visuals in Compare Queries by @JoshuaKGoldberg in [#110153](https://github.com/getsentry/sentry/pull/110153)\n- (typing) Enable mypy strict_equality in our strongly typed config by @kcons in [#108606](https://github.com/getsentry/sentry/pull/108606)\n- (uptime-assertions) Improving json path form by @Abdkhan14 in [#109963](https://github.com/getsentry/sentry/pull/109963)\n- (uptime-form-errors) Improving assertion error handling by @Abdkhan14 in [#109352](https://github.com/getsentry/sentry/pull/109352)\n- (uptime-trace-issues) Rendering uptime issues in traces by @Abdkhan14 in [#108567](https://github.com/getsentry/sentry/pull/108567)\n- Allow `sentry-replay-debugger` uri scheme for oauth by @billyvg in [#109976](https://github.com/getsentry/sentry/pull/109976)\n- Disable webhook forwarding to codecov by @calvin-codecov in [#110023](https://github.com/getsentry/sentry/pull/110023)\n- Add branch to use taskbroker-client by @markstory in [#110001](https://github.com/getsentry/sentry/pull/110001)\n- TanStack devtools by @TkDodo in [#110032](https://github.com/getsentry/sentry/pull/110032)\n- Add flamegraph for metric kit hangs by @noahsmartin in [#106412](https://github.com/getsentry/sentry/pull/106412)\n- Devenv syncs chromedriver to the google chrome version by @joshuarli in [#109739](https://github.com/getsentry/sentry/pull/109739)\n- Remove github-console-sdk-self-invite flag registration by @mujacica in [#109493](https://github.com/getsentry/sentry/pull/109493)\n- Remove github-console-sdk-self-invite feature flag by @mujacica in [#109470](https://github.com/getsentry/sentry/pull/109470)\n- Add endpoint to list only issues that have PRs created from Seer Explorer by @billyvg in [#107850](https://github.com/getsentry/sentry/pull/107850)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Add charts to contributing issues by @scttcper in [#110162](https://github.com/getsentry/sentry/pull/110162)\n- S/deactive/inactive/g by @kcons in [#110137](https://github.com/getsentry/sentry/pull/110137)\n- Single query in toggle_detector by @kcons in [#109375](https://github.com/getsentry/sentry/pull/109375)\n- Use types to ensure migration helpers aren't modifying input data by @kcons in [#109379](https://github.com/getsentry/sentry/pull/109379)\n- 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)\n- Don't dedup actions by workflow by @kcons in [#109251](https://github.com/getsentry/sentry/pull/109251)\n- Handle custom zoom stats periods in detector details by @malwilley in [#109157](https://github.com/getsentry/sentry/pull/109157)\n\n#### Agents\n\n- Add error boundary around ModelsTable by @priscilawebdev in [#110509](https://github.com/getsentry/sentry/pull/110509)\n- Handle null modelId in agent monitoring page by @priscilawebdev in [#110505](https://github.com/getsentry/sentry/pull/110505)\n\n#### Ai Conversations\n\n- Display model in span list by @obostjancic in [#109774](https://github.com/getsentry/sentry/pull/109774)\n- Support multi part messages by @obostjancic in [#109076](https://github.com/getsentry/sentry/pull/109076)\n- Select first message by @obostjancic in [#109072](https://github.com/getsentry/sentry/pull/109072)\n\n#### Alerts\n\n- Prevent stripping 0 values from request body by @malwilley in [#110470](https://github.com/getsentry/sentry/pull/110470)\n- Remove unnecessary condition label renames by @malwilley in [#110329](https://github.com/getsentry/sentry/pull/110329)\n- Trace metrics shouldn't error on query validator by @wmak in [#109824](https://github.com/getsentry/sentry/pull/109824)\n- Actor missing for feature flag checks in detectors by @k-fish in [#109603](https://github.com/getsentry/sentry/pull/109603)\n- User_misery eap validation error by @nikkikapadia in [#109604](https://github.com/getsentry/sentry/pull/109604)\n\n#### Api\n\n- Preserve RateLimitExceeded metadata in handle_query_errors by @cvxluo in [#109821](https://github.com/getsentry/sentry/pull/109821)\n- Fix user serializers to return emails for superusers by @wedamija in [#109837](https://github.com/getsentry/sentry/pull/109837)\n- Add missing cursor query parameter to paginated endpoint OpenAPI schemas by @MathurAditya724 in [#109642](https://github.com/getsentry/sentry/pull/109642)\n\n#### Auth\n\n- Mask SCIM token after 5-minute visibility window by @wedamija in [#108093](https://github.com/getsentry/sentry/pull/108093)\n- Show warning when authenticated user isn't an org member by @JoshFerge in [#109952](https://github.com/getsentry/sentry/pull/109952)\n- Fix for impersonated sessions by @michelletran-sentry in [#109903](https://github.com/getsentry/sentry/pull/109903)\n- Revoke superuser/staff when user not in default org by @michelletran-sentry in [#109510](https://github.com/getsentry/sentry/pull/109510)\n- Invalidate sessions when a linked identity is disconnected by @wedamija in [#108250](https://github.com/getsentry/sentry/pull/108250)\n\n#### Autofix\n\n- Reset sections on re-run by @Zylphrex in [#110644](https://github.com/getsentry/sentry/pull/110644)\n- Handle deleted groups in autofix tasks by @Mihir-Mavalankar in [#110386](https://github.com/getsentry/sentry/pull/110386)\n- Init explorer client with on complete callback by @Zylphrex in [#109841](https://github.com/getsentry/sentry/pull/109841)\n- Handle autofix create PR not started by @Zylphrex in [#109778](https://github.com/getsentry/sentry/pull/109778)\n- Handle explorer run status when creating PRs from slack by @Zylphrex in [#109740](https://github.com/getsentry/sentry/pull/109740)\n- Always attach group id in explorer autofix metadata by @Zylphrex in [#109358](https://github.com/getsentry/sentry/pull/109358)\n- Recognize PRs opened by Sentry GitHub app in autofix webhook by @JoshFerge in [#109081](https://github.com/getsentry/sentry/pull/109081)\n\n#### Billing\n\n- Prevent checkout form resetting when payment details are updated by @brendanhsentry in [#110669](https://github.com/getsentry/sentry/pull/110669)\n- \\_admin provisioning for legacy Seer by @brendanhsentry in [#110482](https://github.com/getsentry/sentry/pull/110482)\n- Fix category display names in pending changes by @dashed in [#109612](https://github.com/getsentry/sentry/pull/109612)\n\n#### Build\n\n- Exclude snapshot test files from rspack type-checker by @NicoHinderling in [#110547](https://github.com/getsentry/sentry/pull/110547)\n- Exclude react-select from SWC loader to fix emotion warning by @TkDodo in [#109563](https://github.com/getsentry/sentry/pull/109563)\n\n#### Ci\n\n- Exclude .venv from pyc cache cleanup by @mchen-sentry in [#110585](https://github.com/getsentry/sentry/pull/110585)\n- Lint issue in snapshot.ts by @nsdeschenes in [#110414](https://github.com/getsentry/sentry/pull/110414)\n- Skip selenium plugin import on non-acceptance backend test shards by @mchen-sentry in [#109757](https://github.com/getsentry/sentry/pull/109757)\n- Add CODEOWNERS fastpath to selective testing by @joshuarli in [#109163](https://github.com/getsentry/sentry/pull/109163)\n\n#### Conversations\n\n- Left-align text content in user message bubbles by @priscilawebdev in [#110403](https://github.com/getsentry/sentry/pull/110403)\n- Preserve query params on redirect to explore by @obostjancic in [#110030](https://github.com/getsentry/sentry/pull/110030)\n\n#### Dashboards\n\n- Include hidden dashboards in linked dashboard lookup by @DominikB2014 in [#110667](https://github.com/getsentry/sentry/pull/110667)\n- Allow table widgets to have a limit up to 20 by @DominikB2014 in [#110621](https://github.com/getsentry/sentry/pull/110621)\n- Lower agent traces widget limit to 10 in pre-built dashboard by @gggritso in [#110526](https://github.com/getsentry/sentry/pull/110526)\n- Prevent dashboard manage view forwarding search parameter when navigating to dashboard by @edwardgou-sentry in [#110525](https://github.com/getsentry/sentry/pull/110525)\n- Hide table in full screen view for issues timeseries widgets by @DominikB2014 in [#110532](https://github.com/getsentry/sentry/pull/110532)\n- Validate linked dashboard fields against columns instead of fields by @DominikB2014 in [#110524](https://github.com/getsentry/sentry/pull/110524)\n- Prevent empty SQL strings from being passed to SQL formatter by @gggritso in [#110475](https://github.com/getsentry/sentry/pull/110475)\n- Pass translated options to CompactSelect dropdown by @DominikB2014 in [#110421](https://github.com/getsentry/sentry/pull/110421)\n- Open Explore in aggregate mode for widgets with aggregates by @DominikB2014 in [#110417](https://github.com/getsentry/sentry/pull/110417)\n- Register agents_traces_table display type in backend by @gggritso in [#110365](https://github.com/getsentry/sentry/pull/110365)\n- Add equation| prefix to non-allowed aggregates in prebuilt dashboards by @DominikB2014 in [#110308](https://github.com/getsentry/sentry/pull/110308)\n- Format y-axis numbers with abbreviation helper by @narsaynorath in [#110360](https://github.com/getsentry/sentry/pull/110360)\n- Enable fullscreen widget view in prebuilt dashboard renderer by @DominikB2014 in [#110340](https://github.com/getsentry/sentry/pull/110340)\n- Filter out equation aggregates from create alert menu by @DominikB2014 in [#110333](https://github.com/getsentry/sentry/pull/110333)\n- Add missing `fields` key to non-table prebuilt widget queries by @gggritso in [#110227](https://github.com/getsentry/sentry/pull/110227)\n- Throw validation errors for incorrect dataset source by @nikkikapadia in [#110240](https://github.com/getsentry/sentry/pull/110240)\n- Add datasource to text widget validation by @nikkikapadia in [#110213](https://github.com/getsentry/sentry/pull/110213)\n- Resolve infinite render loop in ChartLegend overflow detection by @gggritso in [#110187](https://github.com/getsentry/sentry/pull/110187)\n- Moves Open in External link to bottom of cell action by @edwardgou-sentry in [#110154](https://github.com/getsentry/sentry/pull/110154)\n- Treat TOP_N display type as AREA by @DominikB2014 in [#109876](https://github.com/getsentry/sentry/pull/109876)\n- Show full aggregate name in widget legends for measurements by @gggritso in [#109901](https://github.com/getsentry/sentry/pull/109901)\n- Fixes for Agents Traces Table to display properly in widget viewer by @edwardgou-sentry in [#109905](https://github.com/getsentry/sentry/pull/109905)\n- Clamp invalid widget layouts to prevent browser crash by @gggritso in [#109825](https://github.com/getsentry/sentry/pull/109825)\n- Add backend validation for widget layout dimensions by @gggritso in [#109826](https://github.com/getsentry/sentry/pull/109826)\n- Allow editing global filters on prebuilt dashboards by @DominikB2014 in [#109880](https://github.com/getsentry/sentry/pull/109880)\n- Preserve polarity when clearing threshold values by @DominikB2014 in [#109872](https://github.com/getsentry/sentry/pull/109872)\n- Merge URL filters with saved filters instead of replacing them by @DominikB2014 in [#109590](https://github.com/getsentry/sentry/pull/109590)\n- Use correct table item limit for categorical bar charts in widget viewer by @gggritso in [#109775](https://github.com/getsentry/sentry/pull/109775)\n- Respect current time series interval in Widget Viewer by @gggritso in [#109766](https://github.com/getsentry/sentry/pull/109766)\n- Ignore stale limit on Table widgets by @gggritso in [#109688](https://github.com/getsentry/sentry/pull/109688)\n- Default axisRange to auto for existing widgets in builder by @mtopo27 in [#109598](https://github.com/getsentry/sentry/pull/109598)\n- Use equation prefix for ttid/ttfd contribution rate in Mobile Vitals by @gggritso in [#109525](https://github.com/getsentry/sentry/pull/109525)\n- Fix threshold unit selector for timeseries widgets and size data types by @DominikB2014 in [#109500](https://github.com/getsentry/sentry/pull/109500)\n- Fix prebuilt mcp overview dashboard layout by @edwardgou-sentry in [#109492](https://github.com/getsentry/sentry/pull/109492)\n- Prevent threshold lines from overlapping the chart legend by @DominikB2014 in [#109488](https://github.com/getsentry/sentry/pull/109488)\n- Support multiple aggregates and equations in categorical bar charts by @gggritso in [#108071](https://github.com/getsentry/sentry/pull/108071)\n- Fix \"Other\" series colour not displaying correctly in new timeseries visualization by @edwardgou-sentry in [#109321](https://github.com/getsentry/sentry/pull/109321)\n- Replace TOP_N display type with AREA in dashboard templates by @DominikB2014 in [#109211](https://github.com/getsentry/sentry/pull/109211)\n- Side nav updates on dashboard deletion by @nikkikapadia in [#109197](https://github.com/getsentry/sentry/pull/109197)\n- Preserve display type when switching display types by @DominikB2014 in [#109208](https://github.com/getsentry/sentry/pull/109208)\n- `storageNamespace` not being applied on prebuilt dashboards by @DominikB2014 in [#109187](https://github.com/getsentry/sentry/pull/109187)\n- Widget id mismatch in dashboard details test by @nikkikapadia in [#108694](https://github.com/getsentry/sentry/pull/108694)\n\n#### Detectors\n\n- Fix WorkflowEngineDetectorSerializer snooze field by @kcons in [#110529](https://github.com/getsentry/sentry/pull/110529)\n- Make mobile build threshold validation require at least one by @mtopo27 in [#110460](https://github.com/getsentry/sentry/pull/110460)\n- Require data sources for Detector creation by default by @kcons in [#110246](https://github.com/getsentry/sentry/pull/110246)\n\n#### Eap\n\n- Use addFilterValue for transaction name in EAP sidebar charts by @mjq in [#109089](https://github.com/getsentry/sentry/pull/109089)\n- Fix possibly-undefined group_list in delete helper by @scttcper in [#109518](https://github.com/getsentry/sentry/pull/109518)\n- Silence possibly-undefined warning in SearchResolver by @scttcper in [#109514](https://github.com/getsentry/sentry/pull/109514)\n- Add transaction filters to SegmentSpansTable query by @mjq in [#109084](https://github.com/getsentry/sentry/pull/109084)\n\n#### Events\n\n- Don't link to trace explorer when trace id is missing by @mrduncan in [#110670](https://github.com/getsentry/sentry/pull/110670)\n- Handle Snuba errors in group events endpoint gracefully by @shashjar in [#109158](https://github.com/getsentry/sentry/pull/109158)\n\n#### Explore\n\n- Unify header FeedbackButton size as default sm by @JoshuaKGoldberg in [#109782](https://github.com/getsentry/sentry/pull/109782)\n- Use unique IDs in drag-and-drop column editors by @nsdeschenes in [#108252](https://github.com/getsentry/sentry/pull/108252)\n- Require query field on saved query creation and handle malformed queries in frontend by @wedamija in [#108285](https://github.com/getsentry/sentry/pull/108285)\n\n#### Explorer\n\n- Fix issue/event formatters by @aliu39 in [#110378](https://github.com/getsentry/sentry/pull/110378)\n- Incl project id and slug in issue details response by @aliu39 in [#110338](https://github.com/getsentry/sentry/pull/110338)\n- 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)\n- Use sentry org for conversations url and rename slash cmd by @aliu39 in [#109592](https://github.com/getsentry/sentry/pull/109592)\n\n#### Form\n\n- Swap `hashchange` for `useLocation` by @natemoo-re in [#109570](https://github.com/getsentry/sentry/pull/109570)\n- Remove padding & negative margin from HighlightableFlex by @TkDodo in [#109304](https://github.com/getsentry/sentry/pull/109304)\n\n#### Github Copilot\n\n- Lower problem_statement truncation limit by @JoshFerge in [#110600](https://github.com/getsentry/sentry/pull/110600)\n- Fall back to now() when started_at is missing from API response by @JoshFerge in [#110638](https://github.com/getsentry/sentry/pull/110638)\n\n#### Grouping\n\n- Handle grouphash cache invalidation errors gracefully by @lobsterkatie in [#110158](https://github.com/getsentry/sentry/pull/110158)\n- Fix \"kitchen\" time parameterization regex by @lobsterkatie in [#109895](https://github.com/getsentry/sentry/pull/109895)\n- Stop parameterizing message variable in custom titles by @lobsterkatie in [#109893](https://github.com/getsentry/sentry/pull/109893)\n- Make derived rules visible to users by @thetruecpaul in [#109836](https://github.com/getsentry/sentry/pull/109836)\n- Fix ip parameterization false positives by @lobsterkatie in [#109713](https://github.com/getsentry/sentry/pull/109713)\n- Fix hex parameterization lookahead bug by @lobsterkatie in [#109709](https://github.com/getsentry/sentry/pull/109709)\n- Resolve mypy possibly-undefined errors in grouphash caching by @scttcper in [#109602](https://github.com/getsentry/sentry/pull/109602)\n- Avoid mutating class-level initial_context in grouping info endpoint by @joshuarli in [#109009](https://github.com/getsentry/sentry/pull/109009)\n- Fix UnboundLocalError in \\_is_race_condition_skipped_event by @mrduncan in [#109393](https://github.com/getsentry/sentry/pull/109393)\n\n#### Insights\n\n- Hide platform selector when platformized insights is active by @DominikB2014 in [#110349](https://github.com/getsentry/sentry/pull/110349)\n- Handle nullable sentry.normalized_description by @gggritso in [#110186](https://github.com/getsentry/sentry/pull/110186)\n- EAP support for status breakdown by @mjq in [#109969](https://github.com/getsentry/sentry/pull/109969)\n- Remove tag summary from EAP Transaction Summary by @mjq in [#109970](https://github.com/getsentry/sentry/pull/109970)\n- Don't display raw JSON as user message by @obostjancic in [#109065](https://github.com/getsentry/sentry/pull/109065)\n\n#### Integrations\n\n- Reload integrations after installing coding agent by @sehr-m in [#110665](https://github.com/getsentry/sentry/pull/110665)\n- Cache empty repo 409 responses to reduce GitHub API calls by @trevor-e in [#109153](https://github.com/getsentry/sentry/pull/109153)\n- Record 409 empty repo responses as halts instead of failures by @trevor-e in [#109134](https://github.com/getsentry/sentry/pull/109134)\n- Add interaction events for /repos and /installation/repositories by @trevor-e in [#108722](https://github.com/getsentry/sentry/pull/108722)\n\n#### Issues\n\n- Prefer integration app name in resolution copy by @scttcper in [#110242](https://github.com/getsentry/sentry/pull/110242)\n- Always allow archived issues to be unarchived by @malwilley in [#110230](https://github.com/getsentry/sentry/pull/110230)\n- Use serialize_generic_user in GroupSeenSerializer by @mrduncan in [#108576](https://github.com/getsentry/sentry/pull/108576)\n- Fix possibly-undefined variables across issues module by @scttcper in [#109540](https://github.com/getsentry/sentry/pull/109540)\n- Add transaction to highlight defaults by @scttcper in [#109246](https://github.com/getsentry/sentry/pull/109246)\n- Remove border from start tour modal by @scttcper in [#109220](https://github.com/getsentry/sentry/pull/109220)\n\n#### Logs\n\n- Allow vertical padding height for 'No logs found' messages by @JoshuaKGoldberg in [#110321](https://github.com/getsentry/sentry/pull/110321)\n- Pass boolean attributes object to the logs table prop by @nsdeschenes in [#110544](https://github.com/getsentry/sentry/pull/110544)\n- Simplify CellAction rendering to only be used if needed by @JoshuaKGoldberg in [#109946](https://github.com/getsentry/sentry/pull/109946)\n- Manual refresh tooltip by @k-fish in [#108686](https://github.com/getsentry/sentry/pull/108686)\n\n#### Metrics\n\n- Enable Save as for multi-aggregate queries by @nsdeschenes in [#110325](https://github.com/getsentry/sentry/pull/110325)\n- Remove use_metrics_layer from query builder core by @wedamija in [#108755](https://github.com/getsentry/sentry/pull/108755)\n- Remove use-metrics-layer flag from endpoints and snuba signatures by @wedamija in [#108752](https://github.com/getsentry/sentry/pull/108752)\n\n#### Oauth\n\n- Delay before allowing pressing Approve button by @oioki in [#110304](https://github.com/getsentry/sentry/pull/110304)\n- Add distributed lock to refresh token exchange to prevent race condition by @wedamija in [#108193](https://github.com/getsentry/sentry/pull/108193)\n\n#### Objectstore\n\n- Use OrganizationReleasePermission for Objectstore endpoint by @lcian in [#109865](https://github.com/getsentry/sentry/pull/109865)\n- Change scopes type from dict to list of tuples by @lcian in [#108693](https://github.com/getsentry/sentry/pull/108693)\n\n#### Occurrences On Eap\n\n- Fix debug log formatting by @shashjar in [#109818](https://github.com/getsentry/sentry/pull/109818)\n- Use `OP_IN` instead of chained `OR`s for multi-`group_id` queries by @shashjar in [#109148](https://github.com/getsentry/sentry/pull/109148)\n\n#### Onboarding\n\n- Preserve user-entered project slug during platform selection by @sentry in [#109609](https://github.com/getsentry/sentry/pull/109609)\n- Fix CopyDsnField markdown + hide copy button with AI setup by @jaydgoss in [#109953](https://github.com/getsentry/sentry/pull/109953)\n- PHP renaming `trace_metrics` -> `traceMetrics` by @constantinius in [#109066](https://github.com/getsentry/sentry/pull/109066)\n\n#### Perforce\n\n- Use P4CONFIG for per-connection trust file isolation by @mujacica in [#109828](https://github.com/getsentry/sentry/pull/109828)\n- Isolate P4 trust/ticket files per client to prevent lock contention by @mujacica in [#109652](https://github.com/getsentry/sentry/pull/109652)\n- Use tmp files for the trust locks instead of global paths by @mujacica in [#109469](https://github.com/getsentry/sentry/pull/109469)\n\n#### Performance\n\n- Remap request.method for EAP related issues table by @mjq in [#109196](https://github.com/getsentry/sentry/pull/109196)\n- Fix EAP transaction summary method filter and duration breakdown chart by @mjq in [#108483](https://github.com/getsentry/sentry/pull/108483)\n\n#### Preprod\n\n- Add size monitors filter support in backend by @chromy in [#110523](https://github.com/getsentry/sentry/pull/110523)\n- Allow user tokens for ProjectPreprodBuildDistributionLatestEndpoint by @chromy in [#110430](https://github.com/getsentry/sentry/pull/110430)\n- Include display param in builds API on initial load by @NicoHinderling in [#110481](https://github.com/getsentry/sentry/pull/110481)\n- Remove UI for adding distribution scopes to personal tokens by @chromy in [#110216](https://github.com/getsentry/sentry/pull/110216)\n- Mark App Store signed builds as not installable (EME-917) by @runningcode in [#110422](https://github.com/getsentry/sentry/pull/110422)\n- Strip trailing slash from objectstore base URL by @runningcode in [#110409](https://github.com/getsentry/sentry/pull/110409)\n- Expose PR comments feature flag to frontend API by @runningcode in [#110407](https://github.com/getsentry/sentry/pull/110407)\n- Update existing PR comment instead of posting a new one by @runningcode in [#110399](https://github.com/getsentry/sentry/pull/110399)\n- Skip snapshot artifacts in expiry detection by @NicoHinderling in [#110288](https://github.com/getsentry/sentry/pull/110288)\n- Prevent diff mode buttons from being cut off on small viewports by @NicoHinderling in [#110221](https://github.com/getsentry/sentry/pull/110221)\n- Check code signature in is_installable_artifact by @runningcode in [#110194](https://github.com/getsentry/sentry/pull/110194)\n- Gate comparison download query on SUCCESS state by @NicoHinderling in [#109923](https://github.com/getsentry/sentry/pull/109923)\n- Restore full token authentication on retention endpoint by @NicoHinderling in [#109842](https://github.com/getsentry/sentry/pull/109842)\n- Return 404 instead of 500 for missing objectstore images by @NicoHinderling in [#109734](https://github.com/getsentry/sentry/pull/109734)\n- Use theme-aware border color for treemap level-0 gaps by @mtopo27 in [#109517](https://github.com/getsentry/sentry/pull/109517)\n- Rename absolute_threshold to absolute in size analysis config by @chromy in [#109481](https://github.com/getsentry/sentry/pull/109481)\n- Replace transparent treemap colors with opaque composites (EME-889) by @cameroncooke in [#109308](https://github.com/getsentry/sentry/pull/109308)\n- Update default artifact type and label by @cameroncooke in [#109194](https://github.com/getsentry/sentry/pull/109194)\n\n#### Profiling\n\n- Wrap billing banner inside DescriptionWrapper by @priscilawebdev in [#109867](https://github.com/getsentry/sentry/pull/109867)\n- Show empty state when no suspect functions found by @mjq in [#109295](https://github.com/getsentry/sentry/pull/109295)\n\n#### Replay\n\n- Fix `customElement.define` by @billyvg in [#110352](https://github.com/getsentry/sentry/pull/110352)\n- Fix tooltips on timestamps in replay index by @billyvg in [#109691](https://github.com/getsentry/sentry/pull/109691)\n\n#### Seer\n\n- 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)\n- Prevent duplicate navigation in Seer settings tabs by @scttcper in [#110222](https://github.com/getsentry/sentry/pull/110222)\n- Add auth signing to grouping record delete-by-hash requests by @JoshFerge in [#110205](https://github.com/getsentry/sentry/pull/110205)\n- Set explicit timeouts for AI translate endpoints by @sentry in [#109960](https://github.com/getsentry/sentry/pull/109960)\n- Update seer_model after training mode request by @yuvmen in [#109539](https://github.com/getsentry/sentry/pull/109539)\n- Apply stacktrace length filtering to all platforms for V2 grouping model by @yuvmen in [#109287](https://github.com/getsentry/sentry/pull/109287)\n- Populate missing IssueDetails fields for explorer_index by @sentry in [#109213](https://github.com/getsentry/sentry/pull/109213)\n\n#### Settings\n\n- Remove double url normalization by @natemoo-re in [#110160](https://github.com/getsentry/sentry/pull/110160)\n- Add team selection modal and navigation support by @TkDodo in [#108669](https://github.com/getsentry/sentry/pull/108669)\n\n#### Spans\n\n- Convert nones to zeros for failure rate and count by @Zylphrex in [#110330](https://github.com/getsentry/sentry/pull/110330)\n- Use decompressed bytes size for oversized segment check by @lvthanh03 in [#109839](https://github.com/getsentry/sentry/pull/109839)\n- Detect subprocess crash during startup health check by @lvthanh03 in [#109832](https://github.com/getsentry/sentry/pull/109832)\n- Route spans to queue by Kafka partition by @lvthanh03 in [#109490](https://github.com/getsentry/sentry/pull/109490)\n- Handle null span attributes by @lvthanh03 in [#109316](https://github.com/getsentry/sentry/pull/109316)\n\n#### Stories\n\n- Wrap StoryTabPanels in Stack by @natemoo-re in [#110657](https://github.com/getsentry/sentry/pull/110657)\n- Fix HMR for .stories.tsx and .mdx files in Scraps by @scttcper in [#109630](https://github.com/getsentry/sentry/pull/109630)\n\n#### Tests\n\n- Prerequisite test fixes for xdist parallelization by @mchen-sentry in [#110584](https://github.com/getsentry/sentry/pull/110584)\n- Use relative date in EAP escalating test frozen time by @NicoHinderling in [#110643](https://github.com/getsentry/sentry/pull/110643)\n- Fix broken ci by @wedamija in [#110484](https://github.com/getsentry/sentry/pull/110484)\n- Fix pre-prod eap integration tests by @wedamija in [#109852](https://github.com/getsentry/sentry/pull/109852)\n- Fix flaky test_cross_trace_query_with_spans_and_logs by @smanes-sentry in [#109572](https://github.com/getsentry/sentry/pull/109572)\n- Remove hardcoded IDs from tests/sentry to prevent flaky tests by @joshuarli in [#109409](https://github.com/getsentry/sentry/pull/109409)\n- Use override_settings instead of direct settings mutation by @joshuarli in [#109414](https://github.com/getsentry/sentry/pull/109414)\n- Add deterministic ordering to all unordered queryset index access by @joshuarli in [#109410](https://github.com/getsentry/sentry/pull/109410)\n- Use distinct cluster name in buffer fixture to prevent cache pollution by @joshuarli in [#109008](https://github.com/getsentry/sentry/pull/109008)\n- Fix scope level pollution from span consumer tests by @joshuarli in [#109105](https://github.com/getsentry/sentry/pull/109105)\n- Combined flaky test fixes by @joshuarli in [#109344](https://github.com/getsentry/sentry/pull/109344)\n- Fix flaky ProjectUserDetailsTest Snuba data leak by @joshuarli in [#108944](https://github.com/getsentry/sentry/pull/108944)\n- Fix flaky SessionFetchProjectReleaseHealthTotalsTest timing by @joshuarli in [#108959](https://github.com/getsentry/sentry/pull/108959)\n- Fix flaky test_api_key_request Snuba data leak by @joshuarli in [#109098](https://github.com/getsentry/sentry/pull/109098)\n- Fix flaky test_slow_condition_subqueries timing issue by @joshuarli in [#108784](https://github.com/getsentry/sentry/pull/108784)\n- Use outcomes QueryDefinition in test_outcomes by @noahsmartin in [#108790](https://github.com/getsentry/sentry/pull/108790)\n\n#### Trace\n\n- Prefer standalone span indicators over pageload span indicators by @nsdeschenes in [#110297](https://github.com/getsentry/sentry/pull/110297)\n- Handle missing groups by @wmak in [#109942](https://github.com/getsentry/sentry/pull/109942)\n\n#### Tracemetrics\n\n- Preserve all visualizes when changing chart type by @nsdeschenes in [#110618](https://github.com/getsentry/sentry/pull/110618)\n- Hide explicit none types in UI by @narsaynorath in [#110443](https://github.com/getsentry/sentry/pull/110443)\n- Include conditions for unit:none explicitly by @narsaynorath in [#110415](https://github.com/getsentry/sentry/pull/110415)\n- Handle unit for \"value\" column in frontend by @narsaynorath in [#110095](https://github.com/getsentry/sentry/pull/110095)\n- Fix effective sample rate in dual write by @k-fish in [#110104](https://github.com/getsentry/sentry/pull/110104)\n- Properly handle duration scaling in alerts by @narsaynorath in [#109950](https://github.com/getsentry/sentry/pull/109950)\n- Metric select field in alerts should use isLoading by @narsaynorath in [#109943](https://github.com/getsentry/sentry/pull/109943)\n- Changing to categorical bar chart loses unit value by @narsaynorath in [#109899](https://github.com/getsentry/sentry/pull/109899)\n- Parse units off response in events request for alerts by @narsaynorath in [#109608](https://github.com/getsentry/sentry/pull/109608)\n- Allow explicitly defining none in requests by @narsaynorath in [#109328](https://github.com/getsentry/sentry/pull/109328)\n\n#### Traces\n\n- Filter unreleased issue types from trace API by @nora-shap in [#110356](https://github.com/getsentry/sentry/pull/110356)\n- Hide LLM Detected issues from trace details view by @nora-shap in [#109929](https://github.com/getsentry/sentry/pull/109929)\n- Switch 'Edit Table' button to use the Edit icon, not Table by @JoshuaKGoldberg in [#109780](https://github.com/getsentry/sentry/pull/109780)\n- Handle heavily sampled projects by @wmak in [#108750](https://github.com/getsentry/sentry/pull/108750)\n\n#### Ui\n\n- Align upsell modal feature list by @natemoo-re in [#110677](https://github.com/getsentry/sentry/pull/110677)\n- Move git_pr_number to number tags in explore constants by @runningcode in [#110040](https://github.com/getsentry/sentry/pull/110040)\n- Change git_pr_number field type from STRING to INTEGER by @runningcode in [#110033](https://github.com/getsentry/sentry/pull/110033)\n- Align event drawer header with sidebar header and sticky EventNavigation by @TkDodo in [#109930](https://github.com/getsentry/sentry/pull/109930)\n- Defer scroll restoration by @natemoo-re in [#109885](https://github.com/getsentry/sentry/pull/109885)\n- Hide LLM Detected issues from trace timeline by @nora-shap in [#109857](https://github.com/getsentry/sentry/pull/109857)\n- Filter null-tuple unhandled rejections by @scttcper in [#109588](https://github.com/getsentry/sentry/pull/109588)\n- Improve layout responsiveness for smaller screens by @priscilawebdev in [#109173](https://github.com/getsentry/sentry/pull/109173)\n\n#### Workflow Engine\n\n- Skip workflow processing for inactive projects by @malwilley in [#110553](https://github.com/getsentry/sentry/pull/110553)\n- Fix Workflow.DoesNotExist issue(s) by @saponifi3d in [#110169](https://github.com/getsentry/sentry/pull/110169)\n\n#### Workflows\n\n- Treat OrganizationWorkflowIndexEndpoint query parse errors as 400s by @kcons in [#110434](https://github.com/getsentry/sentry/pull/110434)\n- Don't report missing Environment as an error by @kcons in [#109958](https://github.com/getsentry/sentry/pull/109958)\n- Account for no associated workflow by @kcons in [#109509](https://github.com/getsentry/sentry/pull/109509)\n- Make update_workflow_action_group_statuses handle missing foreign keys by @kcons in [#109149](https://github.com/getsentry/sentry/pull/109149)\n\n#### Other\n\n- (ai-agents) Remove platform filters by @obostjancic in [#110295](https://github.com/getsentry/sentry/pull/110295)\n- (ai-monitoring) Fix error icon bg bleed in ai trace span list by @priscilawebdev in [#109177](https://github.com/getsentry/sentry/pull/109177)\n- (attachments) Skip rate limiting for attachments already in objectstore by @jan-auer in [#110035](https://github.com/getsentry/sentry/pull/110035)\n- (AutoSaveField) Type inference for mutationOptions by @TkDodo in [#110413](https://github.com/getsentry/sentry/pull/110413)\n- (avatar) Coerce owner id and avatar name to string before trim by @JonasBa in [#110598](https://github.com/getsentry/sentry/pull/110598)\n- (broadcasts) Guard against non-array broadcasts value to prevent crash by @JonasBa in [#110599](https://github.com/getsentry/sentry/pull/110599)\n- (buffer) Allow dicts during buffer encoding by @thetruecpaul in [#110024](https://github.com/getsentry/sentry/pull/110024)\n- (button) Restore focus ring on transparent LinkButton by @JonasBa in [#109735](https://github.com/getsentry/sentry/pull/109735)\n- (cells) Fix ByCellName resolver by @lynnagara in [#110217](https://github.com/getsentry/sentry/pull/110217)\n- (charts) Break infinite render loop in `ChartLegend` overflow detection by @gggritso in [#110480](https://github.com/getsentry/sentry/pull/110480)\n- (cleanup) Move partition validation before environment setup by @joshuarli in [#108404](https://github.com/getsentry/sentry/pull/108404)\n- (code-review) Filter pr_closed webhook when no code review triggers configured by @giovanni-guidini in [#109192](https://github.com/getsentry/sentry/pull/109192)\n- (coding integrations) Setting branding + loading bug by @sehr-m in [#110448](https://github.com/getsentry/sentry/pull/110448)\n- (CompactSelect) Adjust scrollbar gutter behavior based on overflow state by @TkDodo in [#109653](https://github.com/getsentry/sentry/pull/109653)\n- (components) [SearchQueryBuilder] cap FilterWrapper width to 2xl less than parent by @JoshuaKGoldberg in [#110334](https://github.com/getsentry/sentry/pull/110334)\n- (crons) Try to fix deletion spikes from crons by @wedamija in [#109388](https://github.com/getsentry/sentry/pull/109388)\n- (cursor) Fall back to /v0/models for API key verification by @JoshFerge in [#109297](https://github.com/getsentry/sentry/pull/109297)\n- (data-browsing) Allow SQLish to parse some Unicode control characters by @gggritso in [#110306](https://github.com/getsentry/sentry/pull/110306)\n- (eco) Addresses ApiForbidden errors, IntegrationConfigurationError noise by @GabeVillalobos in [#109711](https://github.com/getsentry/sentry/pull/109711)\n- (eslint) Use optional chain in restrict-jsx-slot-children rule by @TkDodo in [#109557](https://github.com/getsentry/sentry/pull/109557)\n- (fixability) Always pass issue summary to fixability endpoint by @Mihir-Mavalankar in [#109258](https://github.com/getsentry/sentry/pull/109258)\n- (formatting) Run ruff format by @thetruecpaul in [#109618](https://github.com/getsentry/sentry/pull/109618)\n- (forms) Hash-based scroll + focus by @natemoo-re in [#108536](https://github.com/getsentry/sentry/pull/108536)\n- (gen-ai) Gracefully handle malformed JSON in AI message parsing by @sentry in [#109645](https://github.com/getsentry/sentry/pull/109645)\n- (gettingStartedDocs) Update LangGraph example to use StateGraph API by @priscilawebdev in [#109551](https://github.com/getsentry/sentry/pull/109551)\n- (github) Swallow error when getting back an error response for codeowners file by @Christinarlong in [#110233](https://github.com/getsentry/sentry/pull/110233)\n- (globalDrawer) Fix horizontal scroll on small screens by @priscilawebdev in [#109168](https://github.com/getsentry/sentry/pull/109168)\n- (gsAdmin) Handle missing abuse reason in customer stats by @priscilawebdev in [#110293](https://github.com/getsentry/sentry/pull/110293)\n- (guidedSteps) Reset to first step when currentStep exceeds totalSteps by @jaydgoss in [#109501](https://github.com/getsentry/sentry/pull/109501)\n- (interfaces) Allow 'self' as context key by @kcons in [#106991](https://github.com/getsentry/sentry/pull/106991)\n- (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)\n- (issue-details) Preserve page filters when searching issues by tag value by @yuvmen in [#109102](https://github.com/getsentry/sentry/pull/109102)\n- (issue-detection) Use LLM-resolved project_id for cross-project issue attribution by @roggenkemper in [#109253](https://github.com/getsentry/sentry/pull/109253)\n- (issue-timeseries) Allow higher granularities by @wmak in [#109827](https://github.com/getsentry/sentry/pull/109827)\n- (jira) Update error handling to handle more form errors by @Christinarlong in [#109764](https://github.com/getsentry/sentry/pull/109764)\n- (metric-issue) Defer chart request until open period has loaded by @malwilley in [#109425](https://github.com/getsentry/sentry/pull/109425)\n- (metric-issues) Handle 10k data point limit for the metric chart by @malwilley in [#109882](https://github.com/getsentry/sentry/pull/109882)\n- (migrations) Getsentry clean migration by @hubertdeng123 in [#110374](https://github.com/getsentry/sentry/pull/110374)\n- (modal) Skip ESC close when event is already handled by child by @TkDodo in [#109556](https://github.com/getsentry/sentry/pull/109556)\n- (monitors) Remove radius on schedule preview when overlapping panels by @evanpurkhiser in [#108673](https://github.com/getsentry/sentry/pull/108673)\n- (notifications) Attach occurrence to GroupEvent for test notifications by @mrduncan in [#110562](https://github.com/getsentry/sentry/pull/110562)\n- (occurrences) Filter None values out of headers by @thetruecpaul in [#110355](https://github.com/getsentry/sentry/pull/110355)\n- (pageFilters) Expand sentinel selection before unchecking a project by @JonasBa in [#110274](https://github.com/getsentry/sentry/pull/110274)\n- (processing-errors) Fix missing `received` value from our processing-error TraceItems by @wedamija in [#109851](https://github.com/getsentry/sentry/pull/109851)\n- (profiles) Re-enable skipped symbolicator deobfuscation tests by @romtsn in [#110379](https://github.com/getsentry/sentry/pull/110379)\n- (projectredirect) Increase slug size by @thetruecpaul in [#109968](https://github.com/getsentry/sentry/pull/109968)\n- (releases) Sort by build number & code in semver when resolving in next release by @srest2021 in [#106885](https://github.com/getsentry/sentry/pull/106885)\n- (rules) Update escalation condition label to reflect actual behavior by @malwilley in [#110328](https://github.com/getsentry/sentry/pull/110328)\n- (safe) Handle None query parameter in safe_urlencode by @malwilley in [#110367](https://github.com/getsentry/sentry/pull/110367)\n- (scm) Rename to apps.py by @cmanallen in [#110682](https://github.com/getsentry/sentry/pull/110682)\n- (search) Preserve scroll position in multi-select filter combobox by @nsdeschenes in [#108526](https://github.com/getsentry/sentry/pull/108526)\n- (security) Only include emails in user serialization for the requesting user by @wedamija in [#108287](https://github.com/getsentry/sentry/pull/108287)\n- (sentry-apps) Handle empty webhook_url in external requests by @sentry in [#109529](https://github.com/getsentry/sentry/pull/109529)\n- (similar-issues) Deduplicate groups with multiple hashes in similar issues response by @mrduncan in [#108513](https://github.com/getsentry/sentry/pull/108513)\n- (snuba) Handle direct project.id groupby in top event conditions by @Zylphrex in [#109535](https://github.com/getsentry/sentry/pull/109535)\n- (span-buffer) Track outcome on produce errors by @evanh in [#109944](https://github.com/getsentry/sentry/pull/109944)\n- (storybook) Convert missed default imports to named by @JoshuaKGoldberg in [#110535](https://github.com/getsentry/sentry/pull/110535)\n- (taskbroker) Allow taskbroker_send_tasks to run indefinitely by @evanh in [#110573](https://github.com/getsentry/sentry/pull/110573)\n- (tempest) Add more metrics, logs and spans for monitoring by @mujacica in [#107041](https://github.com/getsentry/sentry/pull/107041)\n- (trace-waterfall) Fix duration text overlap in trace waterfall by @nsdeschenes in [#108230](https://github.com/getsentry/sentry/pull/108230)\n- (traces-explorer) Remove chart-specific restrictions on deletion logic by @JoshuaKGoldberg in [#110046](https://github.com/getsentry/sentry/pull/110046)\n- (typing) Add missing types to group-merge code by @thetruecpaul in [#110229](https://github.com/getsentry/sentry/pull/110229)\n- (useScrollLock) Fix document.documentElement locking to not break position: sticky by @TkDodo in [#109663](https://github.com/getsentry/sentry/pull/109663)\n- (vercel) Adds signature check to vercel delete endpoint by @Christinarlong in [#109974](https://github.com/getsentry/sentry/pull/109974)\n- (virtualization) Adjust height calculation to include vertical padding for scrollbar consistency by @TkDodo in [#109480](https://github.com/getsentry/sentry/pull/109480)\n- (webhooks) Eliminate head-of-line blocking in sequential mailbox drain by @tnt-sentry in [#110215](https://github.com/getsentry/sentry/pull/110215)\n- Only disable SubmitButton while form is in submitting state by @TkDodo in [#110192](https://github.com/getsentry/sentry/pull/110192)\n- Add dependency on column drop migration by @markstory in [#110214](https://github.com/getsentry/sentry/pull/110214)\n- Revert \"ref(core): button busy state and form SubmitButton UX\" by @natemoo-re in [#109891](https://github.com/getsentry/sentry/pull/109891)\n\n### Documentation 📚\n\n#### Skills\n\n- Add no-toast guidance for auto-save form fields by @JonasBa in [#109483](https://github.com/getsentry/sentry/pull/109483)\n- Add setup-dev skill for dev environment setup by @HazAT in [#108744](https://github.com/getsentry/sentry/pull/108744)\n\n#### Other\n\n- (search) Note internal wildcard operators by @nsdeschenes in [#110047](https://github.com/getsentry/sentry/pull/110047)\n- (sentry-apps) Add sentryAppId to sentry-app-installations API schema by @souredoutlook in [#109628](https://github.com/getsentry/sentry/pull/109628)\n- New form system by @TkDodo in [#109861](https://github.com/getsentry/sentry/pull/109861)\n\n### Internal Changes 🔧\n\n#### Aci\n\n- Add feedback button to metric issue page by @malwilley in [#110132](https://github.com/getsentry/sentry/pull/110132)\n- Handle prepare_component_fields in WorkflowEngineRuleSerializer by @ceorourke in [#109423](https://github.com/getsentry/sentry/pull/109423)\n- Replace usage of legacy code to populate conditions data in WorkflowEngineRuleSerializer by @ceorourke in [#109541](https://github.com/getsentry/sentry/pull/109541)\n- Disable seer on metric issues by @malwilley in [#109712](https://github.com/getsentry/sentry/pull/109712)\n- Add feature flag for disabling issue stream detector notifications for metric issues by @malwilley in [#109245](https://github.com/getsentry/sentry/pull/109245)\n- Flip additionalProperties back to False by @ceorourke in [#109241](https://github.com/getsentry/sentry/pull/109241)\n- Update metric issue threshold copy by @malwilley in [#109227](https://github.com/getsentry/sentry/pull/109227)\n- Remove sentry_app_identifier from Action by @ceorourke in [#109215](https://github.com/getsentry/sentry/pull/109215)\n- Add render_label method for sentry apps by @ceorourke in [#109123](https://github.com/getsentry/sentry/pull/109123)\n- Automatically zoom metric issues to the event's open period by @malwilley in [#109212](https://github.com/getsentry/sentry/pull/109212)\n- Add render_label for ticketing providers by @ceorourke in [#108795](https://github.com/getsentry/sentry/pull/108795)\n\n#### Alerts\n\n- Refactor DetailedWorkflowEngineDetectorSerializer to remove inheritance by @kcons in [#110706](https://github.com/getsentry/sentry/pull/110706)\n- Remove unused neglected rule code by @ceorourke in [#110363](https://github.com/getsentry/sentry/pull/110363)\n- Replace useRouter with specific hooks in ruleDetails by @evanpurkhiser in [#110116](https://github.com/getsentry/sentry/pull/110116)\n\n#### Api\n\n- Remove OrganizationEventsSpansHistogramEndpoint by @cvxluo in [#110339](https://github.com/getsentry/sentry/pull/110339)\n- Remove ProjectUserStatsEndpoint by @cvxluo in [#110342](https://github.com/getsentry/sentry/pull/110342)\n- Use logs instead of capture_message by @billyvg in [#109794](https://github.com/getsentry/sentry/pull/109794)\n- Remove dead code from organization traces API endpoint by @shashjar in [#109637](https://github.com/getsentry/sentry/pull/109637)\n\n#### Attachments\n\n- Skip V2 objectstore delete for EventAttachments during cleanup by @jan-auer in [#109776](https://github.com/getsentry/sentry/pull/109776)\n- Clean up objectstore rollout options by @jan-auer in [#109674](https://github.com/getsentry/sentry/pull/109674)\n- Remove objectstore double-write code by @jan-auer in [#109671](https://github.com/getsentry/sentry/pull/109671)\n\n#### Auth\n\n- Replace browserHistory with useNavigate in loginForm by @evanpurkhiser in [#110013](https://github.com/getsentry/sentry/pull/110013)\n- Replace browserHistory with useNavigate in ssoForm by @evanpurkhiser in [#109992](https://github.com/getsentry/sentry/pull/109992)\n- Replace browserHistory with useNavigate in registerForm by @evanpurkhiser in [#109998](https://github.com/getsentry/sentry/pull/109998)\n\n#### Autofix\n\n- Split explorer response into sections by @Zylphrex in [#110527](https://github.com/getsentry/sentry/pull/110527)\n- Use disclosure component for autofix cards by @Zylphrex in [#110433](https://github.com/getsentry/sentry/pull/110433)\n- Rename autofix artifacts type by @Zylphrex in [#110431](https://github.com/getsentry/sentry/pull/110431)\n- Refactor seer drawer into shared components by @Zylphrex in [#109854](https://github.com/getsentry/sentry/pull/109854)\n- Remove seer-slack-workflows-explorer by @Zylphrex in [#109871](https://github.com/getsentry/sentry/pull/109871)\n- Unify differences between seer drawers by @Zylphrex in [#109686](https://github.com/getsentry/sentry/pull/109686)\n- Add feature flag for autofix-on-explorer-v2 by @Zylphrex in [#109687](https://github.com/getsentry/sentry/pull/109687)\n\n#### Avatar\n\n- Migrate Gravatar hash to useQuery by @JonasBa in [#109784](https://github.com/getsentry/sentry/pull/109784)\n- Consolidate Gravatar and ImageAvatar into useImageAvatar hook by @JonasBa in [#109544](https://github.com/getsentry/sentry/pull/109544)\n\n#### Billing\n\n- Bump sentry-protos to >=0.8.3 by @dashed in [#109996](https://github.com/getsentry/sentry/pull/109996)\n- Bump protos to 0.8.2 by @krithikravi in [#109855](https://github.com/getsentry/sentry/pull/109855)\n- Remove maxAdminGift frontend limits for gifting by @mrduncan in [#109426](https://github.com/getsentry/sentry/pull/109426)\n- Reference startDate when filtering active product trials by @brendanhsentry in [#108720](https://github.com/getsentry/sentry/pull/108720)\n\n#### Cells\n\n- Region_silo_test -> cell_silo_test by @lynnagara in [#110569](https://github.com/getsentry/sentry/pull/110569)\n- RegionSiloClient -> CellSiloClient by @lynnagara in [#110579](https://github.com/getsentry/sentry/pull/110579)\n- Remove SiloMode.REGION by @lynnagara in [#110679](https://github.com/getsentry/sentry/pull/110679)\n- Rpc method renaming and deprecation of unused methods by @lynnagara in [#110586](https://github.com/getsentry/sentry/pull/110586)\n- RegionCacheVersion -> CellCacheVersion by @lynnagara in [#110678](https://github.com/getsentry/sentry/pull/110678)\n- Rename core hybridcloud models from region -> cell by @lynnagara in [#110601](https://github.com/getsentry/sentry/pull/110601)\n- Update RegionReplicaService rpc method callers to use cell_name by @lynnagara in [#110576](https://github.com/getsentry/sentry/pull/110576)\n- Rename RegionOutbox to CellOutbox by @lynnagara in [#110609](https://github.com/getsentry/sentry/pull/110609)\n- Regional_rpc_method -> cell_rpc_method by @lynnagara in [#110610](https://github.com/getsentry/sentry/pull/110610)\n- Clean up temporary aliases needed for getsentry by @lynnagara in [#110496](https://github.com/getsentry/sentry/pull/110496)\n- SiloMode.REGION -> SiloMode.CELL by @lynnagara in [#110494](https://github.com/getsentry/sentry/pull/110494)\n- Update RegionReplicaService rpc methods to accept cell_name by @lynnagara in [#110461](https://github.com/getsentry/sentry/pull/110461)\n- Update all org provisioning rpc methods with cell terminology by @lynnagara in [#110361](https://github.com/getsentry/sentry/pull/110361)\n- More renames of core region methods by @lynnagara in [#110487](https://github.com/getsentry/sentry/pull/110487)\n- Update more decorator naming by @lynnagara in [#110489](https://github.com/getsentry/sentry/pull/110489)\n- Rename silo decorators by @lynnagara in [#110458](https://github.com/getsentry/sentry/pull/110458)\n- Update all sentry-apps module to use cells terminology instead of regions by @lynnagara in [#110354](https://github.com/getsentry/sentry/pull/110354)\n- Update caller of update_region_user rpc method by @lynnagara in [#110357](https://github.com/getsentry/sentry/pull/110357)\n- ControlOutbox.region_name -> ControlOutbox.cell_name by @lynnagara in [#110344](https://github.com/getsentry/sentry/pull/110344)\n- Get_local_region -> get_local_cell by @lynnagara in [#110350](https://github.com/getsentry/sentry/pull/110350)\n- Remove region_name param from get_organizations_by_user_and_scope by @lynnagara in [#110276](https://github.com/getsentry/sentry/pull/110276)\n- The subdomain check is now subdomain_is_locality by @lynnagara in [#110278](https://github.com/getsentry/sentry/pull/110278)\n- WebhookPayload.region_name -> WebhookPayload.cell_name by @lynnagara in [#110253](https://github.com/getsentry/sentry/pull/110253)\n- Migrate get_organizations_by_user_and_scope to use cell_name by @lynnagara in [#110173](https://github.com/getsentry/sentry/pull/110173)\n- OrganizationSlugReservationReplica.region_name -> cell_name by @lynnagara in [#110220](https://github.com/getsentry/sentry/pull/110220)\n- Rename OrganizationSlugReservation.region_name to cell_name by @lynnagara in [#110177](https://github.com/getsentry/sentry/pull/110177)\n- Remove no-longer-needed shims for getsentry by @lynnagara in [#110170](https://github.com/getsentry/sentry/pull/110170)\n- Rename region_name to cell_name in OrganizationMapping django model by @lynnagara in [#109997](https://github.com/getsentry/sentry/pull/109997)\n- Migrate hybrid cloud resolvers from region -> cell by @lynnagara in [#110029](https://github.com/getsentry/sentry/pull/110029)\n- RegionDirectory.regions -> RegionDirectory.cells by @lynnagara in [#110028](https://github.com/getsentry/sentry/pull/110028)\n- Update apigateway with region -> cell by @lynnagara in [#109989](https://github.com/getsentry/sentry/pull/109989)\n- Remove usage of Region.category by @lynnagara in [#109840](https://github.com/getsentry/sentry/pull/109840)\n- Rename Region -> Cell by @lynnagara in [#109918](https://github.com/getsentry/sentry/pull/109918)\n- Clarify the SENTRY_MONOLITH_REGION setting by @lynnagara in [#109915](https://github.com/getsentry/sentry/pull/109915)\n- Remove find_all_region_names() by @lynnagara in [#109911](https://github.com/getsentry/sentry/pull/109911)\n- Remove get_region_by_name by @lynnagara in [#109833](https://github.com/getsentry/sentry/pull/109833)\n- Generate_region_url -> generate_locality_url by @lynnagara in [#109745](https://github.com/getsentry/sentry/pull/109745)\n- More refactors from regions -> cell + locality by @lynnagara in [#109622](https://github.com/getsentry/sentry/pull/109622)\n\n#### Ci\n\n- Add action to update `baseline-browser-mapping` by @natemoo-re in [#110608](https://github.com/getsentry/sentry/pull/110608)\n- Add mdx type checking by @natemoo-re in [#107776](https://github.com/getsentry/sentry/pull/107776)\n- Refactor jest-balance job to use shared setup-node-pnpm step by @ryan953 in [#110534](https://github.com/getsentry/sentry/pull/110534)\n- Remove repo-level Warden workflow by @gricha in [#110134](https://github.com/getsentry/sentry/pull/110134)\n- Use shared setup-node-pnpm action in acceptance workflow by @hubertdeng123 in [#110022](https://github.com/getsentry/sentry/pull/110022)\n\n#### Code Review\n\n- Remove github_event from task by @armenzg in [#110639](https://github.com/getsentry/sentry/pull/110639)\n- Use seer_path and skip request_type by @armenzg in [#110416](https://github.com/getsentry/sentry/pull/110416)\n- Remove legacy endpoint by @armenzg in [#110457](https://github.com/getsentry/sentry/pull/110457)\n- Remove unused models by @armenzg in [#108546](https://github.com/getsentry/sentry/pull/108546)\n\n#### Coding Integrations\n\n- Update Claude environment selection with default by @sehr-m in [#110662](https://github.com/getsentry/sentry/pull/110662)\n- Minor frontend changes by @sehr-m in [#110392](https://github.com/getsentry/sentry/pull/110392)\n\n#### Components\n\n- Convert AvatarCropper from class to function component by @JoshuaKGoldberg in [#110098](https://github.com/getsentry/sentry/pull/110098)\n- Convert GridEditable from class to function component by @JoshuaKGoldberg in [#109347](https://github.com/getsentry/sentry/pull/109347)\n- Convert BarChartZoom from class to function component by @JoshuaKGoldberg in [#109600](https://github.com/getsentry/sentry/pull/109600)\n- Convert StackedAreaChart from class to function component by @JoshuaKGoldberg in [#109601](https://github.com/getsentry/sentry/pull/109601)\n\n#### Context Engine\n\n- Keep 1 kill switch option for all of context engine indexing by @Mihir-Mavalankar in [#109226](https://github.com/getsentry/sentry/pull/109226)\n- Organize tasks and add scheduling task by @Mihir-Mavalankar in [#109156](https://github.com/getsentry/sentry/pull/109156)\n\n#### Core\n\n- Improve select field types by @TkDodo in [#110454](https://github.com/getsentry/sentry/pull/110454)\n- Button busy state and form SubmitButton UX by @TkDodo in [#109869](https://github.com/getsentry/sentry/pull/109869)\n\n#### Dashboards\n\n- Updates AI insights pages to use `useHasPlatformizedInsights` by @edwardgou-sentry in [#110572](https://github.com/getsentry/sentry/pull/110572)\n- Update ai agents overview dashboard to use equations fro trace_status_rate by @edwardgou-sentry in [#110456](https://github.com/getsentry/sentry/pull/110456)\n- Remove prebuilt dashboards section from sidebar nav by @DominikB2014 in [#110453](https://github.com/getsentry/sentry/pull/110453)\n- Remove pre-favorited prebuilt dashboards feature by @DominikB2014 in [#110445](https://github.com/getsentry/sentry/pull/110445)\n- Rename prebuilt dashboard titles in frontend by @edwardgou-sentry in [#110255](https://github.com/getsentry/sentry/pull/110255)\n- Add \"Details\" suffix to non overview AI Dashboards by @edwardgou-sentry in [#110257](https://github.com/getsentry/sentry/pull/110257)\n- Add create alert option to span based timeseries widgets by @DominikB2014 in [#110239](https://github.com/getsentry/sentry/pull/110239)\n- Switch EventsSearchBar test to use paste by @scttcper in [#110223](https://github.com/getsentry/sentry/pull/110223)\n- Change save button text for prebuilt dashboard filters by @DominikB2014 in [#110211](https://github.com/getsentry/sentry/pull/110211)\n- Use favorited column for favorite status instead of row existence by @DominikB2014 in [#110204](https://github.com/getsentry/sentry/pull/110204)\n- Remove `dashboards-categorical-bar-charts` flag declaration by @gggritso in [#109897](https://github.com/getsentry/sentry/pull/109897)\n- Extract spans confidence footer into reusable component by @nsdeschenes in [#109939](https://github.com/getsentry/sentry/pull/109939)\n- Replace browserHistory with useNavigate in importDashboardFromFileModal by @evanpurkhiser in [#109986](https://github.com/getsentry/sentry/pull/109986)\n- Standardize table minH across prebuilt dashboards by @DominikB2014 in [#109949](https://github.com/getsentry/sentry/pull/109949)\n- Remove `dashboards-categorical-bar-charts` feature flag from frontend by @gggritso in [#109896](https://github.com/getsentry/sentry/pull/109896)\n- Remove Widget Viewer manual caching layer by @gggritso in [#109689](https://github.com/getsentry/sentry/pull/109689)\n- Replace maxFontSize prop with Container height in details widget by @DominikB2014 in [#109599](https://github.com/getsentry/sentry/pull/109599)\n- Increase Next.js overview table widget heights to match mobile by @DominikB2014 in [#109498](https://github.com/getsentry/sentry/pull/109498)\n\n#### Db\n\n- Add (group_id, action_id, date_added) index on NotificationMessage by @beezz in [#109179](https://github.com/getsentry/sentry/pull/109179)\n- Remove (group_id, last_seen DESC) index from GroupRelease by @beezz in [#109067](https://github.com/getsentry/sentry/pull/109067)\n\n#### Deps\n\n- Update baseline-browser-mapping by @github-actions in [#110672](https://github.com/getsentry/sentry/pull/110672)\n- Bump django from 5.2.11 to 5.2.12 by @dependabot in [#110406](https://github.com/getsentry/sentry/pull/110406)\n- Bump werkzeug from 3.1.5 to 3.1.6 by @dependabot in [#110425](https://github.com/getsentry/sentry/pull/110425)\n- Bump sqlparse from 0.5.0 to 0.5.4 by @dependabot in [#110424](https://github.com/getsentry/sentry/pull/110424)\n- Pnpm approve native bindings by @natemoo-re in [#110435](https://github.com/getsentry/sentry/pull/110435)\n- Bump pillow from 11.0.0 to 12.1.1 by @dependabot in [#109657](https://github.com/getsentry/sentry/pull/109657)\n- Bump cryptography from 44.0.1 to 46.0.5 by @dependabot in [#109655](https://github.com/getsentry/sentry/pull/109655)\n- Bump @rspack/cli, @rspack/core, @rspack/plugin-react-refresh by @oioki in [#109656](https://github.com/getsentry/sentry/pull/109656)\n- Fix GHSA-23c5-xmqv-rm74 vulnerable minimatch in api-docs by @oioki in [#109658](https://github.com/getsentry/sentry/pull/109658)\n- Fix GHSA-fjxv-7rqg-78g4 vulnerable form-data in api-docs by @oioki in [#109654](https://github.com/getsentry/sentry/pull/109654)\n- Bump minimatch from 5.1.6 to 5.1.9 in /api-docs by @dependabot in [#109536](https://github.com/getsentry/sentry/pull/109536)\n- Bump typescript-eslint to 8.56.1 by @JoshuaKGoldberg in [#109312](https://github.com/getsentry/sentry/pull/109312)\n- Bump objectstore-client to 0.0.18 by @lcian in [#109193](https://github.com/getsentry/sentry/pull/109193)\n\n#### Discover\n\n- Replace browserHistory with useNavigate in landing by @evanpurkhiser in [#110010](https://github.com/getsentry/sentry/pull/110010)\n- Replace browserHistory with useNavigate in actionDropdown by @evanpurkhiser in [#110018](https://github.com/getsentry/sentry/pull/110018)\n- Replace browserHistory with useNavigate in eventInputName by @evanpurkhiser in [#109979](https://github.com/getsentry/sentry/pull/109979)\n\n#### Eslint\n\n- Enforce dynamic type-loader imports by @scttcper in [#110441](https://github.com/getsentry/sentry/pull/110441)\n- No-unnecessary-type-annotation rule by @TkDodo in [#109485](https://github.com/getsentry/sentry/pull/109485)\n- Bolster restrict-jsx-slot-children's getDisplayName by @JoshuaKGoldberg in [#109725](https://github.com/getsentry/sentry/pull/109725)\n\n#### Explore\n\n- Remove TraceItemAttributeContext provider pattern by @nsdeschenes in [#108552](https://github.com/getsentry/sentry/pull/108552)\n- Make attribute breakdown components a little more reusable by @malwilley in [#109515](https://github.com/getsentry/sentry/pull/109515)\n\n#### Explorer\n\n- Tool formatter and links for new issue/event tool by @aliu39 in [#110234](https://github.com/getsentry/sentry/pull/110234)\n- Register baselines rpc for proxy by @aliu39 in [#109856](https://github.com/getsentry/sentry/pull/109856)\n- Update pr widget labels to use 'PR' language by @aliu39 in [#109548](https://github.com/getsentry/sentry/pull/109548)\n- Rm unused category params from continue_run by @aliu39 in [#109355](https://github.com/getsentry/sentry/pull/109355)\n\n#### Flags\n\n- Cleanup dead `feature-flag-suspect-flags` option by @ryan953 in [#110335](https://github.com/getsentry/sentry/pull/110335)\n- Cleanup dead `feature-flag-suspect-flags` option by @ryan953 in [#110312](https://github.com/getsentry/sentry/pull/110312)\n- Remove GA-graduated dynamic-sampling-count-biases flag by @wedamija in [#108773](https://github.com/getsentry/sentry/pull/108773)\n- Remove 5 GA-graduated data-browsing feature flags (batch 1) by @wedamija in [#108769](https://github.com/getsentry/sentry/pull/108769)\n\n#### Gen Ai\n\n- Remove noisy parse exception captures in AI input by @priscilawebdev in [#110400](https://github.com/getsentry/sentry/pull/110400)\n- Remove redundant cost alert capture message by @priscilawebdev in [#110398](https://github.com/getsentry/sentry/pull/110398)\n\n#### Github\n\n- Bucket webhooks by event type to reduce head-of-line blocking by @tnt-sentry in [#109988](https://github.com/getsentry/sentry/pull/109988)\n- Remove mailbox allowlist for drop-unprocessed-events by @armenzg in [#109519](https://github.com/getsentry/sentry/pull/109519)\n\n#### Grouping\n\n- Improve message parameterization metrics by @lobsterkatie in [#110612](https://github.com/getsentry/sentry/pull/110612)\n- Cache parameterization on context by @lobsterkatie in [#110605](https://github.com/getsentry/sentry/pull/110605)\n- Remove `ContextValue` and `ContextDict` by @lobsterkatie in [#110466](https://github.com/getsentry/sentry/pull/110466)\n- Change where message variable is parameterized by @lobsterkatie in [#110377](https://github.com/getsentry/sentry/pull/110377)\n- Convert message parameterizer to singleton by @lobsterkatie in [#110384](https://github.com/getsentry/sentry/pull/110384)\n- Change custom fingerprint helper to return entire description by @lobsterkatie in [#110380](https://github.com/getsentry/sentry/pull/110380)\n- Move `GroupingContext` to new module by @lobsterkatie in [#110373](https://github.com/getsentry/sentry/pull/110373)\n- Small normalization and parameterization refactors by @lobsterkatie in [#110014](https://github.com/getsentry/sentry/pull/110014)\n- Add fingerprinting test input for title parameterization by @lobsterkatie in [#109886](https://github.com/getsentry/sentry/pull/109886)\n- Add git SHA parameterization by @lobsterkatie in [#109753](https://github.com/getsentry/sentry/pull/109753)\n- Expand hex parameterization to include numbers with 9-15 digits by @lobsterkatie in [#109751](https://github.com/getsentry/sentry/pull/109751)\n- Remove grouphash cache expiry options by @cvxluo in [#109677](https://github.com/getsentry/sentry/pull/109677)\n- Expand datetime message parameterization by @lobsterkatie in [#109706](https://github.com/getsentry/sentry/pull/109706)\n- Clarify and add to xfail parameterization tests by @lobsterkatie in [#109693](https://github.com/getsentry/sentry/pull/109693)\n- Small parameterization refactor by @lobsterkatie in [#109690](https://github.com/getsentry/sentry/pull/109690)\n\n#### Hc\n\n- Adds skill for outbox development and debugging by @GabeVillalobos in [#108626](https://github.com/getsentry/sentry/pull/108626)\n- Adds skill for general hybrid cloud testing by @GabeVillalobos in [#108622](https://github.com/getsentry/sentry/pull/108622)\n\n#### Insights\n\n- Replace useRouter with specific hooks in webVitals pageOverview by @evanpurkhiser in [#110118](https://github.com/getsentry/sentry/pull/110118)\n- Replace useRouter with specific hooks in screenLoadSpansPage by @evanpurkhiser in [#110120](https://github.com/getsentry/sentry/pull/110120)\n- Replace useRouter with specific hooks in screenSummaryPage by @evanpurkhiser in [#110121](https://github.com/getsentry/sentry/pull/110121)\n- Remove unused dashboard migration feature flags by @DominikB2014 in [#110044](https://github.com/getsentry/sentry/pull/110044)\n- Consolidate platformized hooks into useHasPlatformizedInsights by @DominikB2014 in [#109967](https://github.com/getsentry/sentry/pull/109967)\n\n#### Issues\n\n- Remove useHasStreamlinedUI from a few components by @malwilley in [#110143](https://github.com/getsentry/sentry/pull/110143)\n- Always use streamlined UI by @malwilley in [#109685](https://github.com/getsentry/sentry/pull/109685)\n- Refactor profile preview section tests by @scttcper in [#109362](https://github.com/getsentry/sentry/pull/109362)\n- Share first/last release hook + types by @scttcper in [#109265](https://github.com/getsentry/sentry/pull/109265)\n- Prefetch group.project in update group endpoint by @scttcper in [#109152](https://github.com/getsentry/sentry/pull/109152)\n- Fix N+1 project queries in bulk_transition_group_to_ongoing by @mrduncan in [#108792](https://github.com/getsentry/sentry/pull/108792)\n\n#### Llm Detected Issues\n\n- Use new llm detected issue type by @shayna-ch in [#109144](https://github.com/getsentry/sentry/pull/109144)\n- Create new issue type for llm detected issues by @shayna-ch in [#109138](https://github.com/getsentry/sentry/pull/109138)\n\n#### Logs\n\n- Prevent search query builder rerenders on auto-refresh by @nsdeschenes in [#110320](https://github.com/getsentry/sentry/pull/110320)\n- Fix memoization on log row content by @k-fish in [#110310](https://github.com/getsentry/sentry/pull/110310)\n\n#### Models\n\n- Extract `EventErrorType` StrEnum from `EventError` by @wedamija in [#109585](https://github.com/getsentry/sentry/pull/109585)\n- Delete CodeReviewEvent table [2/3] by @vaind in [#109422](https://github.com/getsentry/sentry/pull/109422)\n- Pending-delete CodeReviewEvent table [1/3] by @vaind in [#109420](https://github.com/getsentry/sentry/pull/109420)\n\n#### Nav\n\n- Remove navigationParentRef from context by @JonasBa in [#110530](https://github.com/getsentry/sentry/pull/110530)\n- Move whatsnew outside of its folder by @JonasBa in [#110485](https://github.com/getsentry/sentry/pull/110485)\n- Move buttonOverlay to components by @JonasBa in [#110486](https://github.com/getsentry/sentry/pull/110486)\n- Rename Nav to Navigation in navigation directory by @JonasBa in [#110359](https://github.com/getsentry/sentry/pull/110359)\n- Standardize primary nav footer button sizes by @JonasBa in [#110289](https://github.com/getsentry/sentry/pull/110289)\n- Redesign primary nav footer with vertical ButtonBar and portal overlays by @JonasBa in [#109977](https://github.com/getsentry/sentry/pull/109977)\n\n#### Objectstore\n\n- Remove objectstore.force-stored-symbolication flag by @jan-auer in [#109660](https://github.com/getsentry/sentry/pull/109660)\n- Pass through compressed bytes when client accepts encoding by @jan-auer in [#109571](https://github.com/getsentry/sentry/pull/109571)\n\n#### Occurrences On Eap\n\n- Use relative frozen timestamps in tests by @shashjar in [#110658](https://github.com/getsentry/sentry/pull/110658)\n- Relax reasonable match comparator for `is_escalating` read path by @shashjar in [#109820](https://github.com/getsentry/sentry/pull/109820)\n- Create e2e tests for occurrence read paths by @shashjar in [#109121](https://github.com/getsentry/sentry/pull/109121)\n- Create e2e test infrastructure by @shashjar in [#108179](https://github.com/getsentry/sentry/pull/108179)\n\n#### Onboarding\n\n- Replace useRouter with specific hooks in platformOptionDropdown by @evanpurkhiser in [#110108](https://github.com/getsentry/sentry/pull/110108)\n- Replace useRouter with specific hooks in platformDocHeader by @evanpurkhiser in [#110128](https://github.com/getsentry/sentry/pull/110128)\n- Replace inline AI rules with sentry-for-ai skill prompts by @HazAT in [#109647](https://github.com/getsentry/sentry/pull/109647)\n- Update tanstack start vite plugin to subpath export by @nicohrubec in [#107672](https://github.com/getsentry/sentry/pull/107672)\n\n#### Ownership\n\n- Migrate ownership settings form to AutoSaveField by @JonasBa in [#109365](https://github.com/getsentry/sentry/pull/109365)\n- Remove some empty patterns from CODEOWNERS by @kcons in [#109126](https://github.com/getsentry/sentry/pull/109126)\n\n#### Performance\n\n- Replace useRouter with specific hooks in durationChart by @evanpurkhiser in [#110123](https://github.com/getsentry/sentry/pull/110123)\n- Replace browserHistory with useNavigate in trends chart by @evanpurkhiser in [#110011](https://github.com/getsentry/sentry/pull/110011)\n- Replace browserHistory with useNavigate in eventsTable by @evanpurkhiser in [#110008](https://github.com/getsentry/sentry/pull/110008)\n- Replace browserHistory with useNavigate in tagExplorer by @evanpurkhiser in [#110012](https://github.com/getsentry/sentry/pull/110012)\n- Replace browserHistory with useNavigate in tagValueTable by @evanpurkhiser in [#110009](https://github.com/getsentry/sentry/pull/110009)\n- Replace browserHistory with useNavigate in onboarding by @evanpurkhiser in [#110017](https://github.com/getsentry/sentry/pull/110017)\n- Replace browserHistory with useNavigate in traceWaterfall by @evanpurkhiser in [#109978](https://github.com/getsentry/sentry/pull/109978)\n- Replace browserHistory with useNavigate in metricsEnhancedSetting by @evanpurkhiser in [#109991](https://github.com/getsentry/sentry/pull/109991)\n- Convert TransactionThresholdModal from class to function component by @JoshuaKGoldberg in [#109574](https://github.com/getsentry/sentry/pull/109574)\n- Convert TransactionThresholdButton from class to function component by @JoshuaKGoldberg in [#109567](https://github.com/getsentry/sentry/pull/109567)\n- Convert OperationSort from class to function component by @JoshuaKGoldberg in [#109331](https://github.com/getsentry/sentry/pull/109331)\n- Convert TeamKeyTransactionsManager from class to function component by @JoshuaKGoldberg in [#109591](https://github.com/getsentry/sentry/pull/109591)\n- Convert Table from class to function component by @JoshuaKGoldberg in [#109578](https://github.com/getsentry/sentry/pull/109578)\n- Convert TagExplorer from class to functional component by @mjq in [#109298](https://github.com/getsentry/sentry/pull/109298)\n\n#### Preprod\n\n- Sidebar polish by @rbro112 in [#110571](https://github.com/getsentry/sentry/pull/110571)\n- Delete no longer used buildList component by @NicoHinderling in [#110259](https://github.com/getsentry/sentry/pull/110259)\n- Replace useRouter with specific hooks in buildDetailsHeaderContent by @evanpurkhiser in [#110124](https://github.com/getsentry/sentry/pull/110124)\n- Remove duplicated project-scoped endpoints from preprod URLs by @chromy in [#109878](https://github.com/getsentry/sentry/pull/109878)\n- Remove project query param from artifact URLs by @NicoHinderling in [#109877](https://github.com/getsentry/sentry/pull/109877)\n- Use shared utils in check-for-updates endpoint by @trevor-e in [#109789](https://github.com/getsentry/sentry/pull/109789)\n- Remove projectId from URLs where possible by @chromy in [#109665](https://github.com/getsentry/sentry/pull/109665)\n- Register endpoints on organization as well as project by @chromy in [#106435](https://github.com/getsentry/sentry/pull/106435)\n- Redesign treemap tooltip to match Figma design (EME-869) by @cameroncooke in [#109478](https://github.com/getsentry/sentry/pull/109478)\n- Update manifest fields by @rbro112 in [#109088](https://github.com/getsentry/sentry/pull/109088)\n- Remove unused size analysis issues module by @chromy in [#109068](https://github.com/getsentry/sentry/pull/109068)\n- Add timing metric around snapshot transaction block by @NicoHinderling in [#108242](https://github.com/getsentry/sentry/pull/108242)\n\n#### Profiling\n\n- Replace useRouter with specific hooks in landingWidgetSelector by @evanpurkhiser in [#110125](https://github.com/getsentry/sentry/pull/110125)\n- Replace browserHistory with useNavigate in functionTrendsWidget by @evanpurkhiser in [#109980](https://github.com/getsentry/sentry/pull/109980)\n- Replace browserHistory with useNavigate in flamegraphQueryParamSync by @evanpurkhiser in [#109981](https://github.com/getsentry/sentry/pull/109981)\n- Replace browserHistory with useNavigate in content by @evanpurkhiser in [#109990](https://github.com/getsentry/sentry/pull/109990)\n- Replace browserHistory with useNavigate in slowestFunctionsWidget by @evanpurkhiser in [#109987](https://github.com/getsentry/sentry/pull/109987)\n- Replace browserHistory with useNavigate in profileSummary by @evanpurkhiser in [#109982](https://github.com/getsentry/sentry/pull/109982)\n\n#### Relay\n\n- Update project config snapshot for health-check glob by @oioki in [#110408](https://github.com/getsentry/sentry/pull/110408)\n- Remove metrics extraction integration test by @phacops in [#109613](https://github.com/getsentry/sentry/pull/109613)\n- Migrate ingestThroughTrustedRelaysOnly to AutoSaveField by @JonasBa in [#108761](https://github.com/getsentry/sentry/pull/108761)\n- Add rollout option for eap accepted span outcomes by @tobias-wilfert in [#109078](https://github.com/getsentry/sentry/pull/109078)\n\n#### Releases\n\n- Replace useRouter with specific hooks in releases detail overview by @evanpurkhiser in [#110129](https://github.com/getsentry/sentry/pull/110129)\n- Replace browserHistory with useNavigate in releases overview by @evanpurkhiser in [#109983](https://github.com/getsentry/sentry/pull/109983)\n- Replace browserHistory with useNavigate in preprodBuilds by @evanpurkhiser in [#109984](https://github.com/getsentry/sentry/pull/109984)\n\n#### Replays\n\n- Remove granular-replay-permissions flag registration by @priscilawebdev in [#110397](https://github.com/getsentry/sentry/pull/110397)\n- Clean up granular-replay-permissions feature flag (backend) by @priscilawebdev in [#110036](https://github.com/getsentry/sentry/pull/110036)\n- Clean up granular-replay-permissions flag (frontend) by @priscilawebdev in [#110037](https://github.com/getsentry/sentry/pull/110037)\n- Migrate projectReplays settings to AutoSaveField by @JonasBa in [#109364](https://github.com/getsentry/sentry/pull/109364)\n- Migrate replay network/errors virtualization to tanstack virtual by @scttcper in [#108190](https://github.com/getsentry/sentry/pull/108190)\n\n#### Repos\n\n- Refactor Settings > Seer > Repos to use virtual rendering by @ryan953 in [#108798](https://github.com/getsentry/sentry/pull/108798)\n- Refactor useOrganizationRepositoriesWithSettings to use apiOptions & useInfiniteQuery by @ryan953 in [#108295](https://github.com/getsentry/sentry/pull/108295)\n\n#### Seer\n\n- Remove unused SeerOrganizationSettings model and mark table for pending deletion by @srest2021 in [#110656](https://github.com/getsentry/sentry/pull/110656)\n- Add random 50% rollout for context engine in start_run by @Mihir-Mavalankar in [#110574](https://github.com/getsentry/sentry/pull/110574)\n- Trim whitespace from ASCII snapshot to reduce token usage by @Mihir-Mavalankar in [#110273](https://github.com/getsentry/sentry/pull/110273)\n- Rename useAgentHooks to seerAgentHooks by @ryan953 in [#110188](https://github.com/getsentry/sentry/pull/110188)\n- Propagate viewer_context to background tasks and utilities by @azulus in [#109724](https://github.com/getsentry/sentry/pull/109724)\n- Propagate viewer_context to Seer endpoint call sites by @azulus in [#109723](https://github.com/getsentry/sentry/pull/109723)\n- Propagate viewer_context to autofix Seer call sites by @azulus in [#109722](https://github.com/getsentry/sentry/pull/109722)\n- Propagate viewer_context to LLM detection and event manager by @azulus in [#109721](https://github.com/getsentry/sentry/pull/109721)\n- Propagate viewer_context to code review Seer call sites by @azulus in [#109717](https://github.com/getsentry/sentry/pull/109717)\n- Propagate viewer_context to explorer Seer call sites by @azulus in [#109716](https://github.com/getsentry/sentry/pull/109716)\n- Propagate viewer_context to feedback Seer call sites by @azulus in [#109714](https://github.com/getsentry/sentry/pull/109714)\n- Propagate viewer_context to anomaly detection Seer call sites by @azulus in [#109720](https://github.com/getsentry/sentry/pull/109720)\n- Propagate viewer_context to breakpoints Seer call sites by @azulus in [#109718](https://github.com/getsentry/sentry/pull/109718)\n- Propagate viewer_context to similarity Seer call sites by @azulus in [#109719](https://github.com/getsentry/sentry/pull/109719)\n- Propagate viewer_context to replays Seer call sites by @azulus in [#109715](https://github.com/getsentry/sentry/pull/109715)\n- Add viewer_context passthrough to all Seer API wrappers by @azulus in [#109697](https://github.com/getsentry/sentry/pull/109697)\n- Add typed wrappers for remaining Seer API callsites by @azulus in [#109607](https://github.com/getsentry/sentry/pull/109607)\n- Add typed wrappers for Seer API callsites by @azulus in [#109589](https://github.com/getsentry/sentry/pull/109589)\n- Batch size modifiable and retry on rate limit by @shruthilayaj in [#109568](https://github.com/getsentry/sentry/pull/109568)\n- Extract typed severity score request function by @azulus in [#109507](https://github.com/getsentry/sentry/pull/109507)\n- Refactor explorer service map query and instrumentation by @shruthilayaj in [#109322](https://github.com/getsentry/sentry/pull/109322)\n- Refactor useCodingAgentIntegrations to be based on apiOptions instead by @ryan953 in [#109290](https://github.com/getsentry/sentry/pull/109290)\n- Migrate remaining seer calls to urllib3 connection pools by @azulus in [#109263](https://github.com/getsentry/sentry/pull/109263)\n- Migrate seer endpoints to urllib3 connection pools by @azulus in [#109254](https://github.com/getsentry/sentry/pull/109254)\n- Migrate explorer to urllib3 connection pools by @azulus in [#109224](https://github.com/getsentry/sentry/pull/109224)\n- Migrate autofix and summarization to make_signed_seer_api_request by @azulus in [#109205](https://github.com/getsentry/sentry/pull/109205)\n- Remove unused allowBackgroundAgentDelegation org option - be by @ryan953 in [#109083](https://github.com/getsentry/sentry/pull/109083)\n\n---\n_This changelog has been truncated. See the [full changelog](https://github.com/getsentry/sentry/blob/abb07644cbf4d35cd291ab92c365bc7d22f986ef/CHANGES#L1-L1592) for all changes._","publishedAt":"2026-03-16T16:42:48.000Z","fetchedAt":"2026-04-03T19:01:15.998Z","url":"https://github.com/getsentry/sentry/releases/tag/26.3.0","media":[],"coverageCount":0},{"id":"rel_6rxfq46ZlJ_W0kAUVhX-A","version":"26.2.1","type":"feature","title":"26.2.1","summary":"### New Features ✨\n\n#### Autofix\n\n- Add modal for GitHub Copilot license required by @JoshFerge in [#108783](https://github.com/getsentry/sentry/pull/...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Autofix\n\n- Add modal for GitHub Copilot license required by @JoshFerge in [#108783](https://github.com/getsentry/sentry/pull/108783)\n- Support explorer autofix steps in slack operator by @Zylphrex in [#108569](https://github.com/getsentry/sentry/pull/108569)\n- Add seer-slack-workflows-explorer flag by @Zylphrex in [#108572](https://github.com/getsentry/sentry/pull/108572)\n- Trigger process autofix updates in explorer autofix by @Zylphrex in [#108389](https://github.com/getsentry/sentry/pull/108389)\n\n#### Cmd K\n\n- Add DSN lookup to both command palettes by @sergical in [#108401](https://github.com/getsentry/sentry/pull/108401)\n- Add DSN lookup API endpoint by @sergical in [#108400](https://github.com/getsentry/sentry/pull/108400)\n\n#### Code Review\n\n- Set Sentry tags & context by @armenzg in [#108435](https://github.com/getsentry/sentry/pull/108435)\n- Add CodeReviewEvent model and migration [internal] by @vaind in [#108531](https://github.com/getsentry/sentry/pull/108531)\n- Allow bots to get PR reviews by @srest2021 in [#108291](https://github.com/getsentry/sentry/pull/108291)\n\n#### Coding Agents\n\n- Detect GitHub App 403 permission errors and return structured failure_type by @JoshFerge in [#108451](https://github.com/getsentry/sentry/pull/108451)\n- Show GitHub App permissions modal on 403 errors by @JoshFerge in [#108452](https://github.com/getsentry/sentry/pull/108452)\n\n#### Dashboards\n\n- Register text widget flag by @nikkikapadia in [#108500](https://github.com/getsentry/sentry/pull/108500)\n- Add chart-legend-component feature flag by @gggritso in [#108370](https://github.com/getsentry/sentry/pull/108370)\n\n#### Flags\n\n- Remove disabled unlimited-auto-triggered-autofix-runs flag by @wedamija in [#108724](https://github.com/getsentry/sentry/pull/108724)\n- Remove 2 dead-except-tests flags (batch 13) by @wedamija in [#108707](https://github.com/getsentry/sentry/pull/108707)\n- Remove 5 dead/dead-except-tests flags (batch 12) by @wedamija in [#108706](https://github.com/getsentry/sentry/pull/108706)\n\n#### Forms\n\n- Migrate account emails form to new form system by @JonasBa in [#108384](https://github.com/getsentry/sentry/pull/108384)\n- Rewrite password form using new form system by @JonasBa in [#108380](https://github.com/getsentry/sentry/pull/108380)\n\n#### Preprod\n\n- Snapshots frontend v1 by @rbro112 in [#108278](https://github.com/getsentry/sentry/pull/108278)\n- Set up snapshot get API by @rbro112 in [#108199](https://github.com/getsentry/sentry/pull/108199)\n- Add Size Analysis detector by @chromy in [#108208](https://github.com/getsentry/sentry/pull/108208)\n- Add upload-options endpoint for snapshot uploads by @lcian in [#108312](https://github.com/getsentry/sentry/pull/108312)\n- Add artifact-type filtering controls to status rule UI by @cameroncooke in [#108313](https://github.com/getsentry/sentry/pull/108313)\n- Add artifact-type filtering to size status checks by @cameroncooke in [#108311](https://github.com/getsentry/sentry/pull/108311)\n\n#### Spans Buffer\n\n- Split SUNIONSTORE timing and use stage tags for metrics by @untitaker in [#108468](https://github.com/getsentry/sentry/pull/108468)\n- Add more flusher documentation by @lvthanh03 in [#108029](https://github.com/getsentry/sentry/pull/108029)\n\n#### Uptime\n\n- Add AI assertion suggestions frontend by @jaydgoss in [#108378](https://github.com/getsentry/sentry/pull/108378)\n- Add AI-powered assertion suggestions backend by @jaydgoss in [#108382](https://github.com/getsentry/sentry/pull/108382)\n\n#### Other\n\n- (aci) Add CacheMapping helper by @kcons in [#107821](https://github.com/getsentry/sentry/pull/107821)\n- (auth) Add structured logging for AuthIdentity updates and deletes by @michelletran-sentry in [#108688](https://github.com/getsentry/sentry/pull/108688)\n- (billing) Allow frontend to set category retention to null by @vbro in [#105462](https://github.com/getsentry/sentry/pull/105462)\n- (cells) Introduce locality concept in configuration by @lynnagara in [#108410](https://github.com/getsentry/sentry/pull/108410)\n- (explore) Add analytics tracking to FloatingTrigger actions by @JonasBa in [#108532](https://github.com/getsentry/sentry/pull/108532)\n- (github) Add get_check_run method to GitHub client by @armenzg in [#108434](https://github.com/getsentry/sentry/pull/108434)\n- (gsAdmin) Add product trial extension support by @mrduncan in [#108298](https://github.com/getsentry/sentry/pull/108298)\n- (hybridFilter) Add shift-click range selection by @JonasBa in [#108367](https://github.com/getsentry/sentry/pull/108367)\n- (identity) Encrypt Identity.data field with EncryptedJSONField by @vgrozdanic in [#108429](https://github.com/getsentry/sentry/pull/108429)\n- (infra) Update test shuffling to shuffle across shards by @rbro112 in [#108319](https://github.com/getsentry/sentry/pull/108319)\n- (issues) Add engaged view tracking by @mrduncan in [#107912](https://github.com/getsentry/sentry/pull/107912)\n- (monitors-tables) Removing hardcoded column widths by @Abdkhan14 in [#108234](https://github.com/getsentry/sentry/pull/108234)\n- (parseJsonWithFix) Add tests by @priscilawebdev in [#108303](https://github.com/getsentry/sentry/pull/108303)\n- (profiling) More examples on slowest functions widget by @Zylphrex in [#108739](https://github.com/getsentry/sentry/pull/108739)\n- (relay) Remove `replay.relay-snuba-publishing-disabled.sample-rate` by @tobias-wilfert in [#108110](https://github.com/getsentry/sentry/pull/108110)\n- (replay) Remove feature flag for new replay processing pipeline by @tobias-wilfert in [#107474](https://github.com/getsentry/sentry/pull/107474)\n- (repos) Add the X-Hits response header to /api/0/organizations/$org/repos/ by @ryan953 in [#108388](https://github.com/getsentry/sentry/pull/108388)\n- (sdk) Add configurable S4S transaction sampling by @JoshFerge in [#108097](https://github.com/getsentry/sentry/pull/108097)\n- (security) Add sentry-security skill synthesized from vulnerability history by @dcramer in [#108433](https://github.com/getsentry/sentry/pull/108433)\n- (seer) Add seer-agent-pr-consolidation feature flag by @JoshFerge in [#108751](https://github.com/getsentry/sentry/pull/108751)\n- (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)\n- (settings) Migrate dynamic sampling from react-virtualized to tanstack by @scttcper in [#108277](https://github.com/getsentry/sentry/pull/108277)\n- (spans) Add FlusherLogger to track top flush operations by bytes by @lvthanh03 in [#108266](https://github.com/getsentry/sentry/pull/108266)\n- (uptime-traces) Linking uptime issues to check-ins in traces by @Abdkhan14 in [#108464](https://github.com/getsentry/sentry/pull/108464)\n- (webhooks) Log slow forwarding & more context by @armenzg in [#108220](https://github.com/getsentry/sentry/pull/108220)\n- (workflow-engine) Track tainted workflow evaluations by @kcons in [#107311](https://github.com/getsentry/sentry/pull/107311)\n- Add dotagents skill management and expand warden by @dcramer in [#108695](https://github.com/getsentry/sentry/pull/108695)\n\n### Bug Fixes 🐛\n\n#### Api\n\n- Require project:write for transaction threshold override mutations by @dcramer in [#108470](https://github.com/getsentry/sentry/pull/108470)\n- Prevent IDOR in release threshold status via unvalidated project slugs by @dcramer in [#108467](https://github.com/getsentry/sentry/pull/108467)\n- Add org membership check to onboarding continuation email endpoint by @dcramer in [#108474](https://github.com/getsentry/sentry/pull/108474)\n- Validate linked dashboard org membership in field links by @dcramer in [#108471](https://github.com/getsentry/sentry/pull/108471)\n- Validate scope_list in ApiKey serializer by @dcramer in [#108475](https://github.com/getsentry/sentry/pull/108475)\n- Use parameterized query for shared_domain in missing org members by @dcramer in [#108469](https://github.com/getsentry/sentry/pull/108469)\n- Check token expiration in OAuth userinfo endpoint by @dcramer in [#108465](https://github.com/getsentry/sentry/pull/108465)\n- Scope member invite lookups to organization by @dcramer in [#108463](https://github.com/getsentry/sentry/pull/108463)\n\n#### Codeowners\n\n- Add trailing slashes to directory patterns for recursive matching by @NicoHinderling in [#108487](https://github.com/getsentry/sentry/pull/108487)\n- Add trailing slashes to preprod directory rules by @NicoHinderling in [#108485](https://github.com/getsentry/sentry/pull/108485)\n\n#### Dashboards\n\n- Put user_misery in equation by @nikkikapadia in [#108716](https://github.com/getsentry/sentry/pull/108716)\n- Use spans dataset in default overview dashboard backend by @nikkikapadia in [#108682](https://github.com/getsentry/sentry/pull/108682)\n\n#### Issues\n\n- Remove broken scope tag by @kcons in [#108450](https://github.com/getsentry/sentry/pull/108450)\n- Handle None from event serialization in wrap_event_response by @mrduncan in [#108508](https://github.com/getsentry/sentry/pull/108508)\n- Downgrade assignee validation error to warning in occurrence consumer by @mrduncan in [#108511](https://github.com/getsentry/sentry/pull/108511)\n- Raise DoesNotExist for group IDs exceeding field max value by @mrduncan in [#108489](https://github.com/getsentry/sentry/pull/108489)\n- Fix a problem were `0` may be rendered by @ryan953 in [#108403](https://github.com/getsentry/sentry/pull/108403)\n\n#### Seer\n\n- Fix bad link construction by @ryan953 in [#108442](https://github.com/getsentry/sentry/pull/108442)\n- 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)\n\n#### Tests\n\n- Fix flaky test_update_workflows_add_workflow ordering by @joshuarli in [#108731](https://github.com/getsentry/sentry/pull/108731)\n- Fix flaky test_issue_owners_should_ratelimit by @joshuarli in [#108663](https://github.com/getsentry/sentry/pull/108663)\n- Fix default action data by @ceorourke in [#108505](https://github.com/getsentry/sentry/pull/108505)\n- Use TestCase instead of TransactionTestCase by @mrduncan in [#108427](https://github.com/getsentry/sentry/pull/108427)\n\n#### Workflows\n\n- Avoid doing an additional query just to tag the session with a count by @kcons in [#108734](https://github.com/getsentry/sentry/pull/108734)\n- Make workflow limit values options so we can tweak if necessary by @kcons in [#108718](https://github.com/getsentry/sentry/pull/108718)\n\n#### Other\n\n- (aci) Switch organizations:more-workflows to a flagpole feature by @kcons in [#108634](https://github.com/getsentry/sentry/pull/108634)\n- (alerts) Verify OrganizationCombinedRuleIndexEndpoint sort key by @kcons in [#108321](https://github.com/getsentry/sentry/pull/108321)\n- (autofix) Check for access in process_autofix_updates by @leeandher in [#108619](https://github.com/getsentry/sentry/pull/108619)\n- (AutoSaveField) Make sure boolean fields can revert on error by @TkDodo in [#108528](https://github.com/getsentry/sentry/pull/108528)\n- (code-review) Fix the audit log for code review settings by @suejungshin in [#107994](https://github.com/getsentry/sentry/pull/107994)\n- (cross-events) Remove checking explicit buckets to resolve fails around UTC midnight by @nsdeschenes in [#107773](https://github.com/getsentry/sentry/pull/107773)\n- (csrf) Note that cookies must be enabled on the CSRF error page by @JoshFerge in [#108481](https://github.com/getsentry/sentry/pull/108481)\n- (cursor) Mark branchName and autoCreatePr as optional in CursorAgentResponseTarget by @JoshFerge in [#108497](https://github.com/getsentry/sentry/pull/108497)\n- (data-browsing) Sort `device.class` by power rather than alphabetically by @gggritso in [#108122](https://github.com/getsentry/sentry/pull/108122)\n- (deletions) Remove unnecessary skip_models check in Group deletion by @kcons in [#108448](https://github.com/getsentry/sentry/pull/108448)\n- (devserver) Improve HMR and liveReload for reverse proxy by @dashed in [#108661](https://github.com/getsentry/sentry/pull/108661)\n- (devservices) Support OrbStack and Docker Desktop in addition to Colima by @HazAT in [#108740](https://github.com/getsentry/sentry/pull/108740)\n- (escalating) Convert Redis threshold to float before comparison by @mrduncan in [#108476](https://github.com/getsentry/sentry/pull/108476)\n- (explore) Deduplicate group by and visualize select options by @nsdeschenes in [#108679](https://github.com/getsentry/sentry/pull/108679)\n- (flags) Convert Unleash createdByUserId to str in \\_get_user by @kcons in [#108578](https://github.com/getsentry/sentry/pull/108578)\n- (form) Delay hash scroll by @natemoo-re in [#108414](https://github.com/getsentry/sentry/pull/108414)\n- (forms) Allow hash-based field focus by @natemoo-re in [#108376](https://github.com/getsentry/sentry/pull/108376)\n- (frameRegisters) Sort registers numerically instead of lexicographically by @mrduncan in [#108426](https://github.com/getsentry/sentry/pull/108426)\n- (hybridcloud) Fix test assertion by @kcons in [#108478](https://github.com/getsentry/sentry/pull/108478)\n- (idp) Use auth base template for IDP email verification pages by @JoshFerge in [#108417](https://github.com/getsentry/sentry/pull/108417)\n- (incidents) Add failure_count to EAP_FUNCTIONS by @kcons in [#108495](https://github.com/getsentry/sentry/pull/108495)\n- (issue search) Fix wildcard IN filter on array fields by @shashjar in [#108502](https://github.com/getsentry/sentry/pull/108502)\n- (occurrences) Blocklist span data out of event ingestion by @thetruecpaul in [#108553](https://github.com/getsentry/sentry/pull/108553)\n- (occurrences on eap) Set a recursion depth limit on attribute arrays & dicts by @shashjar in [#108555](https://github.com/getsentry/sentry/pull/108555)\n- (orgmembers) Deleting user race condition causes list to fail by @mikejihbe in [#108420](https://github.com/getsentry/sentry/pull/108420)\n- (releases) Paginate GitHub client compare_commits to avoid 250-commit limit by @srest2021 in [#108550](https://github.com/getsentry/sentry/pull/108550)\n- (reprocessing) Add select_for_update() to Group queries in finish_reprocessing by @vgrozdanic in [#108342](https://github.com/getsentry/sentry/pull/108342)\n- (rpc) Handle organization slug collision gracefully during slug update by @sentry in [#107053](https://github.com/getsentry/sentry/pull/107053)\n- (rules) Make WorkflowEngineRuleSerializer write owner properly by @kcons in [#108509](https://github.com/getsentry/sentry/pull/108509)\n- (scraps) FormField Search in new form system by @TkDodo in [#108453](https://github.com/getsentry/sentry/pull/108453)\n- (security) Delete recovery codes when last primary authenticator is removed by @wedamija in [#108264](https://github.com/getsentry/sentry/pull/108264)\n- (sentry-security) Improve severity classification for cross-flow enforcement by @dcramer in [#108494](https://github.com/getsentry/sentry/pull/108494)\n- (servicehooks) Make servicehook updating idempotent by @Christinarlong in [#108415](https://github.com/getsentry/sentry/pull/108415)\n- (similar-issues) Fix overflow in issue diff modal by @mrduncan in [#108444](https://github.com/getsentry/sentry/pull/108444)\n- (teams) Prevent contributors from downgrading org admins' team roles by @wedamija in [#108288](https://github.com/getsentry/sentry/pull/108288)\n- (tracemetrics) Pass unit properly from backend for tracemetrics by @narsaynorath in [#108441](https://github.com/getsentry/sentry/pull/108441)\n- (typing) Bring sentry.auth and sentry.auth_v2 into the mypy stronglist by @kcons in [#108620](https://github.com/getsentry/sentry/pull/108620)\n- (uptime) Defensive error handling in deletion cascade for billing seats by @dashed in [#108554](https://github.com/getsentry/sentry/pull/108554)\n- (uptime-trace) Enabling linking to timing nodes on re-load by @Abdkhan14 in [#108689](https://github.com/getsentry/sentry/pull/108689)\n- (userrole) Fix guaranteed-to-fail comparison by @kcons in [#108466](https://github.com/getsentry/sentry/pull/108466)\n- (warden) Add remote source for dotagents-managed skills by @dcramer in [#108735](https://github.com/getsentry/sentry/pull/108735)\n- (workflow_engine) Fix integration_id type mismatch in action translator by @kcons in [#108462](https://github.com/getsentry/sentry/pull/108462)\n- Remove unused type exports by @gggritso in [#108538](https://github.com/getsentry/sentry/pull/108538)\n\n### Documentation 📚\n\n- (api) Warn that SentryIsAuthenticated bypasses base class access controls by @JoshFerge in [#108480](https://github.com/getsentry/sentry/pull/108480)\n- Add feature flag and PR splitting guidance to AGENTS.md by @sergical in [#108530](https://github.com/getsentry/sentry/pull/108530)\n\n### Internal Changes 🔧\n\n#### Aci\n\n- Add actions data to WorkflowEngineRuleSerializer by @ceorourke in [#108419](https://github.com/getsentry/sentry/pull/108419)\n- Remove all references of sentry_app_identifier by @ceorourke in [#107991](https://github.com/getsentry/sentry/pull/107991)\n\n#### Explorer\n\n- Clamp rec event algo to 14d and fallback on error or timeout by @aliu39 in [#108261](https://github.com/getsentry/sentry/pull/108261)\n- Default to max stats period for log/metric details by @aliu39 in [#108258](https://github.com/getsentry/sentry/pull/108258)\n- Cleanup chat GET requests when runId=null by @aliu39 in [#108293](https://github.com/getsentry/sentry/pull/108293)\n\n#### Flags\n\n- Remove 4 dead feature flags (batch 11) by @wedamija in [#108615](https://github.com/getsentry/sentry/pull/108615)\n- Remove 5 dead feature flags (batch 10) by @wedamija in [#108613](https://github.com/getsentry/sentry/pull/108613)\n- Remove 4 dead feature flags (batch 9) by @wedamija in [#108610](https://github.com/getsentry/sentry/pull/108610)\n- Remove 5 dead feature flags (batch 8) by @wedamija in [#108609](https://github.com/getsentry/sentry/pull/108609)\n- Remove 5 dead feature flags (batch 7) by @wedamija in [#108608](https://github.com/getsentry/sentry/pull/108608)\n- Remove 5 dead feature flags (batch 6) by @wedamija in [#108607](https://github.com/getsentry/sentry/pull/108607)\n- Remove 5 dead feature flags (batch 5) by @wedamija in [#108605](https://github.com/getsentry/sentry/pull/108605)\n- Remove 3 dead feature flags (batch 4) by @wedamija in [#108560](https://github.com/getsentry/sentry/pull/108560)\n- Remove 5 dead feature flags (batch 3) by @wedamija in [#108559](https://github.com/getsentry/sentry/pull/108559)\n- Remove 5 dead feature flags (batch 2) by @wedamija in [#108557](https://github.com/getsentry/sentry/pull/108557)\n- Remove 4 dead feature flags (batch 1) by @wedamija in [#108556](https://github.com/getsentry/sentry/pull/108556)\n- Remove 5 dead feature flags by @wedamija in [#108507](https://github.com/getsentry/sentry/pull/108507)\n\n#### Performance\n\n- Rename otlp/ to eap/ and use consistent EAP naming by @mjq in [#108385](https://github.com/getsentry/sentry/pull/108385)\n- Remove performance-otel-friendly-ui feature flag by @mjq in [#108369](https://github.com/getsentry/sentry/pull/108369)\n\n#### Seer\n\n- Remove doc links from legacy Seer settings page by @sfanahata in [#108473](https://github.com/getsentry/sentry/pull/108473)\n- Refactor explorer-chat/ url pattern to be simpler. by @ryan953 in [#108391](https://github.com/getsentry/sentry/pull/108391)\n\n#### Settings\n\n- Migrate close account form to new form system API by @JonasBa in [#108392](https://github.com/getsentry/sentry/pull/108392)\n- Migrate account subscriptions to new form system by @JonasBa in [#108387](https://github.com/getsentry/sentry/pull/108387)\n- Make code behind grouptombstones-hit-counter the default by @priscilawebdev in [#108301](https://github.com/getsentry/sentry/pull/108301)\n\n#### Ui\n\n- Remove GroupStore usage from StreamGroup by @malwilley in [#108625](https://github.com/getsentry/sentry/pull/108625)\n- Update conventions package by @nsdeschenes in [#108524](https://github.com/getsentry/sentry/pull/108524)\n\n#### Warden\n\n- Disable sentry-javascript-bugs skill by @dcramer in [#108756](https://github.com/getsentry/sentry/pull/108756)\n- Vendor sentry-backend-bugs and sentry-javascript-bugs skills by @dcramer in [#108746](https://github.com/getsentry/sentry/pull/108746)\n- Add Django access review automation by @dcramer in [#107652](https://github.com/getsentry/sentry/pull/107652)\n\n#### Other\n\n- (agent-monitoring) Add tag to cost warnings for ownership assignment by @shellmayr in [#108522](https://github.com/getsentry/sentry/pull/108522)\n- (apiOptions) Use apiFetch internally to avoid includeAllArgs by @ryan953 in [#108728](https://github.com/getsentry/sentry/pull/108728)\n- (core-ui) Detect and log duplicate option keys for CompactSelect by @nsdeschenes in [#108680](https://github.com/getsentry/sentry/pull/108680)\n- (dashboards) Update mobile vitals configs by @gggritso in [#108537](https://github.com/getsentry/sentry/pull/108537)\n- (explore) Update trace item attribute hooks to remove context by @nsdeschenes in [#108019](https://github.com/getsentry/sentry/pull/108019)\n- (forms) Support `ReactNode` for label and hintText by @natemoo-re in [#108477](https://github.com/getsentry/sentry/pull/108477)\n- (getApiUrl) Use getApiUrl in all the places and update types to require it by @ryan953 in [#108096](https://github.com/getsentry/sentry/pull/108096)\n- (github) Centralize GitHub API Accept header into shared constant by @leeandher in [#108354](https://github.com/getsentry/sentry/pull/108354)\n- (grouping) Clean up grouphash caching by @lobsterkatie in [#108274](https://github.com/getsentry/sentry/pull/108274)\n- (issues) Remove time-to-process metric by @mrduncan in [#108564](https://github.com/getsentry/sentry/pull/108564)\n- (knip) Update knip to latest version and rm some extra exports by @ryan953 in [#108397](https://github.com/getsentry/sentry/pull/108397)\n- (relay) Add rollout option for eap accepted outcomes by @Dav1dde in [#108314](https://github.com/getsentry/sentry/pull/108314)\n- (replays) Clamp connected error query dates to org retention period by @aliu39 in [#108428](https://github.com/getsentry/sentry/pull/108428)\n- (sdk) Sample S4S upstream metrics at 1% by @JoshFerge in [#108566](https://github.com/getsentry/sentry/pull/108566)\n- (selective testing) Exclude tests/sentry/test_wsgi.py by @joshuarli in [#108198](https://github.com/getsentry/sentry/pull/108198)\n- (tests) Reduce session count in test_batch_query_percent_decimal by @mrduncan in [#108425](https://github.com/getsentry/sentry/pull/108425)\n- (tracemetrics) Use metrics rollout flows by @nsdeschenes in [#108683](https://github.com/getsentry/sentry/pull/108683)\n- Remove dead release.timestamp preflight query code by @noahsmartin in [#108660](https://github.com/getsentry/sentry/pull/108660)\n- Make code behind grouptombstones-hit-counter the default by @priscilawebdev in [#108302](https://github.com/getsentry/sentry/pull/108302)\n- Delete SessionsQueryConfig and inline AllowedResolution.ten_seconds by @noahsmartin in [#108590](https://github.com/getsentry/sentry/pull/108590)\n\n### Other\n\n- Idor issue group operations by @cvxluo in [#107989](https://github.com/getsentry/sentry/pull/107989)\n- Adds hybrid_cloud_rpc skill to claude config by @GabeVillalobos in [#108548](https://github.com/getsentry/sentry/pull/108548)\n- Move massage result functions from sessions_v2 to outcomes by @noahsmartin in [#108598](https://github.com/getsentry/sentry/pull/108598)\n- form(search) bailout if label is jsx node and make hintText optional by @JonasBa in [#108690](https://github.com/getsentry/sentry/pull/108690)\n- core(styling) drop double serializers by @JonasBa in [#108631](https://github.com/getsentry/sentry/pull/108631)\n- Distinguish Copilot licensing errors from GitHub App permission errors by @JoshFerge in [#108565](https://github.com/getsentry/sentry/pull/108565)\n- fix(pagefilter) increase hitBox, add infoTip and search clear by @JonasBa in [#108422](https://github.com/getsentry/sentry/pull/108422)\n- test(preprod): use fake timers to cut buildDetails spec from 22s to 2s by @scttcper in [#108621](https://github.com/getsentry/sentry/pull/108621)\n- test(billing): Refactor Stripe hook test to use fake timers by @scttcper in [#108515](https://github.com/getsentry/sentry/pull/108515)\n- ref(settings) better buttons on stats page by @JonasBa in [#108501](https://github.com/getsentry/sentry/pull/108501)\n- de 928 migrate customcommitsresolutionmodal to new form system by @TkDodo in [#108348](https://github.com/getsentry/sentry/pull/108348)\n- meta: Bump new development version in [7a5c2b85](https://github.com/getsentry/sentry/commit/7a5c2b85b1843386c717da2b3cc01574c290634a)\n- release: 26.2.0 by @hubertdeng123 in [58e75470](https://github.com/getsentry/sentry/commit/58e754707b5adf070dfc982a4c99cb5a8123d66e)\n- Support spawning processes in multi process step by @fpacifici in [#108472](https://github.com/getsentry/sentry/pull/108472)\n- Harden SSO login pipeline for inactive user identities by @michelletran-sentry in [#108458](https://github.com/getsentry/sentry/pull/108458)\n- fix(relocation) Remove fixup passes on relocation processing by @markstory in [#108374](https://github.com/getsentry/sentry/pull/108374)\n- fix(relocation) Align max upload size with nginx limits by @markstory in [#108381](https://github.com/getsentry/sentry/pull/108381)\n- Increase product trial extension limit from 90 to 180 days by @rahulchhabria in [#108395](https://github.com/getsentry/sentry/pull/108395)\n- meta: Bump new development version in [98d06f22](https://github.com/getsentry/sentry/commit/98d06f2274111b01b05ba20326ff65b7277b4df8)\n- deps(ui): Upgrade react aria to feb 2026 by @scttcper in [#106755](https://github.com/getsentry/sentry/pull/106755)","publishedAt":"2026-02-21T00:38:51.000Z","fetchedAt":"2026-03-31T14:09:58.476Z","url":"https://github.com/getsentry/sentry/releases/tag/26.2.1","media":[],"coverageCount":0},{"id":"rel_tiHoIaXQMBd1sg9wI9xR_","version":"26.2.0","type":"feature","title":"26.2.0","summary":"### New Features ✨\n\n#### Aci\n\n- Add issue type condition to new Alerts UI by @malwilley in [#108174](https://github.com/getsentry/sentry/pull/108174)\n...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- Add issue type condition to new Alerts UI by @malwilley in [#108174](https://github.com/getsentry/sentry/pull/108174)\n- Support issue category include/exclude in issue alerts by @malwilley in [#107966](https://github.com/getsentry/sentry/pull/107966)\n- Add support for excluding issue categories in new alerts UI by @malwilley in [#108002](https://github.com/getsentry/sentry/pull/108002)\n- Translate issue category condition include property for legacy models by @malwilley in [#107948](https://github.com/getsentry/sentry/pull/107948)\n- Metric issue should link to metric alert if new UI is not enabled by @malwilley in [#107870](https://github.com/getsentry/sentry/pull/107870)\n- Deduplicate workflows API endpoint by @mifu67 in [#106482](https://github.com/getsentry/sentry/pull/106482)\n- Delete rule processing by @cathteng in [#106616](https://github.com/getsentry/sentry/pull/106616)\n- Include Rule in legacy model tracking by @kcons in [#107647](https://github.com/getsentry/sentry/pull/107647)\n- Update metric alerts page to redirect with workflow-engine-metric-issue-ui flag by @malwilley in [#107645](https://github.com/getsentry/sentry/pull/107645)\n- Add exclusion to issue category filter by @mifu67 in [#107527](https://github.com/getsentry/sentry/pull/107527)\n- Add exclusion to issue type filter by @mifu67 in [#107535](https://github.com/getsentry/sentry/pull/107535)\n- Finally default post-process to workflow engine take 2 by @cathteng in [#107696](https://github.com/getsentry/sentry/pull/107696)\n- Add ongoing issues component to metric alert details page by @malwilley in [#107566](https://github.com/getsentry/sentry/pull/107566)\n- Update metric issue open periods list to display activities by @malwilley in [#107522](https://github.com/getsentry/sentry/pull/107522)\n- Highlight current open period in metric issue details by @malwilley in [#107274](https://github.com/getsentry/sentry/pull/107274)\n- Add open period timeline to metric issue details by @malwilley in [#107210](https://github.com/getsentry/sentry/pull/107210)\n- Add pagination and event ID links to open period list by @malwilley in [#107007](https://github.com/getsentry/sentry/pull/107007)\n- Enable Seer for metric detector issues by @malwilley in [#107027](https://github.com/getsentry/sentry/pull/107027)\n- Add ability to filter group open periods by event_id by @malwilley in [#106930](https://github.com/getsentry/sentry/pull/106930)\n- Add eventId to group open period serializer by @malwilley in [#106929](https://github.com/getsentry/sentry/pull/106929)\n- Publish bulk PUT endpoints by @ceorourke in [#106743](https://github.com/getsentry/sentry/pull/106743)\n- Add deprecation warning to old alerts API docs by @ceorourke in [#106692](https://github.com/getsentry/sentry/pull/106692)\n- Publish workflow engine API docs by @ceorourke in [#106628](https://github.com/getsentry/sentry/pull/106628)\n- Document OrganizationWorkflowDetailsEndpoint by @mifu67 in [#106323](https://github.com/getsentry/sentry/pull/106323)\n- Document Organization Detector Details Endpoints by @ceorourke in [#106148](https://github.com/getsentry/sentry/pull/106148)\n- Add API documentation for OrganizationDetectorIndexEndpoint POST by @ceorourke in [#105882](https://github.com/getsentry/sentry/pull/105882)\n- Document organization workflow index POST endpoint by @ceorourke in [#106228](https://github.com/getsentry/sentry/pull/106228)\n- Document organization workflow index GET and DELETE endpoints by @ceorourke in [#106210](https://github.com/getsentry/sentry/pull/106210)\n\n#### Admin\n\n- Add unit formatting for emerge categories in admin provisioning by @dashed in [#106941](https://github.com/getsentry/sentry/pull/106941)\n- Update Toggle console platforms modal to manage console SDK invites by @alexsohn1126 in [#105638](https://github.com/getsentry/sentry/pull/105638)\n- Restrict /manage/ endpoint to non-SaaS modes by @michelletran-sentry in [#106530](https://github.com/getsentry/sentry/pull/106530)\n\n#### Agent\n\n- Try to fix invalid json by @priscilawebdev in [#108300](https://github.com/getsentry/sentry/pull/108300)\n- Expand root JSON path by default in trace drawer by @priscilawebdev in [#107585](https://github.com/getsentry/sentry/pull/107585)\n- Update onboarding for meta frameworks by @priscilawebdev in [#107221](https://github.com/getsentry/sentry/pull/107221)\n- Add alert about other runtimes for meta frameworks by @priscilawebdev in [#106944](https://github.com/getsentry/sentry/pull/106944)\n- Update onboarding documentation for python by @priscilawebdev in [#106656](https://github.com/getsentry/sentry/pull/106656)\n\n#### Agents\n\n- Update onboarding to display sdk update alert by @priscilawebdev in [#107575](https://github.com/getsentry/sentry/pull/107575)\n- Add agent dropdown to the page by @priscilawebdev in [#107108](https://github.com/getsentry/sentry/pull/107108)\n- Update JavaScript onboarding docs by @priscilawebdev in [#106361](https://github.com/getsentry/sentry/pull/106361)\n\n#### Ai Conversations\n\n- Show tool calls by @obostjancic in [#107662](https://github.com/getsentry/sentry/pull/107662)\n- Add aggregations to conversation details by @obostjancic in [#107479](https://github.com/getsentry/sentry/pull/107479)\n- Add start and end timestamp to the endpoint by @obostjancic in [#107500](https://github.com/getsentry/sentry/pull/107500)\n- Tool names and errors by @obostjancic in [#107407](https://github.com/getsentry/sentry/pull/107407)\n- Display failed tool calls by @obostjancic in [#107405](https://github.com/getsentry/sentry/pull/107405)\n- Add user avatar to table and reorder nav by @obostjancic in [#106962](https://github.com/getsentry/sentry/pull/106962)\n- Use conversations endpoint by @obostjancic in [#106367](https://github.com/getsentry/sentry/pull/106367)\n- Support new OTel attributes by @obostjancic in [#106521](https://github.com/getsentry/sentry/pull/106521)\n\n#### Ai Insights\n\n- Support span.name by @obostjancic in [#107929](https://github.com/getsentry/sentry/pull/107929)\n- Add platform icons to onboarding dropdown by @obostjancic in [#107042](https://github.com/getsentry/sentry/pull/107042)\n- Improve conversations table input/output display by @obostjancic in [#106969](https://github.com/getsentry/sentry/pull/106969)\n- Mastra onboarding by @obostjancic in [#106861](https://github.com/getsentry/sentry/pull/106861)\n- Support tool.call attribute by @obostjancic in [#106509](https://github.com/getsentry/sentry/pull/106509)\n- Support new otel spec by @obostjancic in [#106442](https://github.com/getsentry/sentry/pull/106442)\n\n#### Autofix\n\n- Add referrer to trigger autofix by @Zylphrex in [#108095](https://github.com/getsentry/sentry/pull/108095)\n- Support stopping point in explorer group ai autofix by @Zylphrex in [#107675](https://github.com/getsentry/sentry/pull/107675)\n- Add per-org metrics to autofix tasks by @Mihir-Mavalankar in [#107621](https://github.com/getsentry/sentry/pull/107621)\n- Support configurable intelligence-level-for-explorer-a… by @Zylphrex in [#106973](https://github.com/getsentry/sentry/pull/106973)\n- Add GitHub Copilot agent provider UI by @JoshFerge in [#106290](https://github.com/getsentry/sentry/pull/106290)\n\n#### Autopilot\n\n- Add AI-generated summary and docs URL to missing integration issues by @ArthurKnaus in [#108114](https://github.com/getsentry/sentry/pull/108114)\n- Add missing integrations count to detector log by @ArthurKnaus in [#108109](https://github.com/getsentry/sentry/pull/108109)\n- Switch traces detector to project id option by @ArthurKnaus in [#108011](https://github.com/getsentry/sentry/pull/108011)\n- Prepare missing integration detection for experiment by @vgrozdanic in [#107671](https://github.com/getsentry/sentry/pull/107671)\n- Add trace data detector by @ArthurKnaus in [#107589](https://github.com/getsentry/sentry/pull/107589)\n- Add finish reason to prompt by @ArthurKnaus in [#107229](https://github.com/getsentry/sentry/pull/107229)\n\n#### Billing\n\n- Move locked products to bottom of usage overview table by @dashed in [#107701](https://github.com/getsentry/sentry/pull/107701)\n- Add admin-only product trial support for emerge categories by @dashed in [#107294](https://github.com/getsentry/sentry/pull/107294)\n- Add Emerge quota exceeded UI with Contact Sales CTA by @dashed in [#106932](https://github.com/getsentry/sentry/pull/106932)\n- Add emerge data categories to frontend test fixtures by @dashed in [#106942](https://github.com/getsentry/sentry/pull/106942)\n- Enable admin gifting for emerge products by @dashed in [#106369](https://github.com/getsentry/sentry/pull/106369)\n\n#### Cells\n\n- Add isCellScoped prop to ResultGrid for cell-scoped endpoints by @evanpurkhiser in [#106450](https://github.com/getsentry/sentry/pull/106450)\n- Add stub for synapse endpoint by @lynnagara in [#105975](https://github.com/getsentry/sentry/pull/105975)\n\n#### Ci\n\n- Migrate `black`, `isort`, `pyupgrade`, and most of `flake8` to `ruff` by @shashjar in [#108010](https://github.com/getsentry/sentry/pull/108010)\n- Add `ruff` as dev dependency by @shashjar in [#107385](https://github.com/getsentry/sentry/pull/107385)\n\n#### Code Review\n\n- Send experiment assignment to Seer by @giovanni-guidini in [#107483](https://github.com/getsentry/sentry/pull/107483)\n- Register experiments feature flag by @giovanni-guidini in [#107478](https://github.com/getsentry/sentry/pull/107478)\n- Include the author for debugging by @armenzg in [#107414](https://github.com/getsentry/sentry/pull/107414)\n- Improve debuggability by @armenzg in [#106880](https://github.com/getsentry/sentry/pull/106880)\n- Retry task up to five times by @armenzg in [#107011](https://github.com/getsentry/sentry/pull/107011)\n- Add Pydantic payload validation for Seer API requests by @armenzg in [#106810](https://github.com/getsentry/sentry/pull/106810)\n- Support sending closed pull request events to Seer by @armenzg in [#106375](https://github.com/getsentry/sentry/pull/106375)\n\n#### Conversations\n\n- Limit date range selection to 30 days by @priscilawebdev in [#107765](https://github.com/getsentry/sentry/pull/107765)\n- Add analytics tracking for conversations feature by @priscilawebdev in [#107477](https://github.com/getsentry/sentry/pull/107477)\n- Agent selector should be persistent across nav & reset when project changes by @priscilawebdev in [#107046](https://github.com/getsentry/sentry/pull/107046)\n\n#### Copilot\n\n- Add has_identity support to explorer autofix by @JoshFerge in [#106788](https://github.com/getsentry/sentry/pull/106788)\n- Add provider support for explorer autofix coding agent handoff by @JoshFerge in [#106798](https://github.com/getsentry/sentry/pull/106798)\n- Add has_identity field support for Setup button by @JoshFerge in [#106787](https://github.com/getsentry/sentry/pull/106787)\n- Add has_identity field to GitHub Copilot integration by @JoshFerge in [#106785](https://github.com/getsentry/sentry/pull/106785)\n\n#### Core\n\n- Add neutral variant to InlineCode by @natemoo-re in [#106906](https://github.com/getsentry/sentry/pull/106906)\n- Add surface variant by @natemoo-re in [#106408](https://github.com/getsentry/sentry/pull/106408)\n\n#### Crons Detector Schedule Preview\n\n- Preventing status smearing wit… by @Abdkhan14 in [#106617](https://github.com/getsentry/sentry/pull/106617)\n- Endpoint edge cases by @Abdkhan14 in [#106392](https://github.com/getsentry/sentry/pull/106392)\n- Adding new schedule preview co… by @Abdkhan14 in [#106388](https://github.com/getsentry/sentry/pull/106388)\n\n#### Dashboards\n\n- Add rage_and_dead_clicks and server_tree display types by @DominikB2014 in [#108160](https://github.com/getsentry/sentry/pull/108160)\n- Make ssr file widget and dead/rage click cloneable by @DominikB2014 in [#108159](https://github.com/getsentry/sentry/pull/108159)\n- Legend breakdown rows default to opening in Explore by @DominikB2014 in [#108131](https://github.com/getsentry/sentry/pull/108131)\n- 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)\n- Add `staleTime` to underlying widget queries by @DominikB2014 in [#108124](https://github.com/getsentry/sentry/pull/108124)\n- Migrate Mobile Vitals to prebuilt dashboards by @gggritso in [#108068](https://github.com/getsentry/sentry/pull/108068)\n- Disables editing static widgets from the widget library by @edwardgou-sentry in [#108031](https://github.com/getsentry/sentry/pull/108031)\n- Add customizable limit for categorical bar widgets by @gggritso in [#107954](https://github.com/getsentry/sentry/pull/107954)\n- Add categorical bar chart template to Widget Library by @gggritso in [#107936](https://github.com/getsentry/sentry/pull/107936)\n- Populate prebuilt dashboard with actual id by @DominikB2014 in [#108032](https://github.com/getsentry/sentry/pull/108032)\n- Adds Performance Score Wheel widget to widget library by @edwardgou-sentry in [#107976](https://github.com/getsentry/sentry/pull/107976)\n- Add rage and dead click widget by @DominikB2014 in [#107975](https://github.com/getsentry/sentry/pull/107975)\n- Add axis label rotation and affix trimming to categorical charts by @gggritso in [#107718](https://github.com/getsentry/sentry/pull/107718)\n- Registers wheel display type by @edwardgou-sentry in [#107944](https://github.com/getsentry/sentry/pull/107944)\n- Add server tree component by @DominikB2014 in [#107877](https://github.com/getsentry/sentry/pull/107877)\n- Adds widget descriptions to prebuilt Web Vitals dashboards by @edwardgou-sentry in [#107935](https://github.com/getsentry/sentry/pull/107935)\n- Add categorical bar chart widget type by @gggritso in [#107689](https://github.com/getsentry/sentry/pull/107689)\n- Create basic nextjs frontend overview page by @DominikB2014 in [#107856](https://github.com/getsentry/sentry/pull/107856)\n- Register Next.js Frontend Overview prebuilt dashboard on backend by @DominikB2014 in [#107848](https://github.com/getsentry/sentry/pull/107848)\n- Add insights-nextjs-frontend-overview-migration feature flag by @DominikB2014 in [#107847](https://github.com/getsentry/sentry/pull/107847)\n- Add dashboard link to Network Requests by Time Spent widget by @DominikB2014 in [#107789](https://github.com/getsentry/sentry/pull/107789)\n- Filter frontend overview by frontend data by @DominikB2014 in [#107779](https://github.com/getsentry/sentry/pull/107779)\n- Register Frontend Overview prebuilt dashboard on backend by @DominikB2014 in [#107681](https://github.com/getsentry/sentry/pull/107681)\n- Support linked dashboards in legend breakdown by @DominikB2014 in [#107632](https://github.com/getsentry/sentry/pull/107632)\n- Create platformized frontend overview by @DominikB2014 in [#107625](https://github.com/getsentry/sentry/pull/107625)\n- Add retry logic to spans and issues dataset queries by @DominikB2014 in [#107614](https://github.com/getsentry/sentry/pull/107614)\n- Add legend breakdown below chart by @DominikB2014 in [#107520](https://github.com/getsentry/sentry/pull/107520)\n- Update web vitals page summary prebuilt dashboard to use equations by @edwardgou-sentry in [#107552](https://github.com/getsentry/sentry/pull/107552)\n- 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)\n- Update Perf score chart to use equation format when opening in explore by @edwardgou-sentry in [#107503](https://github.com/getsentry/sentry/pull/107503)\n- Drop FCP meter widget from Prebuilt Dashboard and adjust layout by @edwardgou-sentry in [#107412](https://github.com/getsentry/sentry/pull/107412)\n- Add dashboards-chart-legend-breakdown feature flag by @DominikB2014 in [#107439](https://github.com/getsentry/sentry/pull/107439)\n- Updates layout for prebuilt web vitals page summary dashboards by @edwardgou-sentry in [#107417](https://github.com/getsentry/sentry/pull/107417)\n- Add performance_score to equations allowlist by @edwardgou-sentry in [#107410](https://github.com/getsentry/sentry/pull/107410)\n- Delete perf score meter widgets from prebuilt web vitals dashboards by @edwardgou-sentry in [#107409](https://github.com/getsentry/sentry/pull/107409)\n- Register categorical bar chart widget type by @gggritso in [#107370](https://github.com/getsentry/sentry/pull/107370)\n- Replace issues widget in backend overview by @DominikB2014 in [#107415](https://github.com/getsentry/sentry/pull/107415)\n- Add in BarChartWidgetVisualization by @nsdeschenes in [#106775](https://github.com/getsentry/sentry/pull/106775)\n- Add categorical bar charts feature flag by @gggritso in [#107199](https://github.com/getsentry/sentry/pull/107199)\n- Allow custom sorting of releases dropdown by @gggritso in [#106978](https://github.com/getsentry/sentry/pull/106978)\n- Register Mobile Session Health prebuilt dashboard by @DominikB2014 in [#107095](https://github.com/getsentry/sentry/pull/107095)\n- Scaffold mobile session health module by @DominikB2014 in [#107167](https://github.com/getsentry/sentry/pull/107167)\n- Migrate releases to hook pattern by @DominikB2014 in [#106909](https://github.com/getsentry/sentry/pull/106909)\n- Set dataset in tags when changed by @narsaynorath in [#107099](https://github.com/getsentry/sentry/pull/107099)\n- Add cell actions getter function by @nsdeschenes in [#106963](https://github.com/getsentry/sentry/pull/106963)\n- Allow linked dashboards in line chart full screen by @DominikB2014 in [#106606](https://github.com/getsentry/sentry/pull/106606)\n- Always sort by \\_is_starred_transaction if selected by @DominikB2014 in [#106599](https://github.com/getsentry/sentry/pull/106599)\n- Migrate Spans dataset to hook-based query pattern by @DominikB2014 in [#106590](https://github.com/getsentry/sentry/pull/106590)\n- Register backend overview by @DominikB2014 in [#106541](https://github.com/getsentry/sentry/pull/106541)\n\n#### Dynamic Grouping\n\n- Add root cause section, new layout by @scttcper in [#107564](https://github.com/getsentry/sentry/pull/107564)\n- Extract cluster sorting, refine ranking signals by @scttcper in [#106919](https://github.com/getsentry/sentry/pull/106919)\n\n#### Dynamic Sampling\n\n- Move boost low volume projects to allow segments by @shellmayr in [#107668](https://github.com/getsentry/sentry/pull/107668)\n- Add span metric support for recalibrate_orgs & sliding_window_org tasks by @shellmayr in [#106956](https://github.com/getsentry/sentry/pull/106956)\n- Allow spen segment metrics in GetActiveOrgs and GetActiveOrgsVolumes by @shellmayr in [#106955](https://github.com/getsentry/sentry/pull/106955)\n- Add is_segment filter for span metrics in boost_low_volume_projects by @shellmayr in [#106954](https://github.com/getsentry/sentry/pull/106954)\n- Use span metric for rebalancing transactions & option for activation by @shellmayr in [#106772](https://github.com/getsentry/sentry/pull/106772)\n\n#### Eco\n\n- Adds permissions to GH integration debug data by @GabeVillalobos in [#106478](https://github.com/getsentry/sentry/pull/106478)\n- Adds migration for new debug column on Integration table by @GabeVillalobos in [#106476](https://github.com/getsentry/sentry/pull/106476)\n- Adds integration debug table for displaying customer integration install info by @GabeVillalobos in [#106378](https://github.com/getsentry/sentry/pull/106378)\n\n#### Explore\n\n- Adds opportunity_score to list of allowed functions in equations by @edwardgou-sentry in [#107941](https://github.com/getsentry/sentry/pull/107941)\n- Search api on search in vis dropdown by @nsdeschenes in [#106584](https://github.com/getsentry/sentry/pull/106584)\n\n#### Form\n\n- RangeField by @TkDodo in [#108233](https://github.com/getsentry/sentry/pull/108233)\n- TextAreaField by @TkDodo in [#108216](https://github.com/getsentry/sentry/pull/108216)\n- SwitchField by @TkDodo in [#108212](https://github.com/getsentry/sentry/pull/108212)\n\n#### Grouping\n\n- Add OpenStack Swift transaction ID parameterization by @JoshFerge in [#107762](https://github.com/getsentry/sentry/pull/107762)\n- Add `{{ message }}` fingerprint test input by @lobsterkatie in [#107361](https://github.com/getsentry/sentry/pull/107361)\n\n#### Infra\n\n- Add backend selective testing workflow by @rbro112 in [#105500](https://github.com/getsentry/sentry/pull/105500)\n- Add backend tests workflow with coverage upload to GCS by @rbro112 in [#105885](https://github.com/getsentry/sentry/pull/105885)\n\n#### Integrations\n\n- Log response headers in integration API client by @JoshFerge in [#108269](https://github.com/getsentry/sentry/pull/108269)\n- Add GitHub Copilot polling functionality by @JoshFerge in [#106670](https://github.com/getsentry/sentry/pull/106670)\n- Add GitHub Copilot agent provider backend by @JoshFerge in [#106289](https://github.com/getsentry/sentry/pull/106289)\n\n#### Issue Details\n\n- Update onboarding tour copy and welcome modal by @jaydgoss in [#107002](https://github.com/getsentry/sentry/pull/107002)\n- Embed aggregated flame graphs for events with linked profile by @markushi in [#103256](https://github.com/getsentry/sentry/pull/103256)\n\n#### Issues\n\n- Track AI title usage in issue view creation analytics by @scttcper in [#108255](https://github.com/getsentry/sentry/pull/108255)\n- Switch group selection to a context by @scttcper in [#108075](https://github.com/getsentry/sentry/pull/108075)\n- Generate AI issue view titles by @scttcper in [#107820](https://github.com/getsentry/sentry/pull/107820)\n- Cleanup debug meta processing column by @scttcper in [#107384](https://github.com/getsentry/sentry/pull/107384)\n- Replace react-virtualized with @tanstack/react-virtual in DebugMeta by @scttcper in [#107213](https://github.com/getsentry/sentry/pull/107213)\n- Add copy request body to clipboard by @scttcper in [#106926](https://github.com/getsentry/sentry/pull/106926)\n- Fall back to raw value when user tag has no fields by @scttcper in [#106757](https://github.com/getsentry/sentry/pull/106757)\n\n#### Js Loader\n\n- Expose `hasLogsAndMetrics` in serializer by @chargome in [#107345](https://github.com/getsentry/sentry/pull/107345)\n- Support logs+metrics bundle by @chargome in [#106959](https://github.com/getsentry/sentry/pull/106959)\n- Update UI for User Feedback selection by @chargome in [#106514](https://github.com/getsentry/sentry/pull/106514)\n- Update loader template to auto inject user feedback integration by @chargome in [#107043](https://github.com/getsentry/sentry/pull/107043)\n- Pass feedback option in loader by @chargome in [#106949](https://github.com/getsentry/sentry/pull/106949)\n- Add support for user feedback by @chargome in [#106444](https://github.com/getsentry/sentry/pull/106444)\n\n#### Lint\n\n- Catch `theme.tokens.border` violations by @natemoo-re in [#107458](https://github.com/getsentry/sentry/pull/107458)\n- Catch `theme.tokens.background` violations by @natemoo-re in [#107452](https://github.com/getsentry/sentry/pull/107452)\n- Catch `theme.tokens.content` violations by @natemoo-re in [#107313](https://github.com/getsentry/sentry/pull/107313)\n- Add all `TOKEN_RULES` for `use-semantic-token` by @natemoo-re in [#107315](https://github.com/getsentry/sentry/pull/107315)\n\n#### Llm Detection\n\n- Pass span count to Seer with trace metadata by @nora-shap in [#107735](https://github.com/getsentry/sentry/pull/107735)\n- Add create_issue_occurrence RPC method for async LLM detection by @nora-shap in [#106754](https://github.com/getsentry/sentry/pull/106754)\n\n#### Notifications\n\n- Add Size Analysis to notification settings UI by @dashed in [#106940](https://github.com/getsentry/sentry/pull/106940)\n- Add QUOTA_SIZE_ANALYSIS for Size Analysis spend notifications by @dashed in [#106939](https://github.com/getsentry/sentry/pull/106939)\n\n#### Oauth\n\n- Add UI for creating and viewing public OAuth clients by @BYK in [#106654](https://github.com/getsentry/sentry/pull/106654)\n- Add public client support and refresh token rotation by @BYK in [#106451](https://github.com/getsentry/sentry/pull/106451)\n- Add RFC 6750 Bearer token compliance by @dcramer in [#106274](https://github.com/getsentry/sentry/pull/106274)\n\n#### Objectstore\n\n- Try Django request.body when proxying by @lcian in [#106506](https://github.com/getsentry/sentry/pull/106506)\n- Try Django request.body first by @lcian in [#106441](https://github.com/getsentry/sentry/pull/106441)\n\n#### Occurrences On Eap\n\n- Implement the `type` attribute for filtering error/issue platform events by @shashjar in [#108099](https://github.com/getsentry/sentry/pull/108099)\n- Implement double reads in the `GroupEventsEndpoint` by @shashjar in [#105969](https://github.com/getsentry/sentry/pull/105969)\n- Implement `count_if` & `min` aggregates for occurrences by @shashjar in [#107133](https://github.com/getsentry/sentry/pull/107133)\n\n#### Onboarding\n\n- Add Copy as Markdown button to product onboarding surfaces by @jaydgoss in [#108058](https://github.com/getsentry/sentry/pull/108058)\n- Register onboarding-copy-setup-instructions feature flag by @jaydgoss in [#108066](https://github.com/getsentry/sentry/pull/108066)\n- Add metrics for .NET platforms by @alexander-alderman-webb in [#106551](https://github.com/getsentry/sentry/pull/106551)\n- Add logs onboarding for React Native by @antonis in [#107666](https://github.com/getsentry/sentry/pull/107666)\n- Add metrics onboarding for React Native by @antonis in [#107665](https://github.com/getsentry/sentry/pull/107665)\n- Add metrics onboarding support for Flutter by @buenaflor in [#106950](https://github.com/getsentry/sentry/pull/106950)\n- Add new welcome UI with product selection by @jaydgoss in [#107175](https://github.com/getsentry/sentry/pull/107175)\n- Add feature flag for new welcome UI by @jaydgoss in [#107160](https://github.com/getsentry/sentry/pull/107160)\n- Add sentryTanstackStart vite plugin by @nicohrubec in [#106555](https://github.com/getsentry/sentry/pull/106555)\n\n#### Preprod\n\n- Use dedicated preprod-snapshots feature flag for snapshot endpoint by @NicoHinderling in [#108243](https://github.com/getsentry/sentry/pull/108243)\n- [Frontend] Allow staff to rerun size analysis comparisons by @NicoHinderling in [#108188](https://github.com/getsentry/sentry/pull/108188)\n- Add snapshots feature flag by @NicoHinderling in [#108197](https://github.com/getsentry/sentry/pull/108197)\n- [Backend] Allow staff to rerun size analysis comparisons by @NicoHinderling in [#108187](https://github.com/getsentry/sentry/pull/108187)\n- Skip pre-commit fix apply for draft PRs by @rbro112 in [#108167](https://github.com/getsentry/sentry/pull/108167)\n- Add preprod-size-monitors-frontend feature flag by @chromy in [#108037](https://github.com/getsentry/sentry/pull/108037)\n- Snapshots upload API by @rbro112 in [#107825](https://github.com/getsentry/sentry/pull/107825)\n- Display per-file insight savings in treemap tooltips by @cameroncooke in [#107786](https://github.com/getsentry/sentry/pull/107786)\n- Add app size chart to Mobile Builds tab by @mtopo27 in [#107067](https://github.com/getsentry/sentry/pull/107067)\n- Add FlaggedInsight model for treemap insight savings by @cameroncooke in [#107787](https://github.com/getsentry/sentry/pull/107787)\n- Make head_ref optional for size analysis by @runningcode in [#107845](https://github.com/getsentry/sentry/pull/107845)\n- Add frontend support for toggling features by @chromy in [#107687](https://github.com/getsentry/sentry/pull/107687)\n- Add backend support for toggling features by @chromy in [#107674](https://github.com/getsentry/sentry/pull/107674)\n- Use Arcade embed in onboarding panel by @mtopo27 in [#107704](https://github.com/getsentry/sentry/pull/107704)\n- Log quota check by @chromy in [#107595](https://github.com/getsentry/sentry/pull/107595)\n- Add requestedFeatures to artifact update response by @chromy in [#107336](https://github.com/getsentry/sentry/pull/107336)\n- Disable header actions when size analysis is incomplete (EME-782) by @runningcode in [#107231](https://github.com/getsentry/sentry/pull/107231)\n- Add dashboard byte decimal formatting and fix tooltip formatting by @trevor-e in [#106886](https://github.com/getsentry/sentry/pull/106886)\n- Add docs link and simplify build filter description by @mtopo27 in [#107255](https://github.com/getsentry/sentry/pull/107255)\n- Unhide filters by @chromy in [#107232](https://github.com/getsentry/sentry/pull/107232)\n- Add frontend support for treemap insights (EME-372) by @cameroncooke in [#107150](https://github.com/getsentry/sentry/pull/107150)\n- Update pydantic models to include new flagged_insights field (EME-372) by @cameroncooke in [#107149](https://github.com/getsentry/sentry/pull/107149)\n- Add quota exceeded banner for Size Analysis by @runningcode in [#107061](https://github.com/getsentry/sentry/pull/107061)\n- Add NOT_RAN to SizeAnalysisState by @chromy in [#107080](https://github.com/getsentry/sentry/pull/107080)\n- Reimplement adding build id as a search option for list builds endpoint by @NicoHinderling in [#107118](https://github.com/getsentry/sentry/pull/107118)\n- Use structured search by @chromy in [#106961](https://github.com/getsentry/sentry/pull/106961)\n- Fix platform_name handling by @chromy in [#107103](https://github.com/getsentry/sentry/pull/107103)\n- Add descriptions for preprod search attributes by @mtopo27 in [#107096](https://github.com/getsentry/sentry/pull/107096)\n- Show error message in builds table by @chromy in [#107077](https://github.com/getsentry/sentry/pull/107077)\n- Add drilldown to clean up treemap by @rbro112 in [#107076](https://github.com/getsentry/sentry/pull/107076)\n- Add missing insights on compare by @cameroncooke in [#107018](https://github.com/getsentry/sentry/pull/107018)\n- Settings URL /builds/ -> /mobile-builds/ by @chromy in [#106989](https://github.com/getsentry/sentry/pull/106989)\n- Reflect queuing state on size build details by @NicoHinderling in [#106981](https://github.com/getsentry/sentry/pull/106981)\n- Add support for Apple insight types on Compare by @cameroncooke in [#106967](https://github.com/getsentry/sentry/pull/106967)\n- Add install_groups to install details endpoint by @noahsmartin in [#106921](https://github.com/getsentry/sentry/pull/106921)\n- Add mobile builds onboarding with platform-specific instructions (EME-733) by @runningcode in [#106856](https://github.com/getsentry/sentry/pull/106856)\n- Create initial preprod snapshots models by @rbro112 in [#106823](https://github.com/getsentry/sentry/pull/106823)\n- Add build id as a search option for list builds endpoint by @NicoHinderling in [#106901](https://github.com/getsentry/sentry/pull/106901)\n- Display message when out of quota by @chromy in [#106866](https://github.com/getsentry/sentry/pull/106866)\n- Add quota endpoint by @chromy in [#106863](https://github.com/getsentry/sentry/pull/106863)\n- Support install_groups by @noahsmartin in [#106756](https://github.com/getsentry/sentry/pull/106756)\n- Add new preprod_diff_approval table by @NicoHinderling in [#106721](https://github.com/getsentry/sentry/pull/106721)\n- Control size/distro via settings by @chromy in [#106707](https://github.com/getsentry/sentry/pull/106707)\n- Add artifact_matches_query helper by @chromy in [#106675](https://github.com/getsentry/sentry/pull/106675)\n- Add preprod dashboard frontend by @trevor-e in [#105919](https://github.com/getsentry/sentry/pull/105919)\n- Support configuring filters for `size` and `distribution` in project settings by @chromy in [#106002](https://github.com/getsentry/sentry/pull/106002)\n- Switch to new URL format in backend (EME-725) by @runningcode in [#106366](https://github.com/getsentry/sentry/pull/106366)\n- Show callers of status check and dedup head artifacts by @trevor-e in [#106638](https://github.com/getsentry/sentry/pull/106638)\n- Reland quota check by @chromy in [#106523](https://github.com/getsentry/sentry/pull/106523)\n- Add new URL routes while maintaining backwards compatibility (EME-725) by @runningcode in [#106354](https://github.com/getsentry/sentry/pull/106354)\n- Use standard id gen method for size status check pref values by @NicoHinderling in [#106234](https://github.com/getsentry/sentry/pull/106234)\n- Add tagline to status check with link to status check settings page by @NicoHinderling in [#106233](https://github.com/getsentry/sentry/pull/106233)\n- Integrating status check settings into task logic by @NicoHinderling in [#105876](https://github.com/getsentry/sentry/pull/105876)\n\n#### Replay\n\n- Replace AI summary loading GIF with rotating text messages by @billyvg in [#108132](https://github.com/getsentry/sentry/pull/108132)\n- Add `project` when filtering by user email/tags by @billyvg in [#107419](https://github.com/getsentry/sentry/pull/107419)\n- Feature flag for new replay processing pipeline by @tobias-wilfert in [#107400](https://github.com/getsentry/sentry/pull/107400)\n- Add tooltips to playlist next/prev buttons by @billyvg in [#107098](https://github.com/getsentry/sentry/pull/107098)\n\n#### Replays\n\n- Replace react-virtualized with tanstack/virtual in breadcrumbs by @scttcper in [#107262](https://github.com/getsentry/sentry/pull/107262)\n- Add saved query header for Replay pages by @billyvg in [#106879](https://github.com/getsentry/sentry/pull/106879)\n- Add saved queries functionality to Replay list by @billyvg in [#106013](https://github.com/getsentry/sentry/pull/106013)\n\n#### Scim\n\n- Manage privileges via SCIM Groups by @michelletran-sentry in [#107709](https://github.com/getsentry/sentry/pull/107709)\n- Revoke superuser/staff privileges when removed from default org by @michelletran-sentry in [#107151](https://github.com/getsentry/sentry/pull/107151)\n\n#### Scraps\n\n- Compact variant for form layouts by @TkDodo in [#108325](https://github.com/getsentry/sentry/pull/108325)\n- Info pattern components by @TkDodo in [#108205](https://github.com/getsentry/sentry/pull/108205)\n- Expand font-size for headings by @natemoo-re in [#107676](https://github.com/getsentry/sentry/pull/107676)\n\n#### Search Agent\n\n- Visualize Steps in UI by @aayush-se in [#106419](https://github.com/getsentry/sentry/pull/106419)\n- Start and poll the agent state by @aayush-se in [#106324](https://github.com/getsentry/sentry/pull/106324)\n\n#### Search Bar\n\n- Support async tag fetching by @nsdeschenes in [#107769](https://github.com/getsentry/sentry/pull/107769)\n- Wrap selected filters in parentheses by @nsdeschenes in [#105947](https://github.com/getsentry/sentry/pull/105947)\n\n#### Seer\n\n- RPC for code mappings by @kddubey in [#105622](https://github.com/getsentry/sentry/pull/105622)\n- Allow guided steps to have clickable steps, Seer uses it by @ryan953 in [#108081](https://github.com/getsentry/sentry/pull/108081)\n- Include occurrence data when serializing events in get_issue_and_event_details_v2 by @wedamija in [#108083](https://github.com/getsentry/sentry/pull/108083)\n- Update the Enable Code Generation link to docs by @ryan953 in [#108059](https://github.com/getsentry/sentry/pull/108059)\n- Update the copy when selecting many/all Projects and Repos inside Seer settings by @ryan953 in [#107999](https://github.com/getsentry/sentry/pull/107999)\n- Add a link from Settings > Seer > Repos to Integrations by @ryan953 in [#107996](https://github.com/getsentry/sentry/pull/107996)\n- Update copy and link targets for the Seer Config Reminder by @ryan953 in [#107811](https://github.com/getsentry/sentry/pull/107811)\n- Rename \"Agent Delegation\" to \"Coding Agent\" in settings by @JoshFerge in [#107813](https://github.com/getsentry/sentry/pull/107813)\n- Add `Enable Code Generation` to org-wide seer settings page by @ryan953 in [#107377](https://github.com/getsentry/sentry/pull/107377)\n- Update Seer settings so that PR Create toggles respect enableSeerCoding by @ryan953 in [#107391](https://github.com/getsentry/sentry/pull/107391)\n- Stop overriding enable_seer_coding when migrating from legacy to new seer plans by @ryan953 in [#107363](https://github.com/getsentry/sentry/pull/107363)\n- Iterate on Seer Setting tabs by @ryan953 in [#107807](https://github.com/getsentry/sentry/pull/107807)\n- Iterate on copy in the settings pages by @ryan953 in [#107805](https://github.com/getsentry/sentry/pull/107805)\n- Setup a flagpole flag to control the Seer Config Reminder by @ryan953 in [#107798](https://github.com/getsentry/sentry/pull/107798)\n- Use flagpole to control rendering the seer config reminder by @ryan953 in [#107800](https://github.com/getsentry/sentry/pull/107800)\n- Disable all the `Generate code` buttons in Seer UI by @ryan953 in [#107454](https://github.com/getsentry/sentry/pull/107454)\n- Add logging and metrics for Seer entrypoints by @leeandher in [#107693](https://github.com/getsentry/sentry/pull/107693)\n- Show the autofix Seer config step if the org needs a config reminder by @ryan953 in [#107703](https://github.com/getsentry/sentry/pull/107703)\n- Let api endpoint `/seer/onboarding-check/` return `needsConfigReminder` by @ryan953 in [#107702](https://github.com/getsentry/sentry/pull/107702)\n- Capture errors when updating onboarding by @billyvg in [#107683](https://github.com/getsentry/sentry/pull/107683)\n- Highlight projects that have zero repos connected in Seer>Project list settings by @ryan953 in [#107570](https://github.com/getsentry/sentry/pull/107570)\n- Move the Connected Repos section in Seer Project Settings up by @ryan953 in [#107571](https://github.com/getsentry/sentry/pull/107571)\n- Reland trigger_at timestamps with backward compatibility by @vaind in [#107525](https://github.com/getsentry/sentry/pull/107525)\n- Show the enabled triggers in the Seer > Repo list page by @ryan953 in [#107565](https://github.com/getsentry/sentry/pull/107565)\n- Only remind people to setup Seer if the org has GitHub integration by @ryan953 in [#107288](https://github.com/getsentry/sentry/pull/107288)\n- Add source field to coding integration analytics and expand coverage by @JoshFerge in [#107528](https://github.com/getsentry/sentry/pull/107528)\n- Add analytics tracking for coding integration CTA buttons by @JoshFerge in [#107513](https://github.com/getsentry/sentry/pull/107513)\n- Support multiple slack threads per alert for autofix updates by @leeandher in [#107280](https://github.com/getsentry/sentry/pull/107280)\n- Add pre-autofix cache for slack workflow notifications by @leeandher in [#107117](https://github.com/getsentry/sentry/pull/107117)\n- Add a reminder for Seer orgs who have not completed onboarding by @ryan953 in [#106931](https://github.com/getsentry/sentry/pull/106931)\n- Allow superuser override for seer onboarding by @billyvg in [#106689](https://github.com/getsentry/sentry/pull/106689)\n- Remove \"Next Button\" on Connect GitHub step by @billyvg in [#106680](https://github.com/getsentry/sentry/pull/106680)\n- Add feedback buttons to the top of Seer settings pages by @ryan953 in [#106649](https://github.com/getsentry/sentry/pull/106649)\n- Return seer preference `automation_handoff` from the bulk endpoint by @ryan953 in [#106615](https://github.com/getsentry/sentry/pull/106615)\n\n#### Seer Explorer\n\n- In `trigger_autofix_explorer`, send `project_id` when calling `start_run()` by @billyvg in [#108056](https://github.com/getsentry/sentry/pull/108056)\n- Link to conversations from feedback by @obostjancic in [#107148](https://github.com/getsentry/sentry/pull/107148)\n- Add fab by @roaga in [#106604](https://github.com/getsentry/sentry/pull/106604)\n\n#### Sentry Apps\n\n- Add interaction methods to region RPC service by @leeandher in [#106282](https://github.com/getsentry/sentry/pull/106282)\n- Add service hook projects methods to region RPC service by @leeandher in [#106281](https://github.com/getsentry/sentry/pull/106281)\n\n#### Settings\n\n- Refactor organization teams list to SimpleTable by @scttcper in [#107636](https://github.com/getsentry/sentry/pull/107636)\n- Add timestamp for discarded issues by @cvxluo in [#107583](https://github.com/getsentry/sentry/pull/107583)\n- Allow picking project when routing to settings by @scttcper in [#107354](https://github.com/getsentry/sentry/pull/107354)\n\n#### Spans\n\n- Add GCP log analyzer tool for span buffer operations by @fpacifici in [#107538](https://github.com/getsentry/sentry/pull/107538)\n- Use float precision for sentry.duration_ms calculation by @phacops in [#106992](https://github.com/getsentry/sentry/pull/106992)\n- Create options for dual write and flusher reads by @lvthanh03 in [#106712](https://github.com/getsentry/sentry/pull/106712)\n\n#### Spans Buffer\n\n- Disable write to ZSET default option value by @lvthanh03 in [#107853](https://github.com/getsentry/sentry/pull/107853)\n- Enable read from SET by default by @lvthanh03 in [#107852](https://github.com/getsentry/sentry/pull/107852)\n- Enable write to unsorted SET by default by @lvthanh03 in [#107851](https://github.com/getsentry/sentry/pull/107851)\n- Add stuck detector for span flusher subprocess by @lvthanh03 in [#107281](https://github.com/getsentry/sentry/pull/107281)\n- Use separate redirect table for SET implementation by @lvthanh03 in [#107083](https://github.com/getsentry/sentry/pull/107083)\n- Add metrics comparison between SET and ZSET implementations by @lvthanh03 in [#106990](https://github.com/getsentry/sentry/pull/106990)\n- Add dual write for ZSET to SET migration by @lvthanh03 in [#106794](https://github.com/getsentry/sentry/pull/106794)\n\n#### Toolbar\n\n- Bump toolbar to 1.0.0-beta.23 from beta.22 by @ryan953 in [#107087](https://github.com/getsentry/sentry/pull/107087)\n- Use the CSRF token in headers and cookies when using the sentry API by @ryan953 in [#106286](https://github.com/getsentry/sentry/pull/106286)\n\n#### Trace\n\n- Add metrics for ts offset by @wmak in [#107549](https://github.com/getsentry/sentry/pull/107549)\n- Process the last page by @wmak in [#107544](https://github.com/getsentry/sentry/pull/107544)\n\n#### Tracemetrics\n\n- Return units from aggregate in response by @narsaynorath in [#107695](https://github.com/getsentry/sentry/pull/107695)\n- Add units feature flag by @narsaynorath in [#107849](https://github.com/getsentry/sentry/pull/107849)\n- Expose metrics UI for dart projects by @narsaynorath in [#107569](https://github.com/getsentry/sentry/pull/107569)\n- Pull multiple aggregates into table by @nsdeschenes in [#107352](https://github.com/getsentry/sentry/pull/107352)\n- Add react-native to metrics constants by @narsaynorath in [#107422](https://github.com/getsentry/sentry/pull/107422)\n- Add iOS and other apple platforms by @narsaynorath in [#107344](https://github.com/getsentry/sentry/pull/107344)\n- Pull data into chart by @nsdeschenes in [#107277](https://github.com/getsentry/sentry/pull/107277)\n- Enable multi-select on aggregate dropdown by @nsdeschenes in [#107163](https://github.com/getsentry/sentry/pull/107163)\n- Consistently distribute space for metric toolbar by @narsaynorath in [#106979](https://github.com/getsentry/sentry/pull/106979)\n- Style changes for table and page by @narsaynorath in [#106669](https://github.com/getsentry/sentry/pull/106669)\n\n#### Ui\n\n- Support logs+metrics bundle by @chargome in [#107328](https://github.com/getsentry/sentry/pull/107328)\n- Modernize Rubik font loading by @scttcper in [#107140](https://github.com/getsentry/sentry/pull/107140)\n\n#### Uptime\n\n- Register uptime-ai-assertion-suggestions feature flag by @jaydgoss in [#108178](https://github.com/getsentry/sentry/pull/108178)\n- Increase uptime monitor limits from 100 to 500 by @gaprl in [#108070](https://github.com/getsentry/sentry/pull/108070)\n- Add user setting to disable response capture by @wedamija in [#107113](https://github.com/getsentry/sentry/pull/107113)\n- Add API endpoints to delete response captures by @wedamija in [#107092](https://github.com/getsentry/sentry/pull/107092)\n- Add UptimeResponseCapture to cleanup infrastructure by @wedamija in [#107079](https://github.com/getsentry/sentry/pull/107079)\n- Add API endpoint for response capture retrieval by @wedamija in [#107033](https://github.com/getsentry/sentry/pull/107033)\n- Include response capture in incident evidence by @wedamija in [#106491](https://github.com/getsentry/sentry/pull/106491)\n- Create response captures on check failures by @wedamija in [#106462](https://github.com/getsentry/sentry/pull/106462)\n- Display assertion compilation errors in form by @jaydgoss in [#106922](https://github.com/getsentry/sentry/pull/106922)\n- Add test monitor button to uptime configuration forms by @jaydgoss in [#106832](https://github.com/getsentry/sentry/pull/106832)\n- Add default status code assertion for verifications by @jaydgoss in [#106811](https://github.com/getsentry/sentry/pull/106811)\n- Add assertion to uptime config model and serializers by @klochek in [#106626](https://github.com/getsentry/sentry/pull/106626)\n- Add capture_response_on_failure to config production by @wedamija in [#106405](https://github.com/getsentry/sentry/pull/106405)\n- Add UptimeResponseCapture model by @wedamija in [#106341](https://github.com/getsentry/sentry/pull/106341)\n- Add drag-and-drop reordering for assertions by @evanpurkhiser in [#106465](https://github.com/getsentry/sentry/pull/106465)\n\n#### Uptime Assertion Failure Data\n\n- Implementing tree model by @Abdkhan14 in [#107065](https://github.com/getsentry/sentry/pull/107065)\n- Adding to issue evidence data by @Abdkhan14 in [#107268](https://github.com/getsentry/sentry/pull/107268)\n- Adding trace-item-id to /checks/ endpoint response by @Abdkhan14 in [#107191](https://github.com/getsentry/sentry/pull/107191)\n\n#### Webhook\n\n- Support skipping sending GitHub webhooks to Codecov by @armenzg in [#107946](https://github.com/getsentry/sentry/pull/107946)\n- Add tags and context to webhook delivery by @armenzg in [#107937](https://github.com/getsentry/sentry/pull/107937)\n\n#### Other\n\n- (ai-conversation) Do not allow for querying more than 30d of data by @vgrozdanic in [#107843](https://github.com/getsentry/sentry/pull/107843)\n- (alerts) Add trace metric alerts by @k-fish in [#107508](https://github.com/getsentry/sentry/pull/107508)\n- (attribute-breakdown) Open in expanded modal by @nsdeschenes in [#106559](https://github.com/getsentry/sentry/pull/106559)\n- (attributes) Support fetching explicit boolean attributes by @nsdeschenes in [#106820](https://github.com/getsentry/sentry/pull/106820)\n- (auth) Add CSRF debug logging for login flow by @JoshFerge in [#107153](https://github.com/getsentry/sentry/pull/107153)\n- (code review) Remove existing reactions and add :eyes: to PR by @srest2021 in [#106544](https://github.com/getsentry/sentry/pull/106544)\n- (console) Update request console sdk access modal and button by @alexsohn1126 in [#105612](https://github.com/getsentry/sentry/pull/105612)\n- (dashboards/insights) Allow >90 days pickable by @DominikB2014 in [#106529](https://github.com/getsentry/sentry/pull/106529)\n- (db) Add model name to EncryptedField metrics tags by @vgrozdanic in [#106531](https://github.com/getsentry/sentry/pull/106531)\n- (debug) Allow debug to be a string by @wmak in [#107182](https://github.com/getsentry/sentry/pull/107182)\n- (deletion) Add partition support to BulkDeleteQuery and cleanup command by @dashed in [#107906](https://github.com/getsentry/sentry/pull/107906)\n- (detectors) Add helper to filter Detector IDs to those currently snoozed by @kcons in [#108104](https://github.com/getsentry/sentry/pull/108104)\n- (dev) Post_fetch system dependencies by @joshuarli in [#107462](https://github.com/getsentry/sentry/pull/107462)\n- (dev-infra) Add local selective testing job by @rbro112 in [#108052](https://github.com/getsentry/sentry/pull/108052)\n- (devservices) Use Shared postgres by @hubertdeng123 in [#107258](https://github.com/getsentry/sentry/pull/107258)\n- (discover) Add conditional functions and tpm to allowed arithmetic functions by @DominikB2014 in [#107958](https://github.com/getsentry/sentry/pull/107958)\n- (dyanmic-grouping) New sort order, cluster stats refactor by @scttcper in [#106750](https://github.com/getsentry/sentry/pull/106750)\n- (dynamically-sampling) Remove Get Samples button from UI by @priscilawebdev in [#106953](https://github.com/getsentry/sentry/pull/106953)\n- (eap) Use last-seen in EAP tagstore by @thetruecpaul in [#106826](https://github.com/getsentry/sentry/pull/106826)\n- (encryption) Add EncryptedTextField for encrypting text fields by @vgrozdanic in [#106765](https://github.com/getsentry/sentry/pull/106765)\n- (enrichment) Check ancestors for agent name in gen_ai spans by @obostjancic in [#107056](https://github.com/getsentry/sentry/pull/107056)\n- (eslint) Add use-semantic-token rule with modular architecture by @natemoo-re in [#106917](https://github.com/getsentry/sentry/pull/106917)\n- (events-stats) Add log event for stats usage by @wmak in [#107295](https://github.com/getsentry/sentry/pull/107295)\n- (explorer) Add attribute comparisons rpc by @aliu39 in [#106486](https://github.com/getsentry/sentry/pull/106486)\n- (gitlab) Add inbound/outbound assignment & comment support by @iamrajjoshi in [#105472](https://github.com/getsentry/sentry/pull/105472)\n- (hybridcloud) Preserve Content-Encoding header for Objectstore by @lcian in [#106660](https://github.com/getsentry/sentry/pull/106660)\n- (identities) Add GitHub Copilot identity to account identities page by @JoshFerge in [#107443](https://github.com/getsentry/sentry/pull/107443)\n- (ingest-metrics) Only use the segment metric for tx usage by @Dav1dde in [#106350](https://github.com/getsentry/sentry/pull/106350)\n- (insights) Add feature flag for mobile session health migration by @DominikB2014 in [#107086](https://github.com/getsentry/sentry/pull/107086)\n- (issue-search) Support has on issue scalar conditions by @Zylphrex in [#107563](https://github.com/getsentry/sentry/pull/107563)\n- (issue-views) Add backend endpoint for AI-generated view titles by @JoshFerge in [#105970](https://github.com/getsentry/sentry/pull/105970)\n- (java) Pass exception to symbolicate request by @romtsn in [#104851](https://github.com/getsentry/sentry/pull/104851)\n- (logs) Fetch vis and group by attributes on search by @nsdeschenes in [#106433](https://github.com/getsentry/sentry/pull/106433)\n- (member merge) Set email_unique on User object save by @mifu67 in [#92696](https://github.com/getsentry/sentry/pull/92696)\n- (middleware) Add AI agent friendly responses for unauthenticated requests by @dcramer in [#106485](https://github.com/getsentry/sentry/pull/106485)\n- (models) Add extras JSONField to CommitComparison by @trevor-e in [#108283](https://github.com/getsentry/sentry/pull/108283)\n- (nav) Add feature flag logic to show/hide the Prevent nav item by @ryan953 in [#105346](https://github.com/getsentry/sentry/pull/105346)\n- (open-periods) Backfill event_id from GroupOpenPeriod to GroupOpenPeriodActivity by @wedamija in [#107866](https://github.com/getsentry/sentry/pull/107866)\n- (ownership) Migrate assignee existence cache invalidation to use timestamp versioning on ownership by @shashjar in [#106479](https://github.com/getsentry/sentry/pull/106479)\n- (perf-detectors) Make it possible to provide a Detector ID to a PerformanceDetector by @kcons in [#106713](https://github.com/getsentry/sentry/pull/106713)\n- (profiling) Allow changing slowest functions sorting by @Zylphrex in [#108014](https://github.com/getsentry/sentry/pull/108014)\n- (project-details) Link to mobile session health by @bcoe in [#106520](https://github.com/getsentry/sentry/pull/106520)\n- (quotas) Add has_usage_quota interface method for usage-based categories by @dashed in [#106393](https://github.com/getsentry/sentry/pull/106393)\n- (relay) Add trimming to project config by @loewenheim in [#108017](https://github.com/getsentry/sentry/pull/108017)\n- (rollout) Add sample rate option to `SafeRolloutComparator` to gate double reads by @shashjar in [#107115](https://github.com/getsentry/sentry/pull/107115)\n- (rollouts) Add \"should_use_experimental\" function by @thetruecpaul in [#106595](https://github.com/getsentry/sentry/pull/106595)\n- (search) Upgrade to peggy v5 by @scttcper in [#107749](https://github.com/getsentry/sentry/pull/107749)\n- (search-query-builder) Leave input value for number filters by @nsdeschenes in [#107616](https://github.com/getsentry/sentry/pull/107616)\n- (security) Allow collection of COOP reports by @oioki in [#106565](https://github.com/getsentry/sentry/pull/106565)\n- (slack) Add feature flag for seer explorer @mentions by @leeandher in [#107778](https://github.com/getsentry/sentry/pull/107778)\n- (stories) Cleanup categories by @natemoo-re in [#106379](https://github.com/getsentry/sentry/pull/106379)\n- (supergroups) Send embedding requests to seer by @cvxluo in [#107819](https://github.com/getsentry/sentry/pull/107819)\n- (symbolication) Show malformed errors as malformed by @Dav1dde in [#107574](https://github.com/getsentry/sentry/pull/107574)\n- (symbolicator) Add SteamOS / Proton debug symbol server by @mujacica in [#107667](https://github.com/getsentry/sentry/pull/107667)\n- (tempest) Handle invalid_scope error from Sony auth endpoint by @JoshuaMoelans in [#107225](https://github.com/getsentry/sentry/pull/107225)\n- (trace-detector) More error state logging by @ArthurKnaus in [#108105](https://github.com/getsentry/sentry/pull/108105)\n- (uptime-assertion-in-checks) Adding assertion_failure_data to the eap_converter by @Abdkhan14 in [#106833](https://github.com/getsentry/sentry/pull/106833)\n- (uptime-detector-ongoing-issues) Ignoring date selection for uptime ongoing issues by @Abdkhan14 in [#108144](https://github.com/getsentry/sentry/pull/108144)\n- (uptime-detectore-schedule-preview) Adding preview section to monitor creation form. by @Abdkhan14 in [#106612](https://github.com/getsentry/sentry/pull/106612)\n- (uptime-issue-assertions-section) Sending assertion failure data… by @Abdkhan14 in [#107546](https://github.com/getsentry/sentry/pull/107546)\n- (uptime-issue-trace-preview) Ensuring that uptime spans are queried by @Abdkhan14 in [#107868](https://github.com/getsentry/sentry/pull/107868)\n- (uptime-json-path-assertion) Splitting path string to value, operator and operand by @Abdkhan14 in [#107512](https://github.com/getsentry/sentry/pull/107512)\n- (uptime-traces) Always querying for uptime events when querying a trace by @Abdkhan14 in [#108245](https://github.com/getsentry/sentry/pull/108245)\n- (usageStats) Add new `ignored` client discard reason by @Lms24 in [#106251](https://github.com/getsentry/sentry/pull/106251)\n- (view-hierarchy) Allow forcing absolute positioning by @timfish in [#107507](https://github.com/getsentry/sentry/pull/107507)\n- (workflow engine) Issue open duration condition handler (BE) by @mifu67 in [#107030](https://github.com/getsentry/sentry/pull/107030)\n- Rewrite account details to new form system by @TkDodo in [#107264](https://github.com/getsentry/sentry/pull/107264)\n- Add confirm for autoSaveField by @TkDodo in [#108307](https://github.com/getsentry/sentry/pull/108307)\n- Add parent_index and sample_count fields to stacktrace Frame by @noahsmartin in [#107917](https://github.com/getsentry/sentry/pull/107917)\n- Send org_id and project_id to Seer severity score endpoint by @JoshFerge in [#107756](https://github.com/getsentry/sentry/pull/107756)\n- Add insights-frontend-overview-dashboard-migration feature flag by @DominikB2014 in [#107615](https://github.com/getsentry/sentry/pull/107615)\n- Add metrics onboarding for Apple platforms by @philprime in [#107170](https://github.com/getsentry/sentry/pull/107170)\n- Seer repo improvements by @JoshFerge in [#107233](https://github.com/getsentry/sentry/pull/107233)\n- Hide try codecov subscription modal button by @calvin-codecov in [#107020](https://github.com/getsentry/sentry/pull/107020)\n- Add metrics onboarding for Go by @giortzisg in [#106554](https://github.com/getsentry/sentry/pull/106554)\n- Remove code-review-beta condition from eligibility guard by @ajay-sentry in [#106600](https://github.com/getsentry/sentry/pull/106600)\n- Show details when there are any for sending test notifications by @JPeer264 in [#106362](https://github.com/getsentry/sentry/pull/106362)\n- Add cron job to schedule indexer job by @shruthilayaj in [#106377](https://github.com/getsentry/sentry/pull/106377)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Update tests to use 'any-short' logic type for trigger conditions by @NicoHinderling in [#108257](https://github.com/getsentry/sentry/pull/108257)\n- Restrict trigger logic type by @ceorourke in [#107548](https://github.com/getsentry/sentry/pull/107548)\n- Alert form env selector should set initial data correctly by @malwilley in [#108076](https://github.com/getsentry/sentry/pull/108076)\n- Better handling for eventType when creating metric alert/monitor URLs by @malwilley in [#108069](https://github.com/getsentry/sentry/pull/108069)\n- Handle anomaly condition evaluated data by @malwilley in [#107905](https://github.com/getsentry/sentry/pull/107905)\n- Handle missing error detector in associate_new_group_with_detector by @kcons in [#107938](https://github.com/getsentry/sentry/pull/107938)\n- Add errors support for dataSources by @nikkikapadia in [#107857](https://github.com/getsentry/sentry/pull/107857)\n- Update sentry app installation receiver to disable Actions by @ceorourke in [#107460](https://github.com/getsentry/sentry/pull/107460)\n- Fix ability to save webhook actions in alert form by @malwilley in [#107708](https://github.com/getsentry/sentry/pull/107708)\n- Fix mistyped comparison by @kcons in [#107719](https://github.com/getsentry/sentry/pull/107719)\n- Update customer facing automation text to alert by @ceorourke in [#107629](https://github.com/getsentry/sentry/pull/107629)\n- Order metric issue timeline by most recent first by @malwilley in [#107529](https://github.com/getsentry/sentry/pull/107529)\n- Fetch_workflow_groups_paginated typing correction by @kcons in [#107526](https://github.com/getsentry/sentry/pull/107526)\n- Update receiver to delete orphaned Actions by @ceorourke in [#107532](https://github.com/getsentry/sentry/pull/107532)\n- Fix create workflow documentation by @ceorourke in [#107468](https://github.com/getsentry/sentry/pull/107468)\n- Look up sentry app id for Action in dual write by @ceorourke in [#107436](https://github.com/getsentry/sentry/pull/107436)\n- Redo sentry app action migration by @ceorourke in [#107208](https://github.com/getsentry/sentry/pull/107208)\n- Add option to disable issue stream detector for certain group types by @cathteng in [#106801](https://github.com/getsentry/sentry/pull/106801)\n- Add back outbox category by @ceorourke in [#107197](https://github.com/getsentry/sentry/pull/107197)\n- Add helper to ensure malformed IDs always result in 400s by @kcons in [#106822](https://github.com/getsentry/sentry/pull/106822)\n- Use open period to set query bounds on metric issue by @malwilley in [#107131](https://github.com/getsentry/sentry/pull/107131)\n- Handle fallthroughType in email action translator by @cathteng in [#106633](https://github.com/getsentry/sentry/pull/106633)\n- Don't treat deleted Detector as an error by @kcons in [#106727](https://github.com/getsentry/sentry/pull/106727)\n- Fix workflow environment field by @ceorourke in [#106636](https://github.com/getsentry/sentry/pull/106636)\n- Fix saving alert form with projects you are not a member of by @malwilley in [#106394](https://github.com/getsentry/sentry/pull/106394)\n- Report InvalidSearchQuery as a 400 from OrganizationDetectorIndex by @kcons in [#106622](https://github.com/getsentry/sentry/pull/106622)\n- Default alert builder action filters to 'all' by @malwilley in [#106583](https://github.com/getsentry/sentry/pull/106583)\n- Hide 'All environments' option in uptime detector form by @malwilley in [#106578](https://github.com/getsentry/sentry/pull/106578)\n- Add validation for detector trigger condition results by @mifu67 in [#106330](https://github.com/getsentry/sentry/pull/106330)\n- Disable the IssueType data condition by @saponifi3d in [#106426](https://github.com/getsentry/sentry/pull/106426)\n\n#### Admin\n\n- Handle GitHub Copilot identity category in admin user page by @JoshFerge in [#108051](https://github.com/getsentry/sentry/pull/108051)\n- Fix customers api endpoint to respect new cells architecture by @shellmayr in [#107927](https://github.com/getsentry/sentry/pull/107927)\n\n#### Agent Insights\n\n- Trace drawer open event fired too often by @ArthurKnaus in [#106566](https://github.com/getsentry/sentry/pull/106566)\n- Wrong error count in traces by @ArthurKnaus in [#106546](https://github.com/getsentry/sentry/pull/106546)\n\n#### Agents\n\n- Parse input's message from OpenRouter by @priscilawebdev in [#107487](https://github.com/getsentry/sentry/pull/107487)\n- Correct pagination spacing by @shellmayr in [#107241](https://github.com/getsentry/sentry/pull/107241)\n\n#### Ai Conversations\n\n- Tool message parsing by @obostjancic in [#107846](https://github.com/getsentry/sentry/pull/107846)\n- Query only spans in conversation timeframe by @obostjancic in [#107501](https://github.com/getsentry/sentry/pull/107501)\n- End timestamp by @obostjancic in [#107584](https://github.com/getsentry/sentry/pull/107584)\n- Sum tokens only from ai_client spans by @obostjancic in [#107485](https://github.com/getsentry/sentry/pull/107485)\n- Misaligned border in active message bubble by @obostjancic in [#107482](https://github.com/getsentry/sentry/pull/107482)\n- Ignore statsPeriod for conversation details endpoint by @vgrozdanic in [#107411](https://github.com/getsentry/sentry/pull/107411)\n- Flip conversation messages bubbles by @matejminar in [#107161](https://github.com/getsentry/sentry/pull/107161)\n- Support gen_ai.input.messages by @obostjancic in [#107222](https://github.com/getsentry/sentry/pull/107222)\n- Agent selector multi-selection by @obostjancic in [#107223](https://github.com/getsentry/sentry/pull/107223)\n- Use correct query params in converstaion details page by @vgrozdanic in [#107146](https://github.com/getsentry/sentry/pull/107146)\n- Drawer span selection by @obostjancic in [#107045](https://github.com/getsentry/sentry/pull/107045)\n- Use correct query params by @vgrozdanic in [#106733](https://github.com/getsentry/sentry/pull/106733)\n\n#### Ai Insights\n\n- Prioritize span.description over span.name by @obostjancic in [#108309](https://github.com/getsentry/sentry/pull/108309)\n- Normalize explore params by @obostjancic in [#107493](https://github.com/getsentry/sentry/pull/107493)\n- Update onboarding instructions by @obostjancic in [#106864](https://github.com/getsentry/sentry/pull/106864)\n\n#### Alerts\n\n- Consider all ESCALATING substatus transitions as 'has_escalated' in alerts by @kcons in [#108084](https://github.com/getsentry/sentry/pull/108084)\n- Fix disabled 'create alert' button for org owners by @malwilley in [#107751](https://github.com/getsentry/sentry/pull/107751)\n- Support trace metrics in anomaly detection alerts by @k-fish in [#107610](https://github.com/getsentry/sentry/pull/107610)\n- Open in Metrics for trace metrics alerts by @k-fish in [#107606](https://github.com/getsentry/sentry/pull/107606)\n- Ensure project_id is an int in OrganizationEventsAnomaliesEndpoint by @kcons in [#107467](https://github.com/getsentry/sentry/pull/107467)\n- Use tracemetrics dataset for TRACE_ITEM_METRIC alerts by @k-fish in [#107420](https://github.com/getsentry/sentry/pull/107420)\n- Improve alerts list UX for downgraded plans by @mifu67 in [#107019](https://github.com/getsentry/sentry/pull/107019)\n- Respect 24-hour clock preference in email notifications by @leeandher in [#106884](https://github.com/getsentry/sentry/pull/106884)\n- Clear Slack channel_id when channel name is modified by @leeandher in [#106824](https://github.com/getsentry/sentry/pull/106824)\n- Support AssignedToFilter in issue alert preview by @leeandher in [#106783](https://github.com/getsentry/sentry/pull/106783)\n- 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)\n\n#### Auth\n\n- Sync CSRF token on form submit for multi-tab scenarios by @JoshFerge in [#107389](https://github.com/getsentry/sentry/pull/107389)\n- Fix test cookie race condition in multi-tab login by @JoshFerge in [#107453](https://github.com/getsentry/sentry/pull/107453)\n- Fix CSRF token refresh for multi-tab auth scenarios by @JoshFerge in [#107214](https://github.com/getsentry/sentry/pull/107214)\n\n#### Autofix\n\n- Use step metadata in autofix completion hook by @Zylphrex in [#107942](https://github.com/getsentry/sentry/pull/107942)\n- Only require repos for manual rca by @Zylphrex in [#108003](https://github.com/getsentry/sentry/pull/108003)\n- Gate repos_not_found log on non-empty set by @JoshFerge in [#107952](https://github.com/getsentry/sentry/pull/107952)\n- Only coerce projects autofix automation on to medium by @Zylphrex in [#107607](https://github.com/getsentry/sentry/pull/107607)\n- Truncate GitHub Copilot prompt to avoid API limit by @JoshFerge in [#107202](https://github.com/getsentry/sentry/pull/107202)\n- Stable drawer width by @roaga in [#107203](https://github.com/getsentry/sentry/pull/107203)\n- Missed one /autofix/update call site by @Zylphrex in [#107123](https://github.com/getsentry/sentry/pull/107123)\n- Pass organization id for autofix update by @Zylphrex in [#107107](https://github.com/getsentry/sentry/pull/107107)\n\n#### Autopilot\n\n- Deduplicate repository configs in missing SDK integration detector by @ArthurKnaus in [#108115](https://github.com/getsentry/sentry/pull/108115)\n- Emit error metric for Seer instantiation and artifact retrieval failures by @ArthurKnaus in [#108111](https://github.com/getsentry/sentry/pull/108111)\n- Add GitHub provider filter and gen AI consent checks to detectors by @ArthurKnaus in [#108107](https://github.com/getsentry/sentry/pull/108107)\n- Ensure instrumentation issues are not triggering alerts by @ArthurKnaus in [#107587](https://github.com/getsentry/sentry/pull/107587)\n- Increase integration detector poll timeout by @ArthurKnaus in [#107320](https://github.com/getsentry/sentry/pull/107320)\n- Ensure repo structure awareness by @ArthurKnaus in [#106786](https://github.com/getsentry/sentry/pull/106786)\n- Monorepo awareness by @ArthurKnaus in [#106659](https://github.com/getsentry/sentry/pull/106659)\n- Ensure docs URL usage by @ArthurKnaus in [#106652](https://github.com/getsentry/sentry/pull/106652)\n\n#### Billing\n\n- Fix feature flags for emerge categories on usage stats page by @dashed in [#107196](https://github.com/getsentry/sentry/pull/107196)\n- Hide issue fixes and scans in stats page for non-legacy Seer orgs by @brendanhsentry in [#107078](https://github.com/getsentry/sentry/pull/107078)\n\n#### Cells\n\n- Update Invoices and Customers index urls to cell-based by @kcons in [#107698](https://github.com/getsentry/sentry/pull/107698)\n- Use cell endpoint for closing invoices by @evanpurkhiser in [#106445](https://github.com/getsentry/sentry/pull/106445)\n\n#### Code Mappings\n\n- Display the modal from issue details for all platforms by @shashjar in [#107894](https://github.com/getsentry/sentry/pull/107894)\n- For platforms lacking supported extensions, fall back to default frame info by @shashjar in [#107893](https://github.com/getsentry/sentry/pull/107893)\n\n#### Code Review\n\n- Add \"Copilot\" user login special case to bot check by @srest2021 in [#107861](https://github.com/getsentry/sentry/pull/107861)\n- Add cache to dedupe github webhook events by @suejung-sentry in [#107734](https://github.com/getsentry/sentry/pull/107734)\n- 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)\n- Add `github_rate_limit_sensitive` field to seer config model by @srest2021 in [#107697](https://github.com/getsentry/sentry/pull/107697)\n- Disable :tada: for orgs with large repos by @srest2021 in [#107357](https://github.com/getsentry/sentry/pull/107357)\n- Add date_updated to update_fields by @srest2021 in [#107129](https://github.com/getsentry/sentry/pull/107129)\n- Pass org id and org integration id to fix metrics by @suejung-sentry in [#106648](https://github.com/getsentry/sentry/pull/106648)\n- Look only at code review beta list by @suejung-sentry in [#106540](https://github.com/getsentry/sentry/pull/106540)\n- Handle when both seat plan and beta flag by @suejung-sentry in [#106532](https://github.com/getsentry/sentry/pull/106532)\n- Check if org has disabled default code review triggers by @suejung-sentry in [#106430](https://github.com/getsentry/sentry/pull/106430)\n- Fix staged billing check for GA by @suejung-sentry in [#106146](https://github.com/getsentry/sentry/pull/106146)\n\n#### Codeowners\n\n- Move AI conversation rules after endpoints catch-all by @vgrozdanic in [#107664](https://github.com/getsentry/sentry/pull/107664)\n- Assing telemetry experience as codeowners for files related to AI conversation page by @vgrozdanic in [#107147](https://github.com/getsentry/sentry/pull/107147)\n\n#### Cursor\n\n- Handle empty branch_name when launching Cursor agent by @JoshFerge in [#106933](https://github.com/getsentry/sentry/pull/106933)\n- Validate API key when setting up Cursor integration by @JoshFerge in [#106502](https://github.com/getsentry/sentry/pull/106502)\n\n#### Dashboard\n\n- Frontend overview can't be cloned by @DominikB2014 in [#108169](https://github.com/getsentry/sentry/pull/108169)\n- Add to Dashboard fails widget builder add when first visit by @narsaynorath in [#106396](https://github.com/getsentry/sentry/pull/106396)\n\n#### Dashboards\n\n- Increase allowed limit to 25 for categorical bar charts by @narsaynorath in [#108229](https://github.com/getsentry/sentry/pull/108229)\n- Include yAxis equations in top events table query by @DominikB2014 in [#108228](https://github.com/getsentry/sentry/pull/108228)\n- Fix issue where initial widget library selection does not load properly by @edwardgou-sentry in [#108171](https://github.com/getsentry/sentry/pull/108171)\n- Add empty fields to rage/dead clicks and server tree widgets by @DominikB2014 in [#108221](https://github.com/getsentry/sentry/pull/108221)\n- 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)\n- Move NUM_DESKTOP_COLS constant to avoid circular dependancy by @edwardgou-sentry in [#108163](https://github.com/getsentry/sentry/pull/108163)\n- Exclude is_starred_transaction from explore URLs by @DominikB2014 in [#108126](https://github.com/getsentry/sentry/pull/108126)\n- Fix gaps and errors in Mobile Vitals Dashboards by @gggritso in [#108033](https://github.com/getsentry/sentry/pull/108033)\n- Use equations for frontend overview table and fix equation field rendering by @DominikB2014 in [#108045](https://github.com/getsentry/sentry/pull/108045)\n- Add missing attribute in widget library definition by @gggritso in [#108046](https://github.com/getsentry/sentry/pull/108046)\n- Fix default filters for web vitals prebuilt dashboard by @edwardgou-sentry in [#107950](https://github.com/getsentry/sentry/pull/107950)\n- Update number suffixes to uppercase (K, M, B) by @nikkikapadia in [#107878](https://github.com/getsentry/sentry/pull/107878)\n- Handle empty widget data gracefully instead of throwing by @DominikB2014 in [#107784](https://github.com/getsentry/sentry/pull/107784)\n- Fix system activity avatar sizing and dark mode by @edwardgou-sentry in [#107598](https://github.com/getsentry/sentry/pull/107598)\n- 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)\n- Bring selected option to top of visualize dropdown by @nikkikapadia in [#107355](https://github.com/getsentry/sentry/pull/107355)\n- Backend overview should only show transactions by @DominikB2014 in [#107541](https://github.com/getsentry/sentry/pull/107541)\n- Respect fieldMeta overrides for timeseries widget types by @DominikB2014 in [#107524](https://github.com/getsentry/sentry/pull/107524)\n- Query limit not being applied on releases dataset by @DominikB2014 in [#107505](https://github.com/getsentry/sentry/pull/107505)\n- Show first and last category labels on categorical bar charts by @gggritso in [#107448](https://github.com/getsentry/sentry/pull/107448)\n- Fixes transaction field renderer overwriting linked dashboard config by @edwardgou-sentry in [#107416](https://github.com/getsentry/sentry/pull/107416)\n- Dashboard remounts on url changes by @DominikB2014 in [#107346](https://github.com/getsentry/sentry/pull/107346)\n- Revert legend icons from checkmarks to circles by @gggritso in [#107297](https://github.com/getsentry/sentry/pull/107297)\n- Mobile session health should show crash free rate by @DominikB2014 in [#107271](https://github.com/getsentry/sentry/pull/107271)\n- Open in X should allow for My Projects selection by @narsaynorath in [#107162](https://github.com/getsentry/sentry/pull/107162)\n- Select the first supported display type if unsupported by @trevor-e in [#107125](https://github.com/getsentry/sentry/pull/107125)\n- Always auto-increment dashboard titles on conflict by @gggritso in [#107023](https://github.com/getsentry/sentry/pull/107023)\n- Add message to logs count aggregate default by @narsaynorath in [#107094](https://github.com/getsentry/sentry/pull/107094)\n- Create widget queries for new mobile app size hooks by @trevor-e in [#107128](https://github.com/getsentry/sentry/pull/107128)\n- Ensure tracemetrics-enabled flag applies to dataset by @narsaynorath in [#107100](https://github.com/getsentry/sentry/pull/107100)\n- Trace metrics not grouping by @DominikB2014 in [#106867](https://github.com/getsentry/sentry/pull/106867)\n- Bump echarts-for-react to fix legend event listeners by @gggritso in [#106678](https://github.com/getsentry/sentry/pull/106678)\n- Properly read type and unit from response for spans by @narsaynorath in [#106572](https://github.com/getsentry/sentry/pull/106572)\n- Simplify deprecated transactions dataset option by @gggritso in [#106227](https://github.com/getsentry/sentry/pull/106227)\n- Fix dashboard widget crosshair overlay synchronization by @gggritso in [#106336](https://github.com/getsentry/sentry/pull/106336)\n- Clear message when dataset doesnt support >90 days by @DominikB2014 in [#106534](https://github.com/getsentry/sentry/pull/106534)\n- Update dashboard selects to use new TypeBadge by @nsdeschenes in [#106376](https://github.com/getsentry/sentry/pull/106376)\n- Check query ID before moving out of loading state by @narsaynorath in [#106449](https://github.com/getsentry/sentry/pull/106449)\n\n#### Data Forwarding\n\n- Handle datetime serialization in SQS data forwarder by @sentry in [#107455](https://github.com/getsentry/sentry/pull/107455)\n- Disable CTAs for users without org:write permission by @leeandher in [#107000](https://github.com/getsentry/sentry/pull/107000)\n\n#### Eap\n\n- Handle rate limits from rpc by @wmak in [#107342](https://github.com/getsentry/sentry/pull/107342)\n- Explicitly check for None in search operation resolution by @Zylphrex in [#107272](https://github.com/getsentry/sentry/pull/107272)\n- Include trace_filters in top events timeseries queries by @volokluev in [#107256](https://github.com/getsentry/sentry/pull/107256)\n- Default is_eap to True in test utilities by @phacops in [#106943](https://github.com/getsentry/sentry/pull/106943)\n- Insert bool values correctly in tests by @phacops in [#106935](https://github.com/getsentry/sentry/pull/106935)\n\n#### Explore\n\n- Use hasOwn to avoid checking constructor by @narsaynorath in [#108268](https://github.com/getsentry/sentry/pull/108268)\n- Use unique keys for column editor by @nsdeschenes in [#108136](https://github.com/getsentry/sentry/pull/108136)\n- Prevent duplicate history entries in spans explore by @edwardgou-sentry in [#107644](https://github.com/getsentry/sentry/pull/107644)\n- Copy changes for saving widget, monitor, query by @narsaynorath in [#107251](https://github.com/getsentry/sentry/pull/107251)\n\n#### Explorer\n\n- Fix mobile styles by @roaga in [#107603](https://github.com/getsentry/sentry/pull/107603)\n- Add org id to update endpoint request by @roaga in [#107071](https://github.com/getsentry/sentry/pull/107071)\n\n#### Form\n\n- Auto-save for switch field by @TkDodo in [#108222](https://github.com/getsentry/sentry/pull/108222)\n- Stabilize the SelectIndicatorsContainer component by @TkDodo in [#108214](https://github.com/getsentry/sentry/pull/108214)\n\n#### Forms\n\n- Improve validation error display in uptime and cron monitor forms by @jaydgoss in [#107650](https://github.com/getsentry/sentry/pull/107650)\n- Make multiline field utilities safe for undo actions by @scttcper in [#106983](https://github.com/getsentry/sentry/pull/106983)\n\n#### Github Copilot\n\n- Poll Copilot agents in Explorer autofix path by @JoshFerge in [#107759](https://github.com/getsentry/sentry/pull/107759)\n- GET task status returns unwrapped task by @JoshFerge in [#107730](https://github.com/getsentry/sentry/pull/107730)\n- Update models to match current API response structure by @JoshFerge in [#107648](https://github.com/getsentry/sentry/pull/107648)\n\n#### Grouping\n\n- Remove mechanism type check for RxJava exception detection by @romtsn in [#107634](https://github.com/getsentry/sentry/pull/107634)\n- Prevent DiagnosticCoroutineContextException from determining issue title by @romtsn in [#107224](https://github.com/getsentry/sentry/pull/107224)\n- Always check both exception and threads for stacktrace by @cvxluo in [#107189](https://github.com/getsentry/sentry/pull/107189)\n\n#### Infra\n\n- Fix bug with changed file detection by @rbro112 in [#106807](https://github.com/getsentry/sentry/pull/106807)\n- Fix config issue for selective testing by @rbro112 in [#106686](https://github.com/getsentry/sentry/pull/106686)\n\n#### Insights\n\n- Fix wrong render order in backend overview page by @DominikB2014 in [#107972](https://github.com/getsentry/sentry/pull/107972)\n- Fix user misery bar chart by @scttcper in [#106468](https://github.com/getsentry/sentry/pull/106468)\n- Queries module system selector should match table by @DominikB2014 in [#106443](https://github.com/getsentry/sentry/pull/106443)\n\n#### Issue Details\n\n- Prevent unnecessary refetch when changing time range on specific event by @malwilley in [#107282](https://github.com/getsentry/sentry/pull/107282)\n- Show Seer tour copy only when Seer is available by @jaydgoss in [#107069](https://github.com/getsentry/sentry/pull/107069)\n\n#### Issues\n\n- Check hideAiFeatures flag in title gen by @scttcper in [#108147](https://github.com/getsentry/sentry/pull/108147)\n- Allow `org:read` for issue view title generation by @scttcper in [#108086](https://github.com/getsentry/sentry/pull/108086)\n- Use background color on project icons by @scttcper in [#107913](https://github.com/getsentry/sentry/pull/107913)\n- Assert user.id is not None before ORM filter by @JoshFerge in [#107744](https://github.com/getsentry/sentry/pull/107744)\n- Disable Export All CSV option without discover-query feature by @leeandher in [#106363](https://github.com/getsentry/sentry/pull/106363)\n\n#### Lint\n\n- Address `theme.tokens.border` violations by @natemoo-re in [#107457](https://github.com/getsentry/sentry/pull/107457)\n- Address `theme.tokens.background` violations by @natemoo-re in [#107451](https://github.com/getsentry/sentry/pull/107451)\n- Expand matches, skip custom properties by @natemoo-re in [#107519](https://github.com/getsentry/sentry/pull/107519)\n- Address `theme.tokens.content` violations by @natemoo-re in [#107314](https://github.com/getsentry/sentry/pull/107314)\n\n#### Logs\n\n- Only show Set Up Logs button when applicable by @narsaynorath in [#108048](https://github.com/getsentry/sentry/pull/108048)\n- Convert count() to count(message) when opening in explore by @narsaynorath in [#107012](https://github.com/getsentry/sentry/pull/107012)\n\n#### Mail\n\n- Apply enhanced privacy rules to activity notification emails by @wedamija in [#108177](https://github.com/getsentry/sentry/pull/108177)\n- Sanitize user display names in invite and integration request emails by @wedamija in [#108165](https://github.com/getsentry/sentry/pull/108165)\n- Sanitize user display names in team access request emails by @wedamija in [#108154](https://github.com/getsentry/sentry/pull/108154)\n\n#### Notifications\n\n- Use plural form for QUOTA_SIZE_ANALYSIS enum value by @dashed in [#107450](https://github.com/getsentry/sentry/pull/107450)\n- Fix Size Analysis feature flag filter typo by @dashed in [#107418](https://github.com/getsentry/sentry/pull/107418)\n\n#### Objectstore\n\n- Workaround read timeouts by @jan-auer in [#108112](https://github.com/getsentry/sentry/pull/108112)\n- Fix proxy in siloed mode by @lcian in [#106172](https://github.com/getsentry/sentry/pull/106172)\n\n#### Onboarding\n\n- Await project deletion before navigating back by @billyvg in [#108155](https://github.com/getsentry/sentry/pull/108155)\n- Restore opacity on PageCorners container by @jaydgoss in [#107890](https://github.com/getsentry/sentry/pull/107890)\n- Fix iOS Safari scroll position on welcome screen by @jaydgoss in [#107539](https://github.com/getsentry/sentry/pull/107539)\n- Correct \"capture first error\" onboarding link by @scttcper in [#107706](https://github.com/getsentry/sentry/pull/107706)\n- Platform Xamarin does not support logs by @Flash0ver in [#107612](https://github.com/getsentry/sentry/pull/107612)\n\n#### Preprod\n\n- Use project id instead of slug in test assertion by @chromy in [#108232](https://github.com/getsentry/sentry/pull/108232)\n- Fix project slug/id confusion in a few places by @chromy in [#107491](https://github.com/getsentry/sentry/pull/107491)\n- Restrict attributes available on mobile builds page by @trevor-e in [#107514](https://github.com/getsentry/sentry/pull/107514)\n- Add back attributes to featureFilter by @chromy in [#107337](https://github.com/getsentry/sentry/pull/107337)\n- Settings button redirect by @chromy in [#107488](https://github.com/getsentry/sentry/pull/107488)\n- Add unique constraint to commit comparison by @trevor-e in [#107371](https://github.com/getsentry/sentry/pull/107371)\n- Remove redundant \"apps analyzed\" text when size checks … by @mtopo27 in [#107292](https://github.com/getsentry/sentry/pull/107292)\n- Remove ineffective retry logic for size status checks by @trevor-e in [#107303](https://github.com/getsentry/sentry/pull/107303)\n- Register snapshot models with Django to resolve migration drift by @NicoHinderling in [#107302](https://github.com/getsentry/sentry/pull/107302)\n- Use trace_id for EAP data deletion by @sentry in [#107289](https://github.com/getsentry/sentry/pull/107289)\n- Handle missing diff_type in treemap tooltip by @trevor-e in [#107300](https://github.com/getsentry/sentry/pull/107300)\n- Fix git metadata banner margin on small screens by @mtopo27 in [#107270](https://github.com/getsentry/sentry/pull/107270)\n- Update quota exceeded alert copy and link by @mtopo27 in [#107279](https://github.com/getsentry/sentry/pull/107279)\n- Fix URL length issue when \"All Projects\" selected in Mobile Builds by @runningcode in [#107243](https://github.com/getsentry/sentry/pull/107243)\n- Add NOT_STARTED state to frontend by @chromy in [#107145](https://github.com/getsentry/sentry/pull/107145)\n- Convert release_version to structured query for builds endpoint by @runningcode in [#107157](https://github.com/getsentry/sentry/pull/107157)\n- Disable Save Rule button when no unsaved changes by @mtopo27 in [#107176](https://github.com/getsentry/sentry/pull/107176)\n- Convert settings FF preprod-issues -> preprod-frontend-routes by @chromy in [#107156](https://github.com/getsentry/sentry/pull/107156)\n- Remove organization slug from legacy URL redirects by @runningcode in [#106970](https://github.com/getsentry/sentry/pull/106970)\n- Update SearchType enum on backend by @chromy in [#106994](https://github.com/getsentry/sentry/pull/106994)\n- Filter insight diff tabs by status by @mtopo27 in [#106900](https://github.com/getsentry/sentry/pull/106900)\n- Update build attributes to match search bar by @chromy in [#106960](https://github.com/getsentry/sentry/pull/106960)\n- Fix search project selection by @chromy in [#106951](https://github.com/getsentry/sentry/pull/106951)\n- Hide the discover button for mobile app size by @trevor-e in [#106908](https://github.com/getsentry/sentry/pull/106908)\n- Temporarily hardcode to neutral status checks by @trevor-e in [#106699](https://github.com/getsentry/sentry/pull/106699)\n- Show correct message on no size analysis by @chromy in [#106705](https://github.com/getsentry/sentry/pull/106705)\n- Use correct write keys for options by @chromy in [#106691](https://github.com/getsentry/sentry/pull/106691)\n- Use get_or_create to avoid duplicate comparison IntegrityError by @trevor-e in [#106490](https://github.com/getsentry/sentry/pull/106490)\n- Correctly attribute rate limiting errors by @trevor-e in [#106580](https://github.com/getsentry/sentry/pull/106580)\n- Add status check retry delay by @trevor-e in [#106481](https://github.com/getsentry/sentry/pull/106481)\n- Fix settings api bug for status checks by @NicoHinderling in [#106480](https://github.com/getsentry/sentry/pull/106480)\n\n#### Releases\n\n- Return datetime from get_oldest_health_data_for_releases by @scttcper in [#106997](https://github.com/getsentry/sentry/pull/106997)\n- Exclude archived releases from \"Resolve in Next Release\" by @leeandher in [#106674](https://github.com/getsentry/sentry/pull/106674)\n- Add null checks for ECharts options in drawer by @seer-by-sentry in [#106831](https://github.com/getsentry/sentry/pull/106831)\n- Use mobile_app_info for preprod build count query by @cameroncooke in [#106527](https://github.com/getsentry/sentry/pull/106527)\n\n#### Replay\n\n- Allow replay access to org tokens, superusers & SentryApps with granular permissions by @shellmayr in [#107325](https://github.com/getsentry/sentry/pull/107325)\n- Fix AI summary loading message randomization by @billyvg in [#106723](https://github.com/getsentry/sentry/pull/106723)\n\n#### Scraps\n\n- Allow rendering Text as <time> by @TkDodo in [#108207](https://github.com/getsentry/sentry/pull/108207)\n- Align leadingItems in compactSelect with check box/icon by @TkDodo in [#106972](https://github.com/getsentry/sentry/pull/106972)\n\n#### Seer\n\n- Clarify Seer error message key in logs by @sentry in [#108120](https://github.com/getsentry/sentry/pull/108120)\n- SeerOperator fixes for explorer-autofix compatibility by @leeandher in [#108271](https://github.com/getsentry/sentry/pull/108271)\n- 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)\n- 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)\n- Fix label on Settings > Seer > Projects table to align with details page by @ryan953 in [#108050](https://github.com/getsentry/sentry/pull/108050)\n- Use provider.name for consistency by @billyvg in [#107686](https://github.com/getsentry/sentry/pull/107686)\n- Allow any seer-using org to get to the repo list page by @ryan953 in [#107818](https://github.com/getsentry/sentry/pull/107818)\n- Respect enable_seer_enhanced_alerts option in Slack entrypoint by @leeandher in [#107624](https://github.com/getsentry/sentry/pull/107624)\n- Fix links to seer settings by @scttcper in [#107707](https://github.com/getsentry/sentry/pull/107707)\n- Add aggregate field to anomaly detection api by @sehr-m in [#107649](https://github.com/getsentry/sentry/pull/107649)\n- RCA Onboarding step broken due to provider by @billyvg in [#107680](https://github.com/getsentry/sentry/pull/107680)\n- Various improvements to trace explorer setup endpoint by @JoshFerge in [#107244](https://github.com/getsentry/sentry/pull/107244)\n- Various improvements to anomaly detection endpoint by @JoshFerge in [#107242](https://github.com/getsentry/sentry/pull/107242)\n- Show repo owner/name in the list of seer connected repos by @ryan953 in [#107177](https://github.com/getsentry/sentry/pull/107177)\n- Remove empty Project column in Seer Settings > Repos by @ryan953 in [#107134](https://github.com/getsentry/sentry/pull/107134)\n- Settings was not splitting repo name and repo owner properly by @ryan953 in [#107112](https://github.com/getsentry/sentry/pull/107112)\n- Fix link to seer code-review docs by @ryan953 in [#106683](https://github.com/getsentry/sentry/pull/106683)\n- Update showNewSeer conditions to count the `code-review-beta` cohort as legacy orgs by @ryan953 in [#106425](https://github.com/getsentry/sentry/pull/106425)\n- Validate project permissions in trace explorer AI query by @oioki in [#106432](https://github.com/getsentry/sentry/pull/106432)\n\n#### Settings\n\n- Add tooltip to explain Unknown Provider on repos page by @gaprl in [#107816](https://github.com/getsentry/sentry/pull/107816)\n- Prevent overflow from OpenTelementry yaml by @scttcper in [#107804](https://github.com/getsentry/sentry/pull/107804)\n- Update team modal design/copy by @scttcper in [#107547](https://github.com/getsentry/sentry/pull/107547)\n- 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)\n- Handle stats API failure on Data Forwarding page by @leeandher in [#106372](https://github.com/getsentry/sentry/pull/106372)\n\n#### Span Buffer\n\n- Add observability metrics to EVALSHA by @evanh in [#106538](https://github.com/getsentry/sentry/pull/106538)\n- Add debug logging option for span buffer subsegments by @lvthanh03 in [#106539](https://github.com/getsentry/sentry/pull/106539)\n\n#### Spans Migration\n\n- Ensure validation of extrapolation mode on alert updates by @nikkikapadia in [#107678](https://github.com/getsentry/sentry/pull/107678)\n- Add validation to not update alerts to transactions or generic_metrics by @nikkikapadia in [#107626](https://github.com/getsentry/sentry/pull/107626)\n- Map span.module to span.category by @nikkikapadia in [#107509](https://github.com/getsentry/sentry/pull/107509)\n- Replace `parse_function` with match and parse_arguments by @nikkikapadia in [#107421](https://github.com/getsentry/sentry/pull/107421)\n- Add spm translation and decimal apdex by @nikkikapadia in [#107291](https://github.com/getsentry/sentry/pull/107291)\n- Add event type check in migration function by @nikkikapadia in [#106537](https://github.com/getsentry/sentry/pull/106537)\n\n#### Stories\n\n- Shadow by @natemoo-re in [#107511](https://github.com/getsentry/sentry/pull/107511)\n- Shorten component category labels by @natemoo-re in [#107366](https://github.com/getsentry/sentry/pull/107366)\n\n#### Tests\n\n- Fix test pollution in CheckScopeTransactionTest by @joshuarli in [#108284](https://github.com/getsentry/sentry/pull/108284)\n- Prevent tests from producing real Kafka messages to taskbroker by @dashed in [#107729](https://github.com/getsentry/sentry/pull/107729)\n- Remove incorrect message.parameter.0 expectation by @phacops in [#107339](https://github.com/getsentry/sentry/pull/107339)\n- Add type annotations for mock_audit_logger parameters by @JoshFerge in [#106849](https://github.com/getsentry/sentry/pull/106849)\n- Update spans fields stats test for lastSeen field by @phacops in [#106731](https://github.com/getsentry/sentry/pull/106731)\n- Fix boolean conversion in scalar_to_any_value by @phacops in [#106677](https://github.com/getsentry/sentry/pull/106677)\n- Use `assert_any_call` to address task severity flake by @kenzoengineer in [#106623](https://github.com/getsentry/sentry/pull/106623)\n- RenderWithOnboardingLayout utility shouldn't have a fix platformKey by @priscilawebdev in [#106557](https://github.com/getsentry/sentry/pull/106557)\n\n#### Top Issues\n\n- Fix TopIssuesDrawer unconstrained width on long error messages in stacktrace by @yuvmen in [#106332](https://github.com/getsentry/sentry/pull/106332)\n- Swap Title and Subtitle in Drawer to match Cluster Card by @yuvmen in [#106333](https://github.com/getsentry/sentry/pull/106333)\n\n#### Trace Waterfall\n\n- Span name panel was not taking into account scroll wheel by @bcoe in [#108347](https://github.com/getsentry/sentry/pull/108347)\n- Add cycle protections by @nsdeschenes in [#106888](https://github.com/getsentry/sentry/pull/106888)\n- Update chevron directions by @nsdeschenes in [#106952](https://github.com/getsentry/sentry/pull/106952)\n- Only check direct children by @nsdeschenes in [#106874](https://github.com/getsentry/sentry/pull/106874)\n\n#### Tracemetrics\n\n- Add menu title to show loader by @nsdeschenes in [#107586](https://github.com/getsentry/sentry/pull/107586)\n- Metric Selector should pass along environment filter by @narsaynorath in [#107440](https://github.com/getsentry/sentry/pull/107440)\n- Align confidence footer with logs clarity by @narsaynorath in [#107253](https://github.com/getsentry/sentry/pull/107253)\n- Group by selector should allow clearing by @narsaynorath in [#107250](https://github.com/getsentry/sentry/pull/107250)\n- Switch to Aggregates mode when a group by is added by @narsaynorath in [#107179](https://github.com/getsentry/sentry/pull/107179)\n- Add timestamp to filterable fields by @narsaynorath in [#106456](https://github.com/getsentry/sentry/pull/106456)\n\n#### Typing\n\n- Use cast for get_field return type in test_hybrid_cloud by @JoshFerge in [#107793](https://github.com/getsentry/sentry/pull/107793)\n- Rename detector_id annotation to avoid shadowing model field by @JoshFerge in [#107791](https://github.com/getsentry/sentry/pull/107791)\n- Fix order_by column type handling in base_query_set by @JoshFerge in [#107790](https://github.com/getsentry/sentry/pull/107790)\n- Move sentry.workflow_engine to strict mypy by @kcons in [#107545](https://github.com/getsentry/sentry/pull/107545)\n- Add missing type annotations to tests/sentry/users by @thetruecpaul in [#106817](https://github.com/getsentry/sentry/pull/106817)\n- Type tests.sentry.tempest by @thetruecpaul in [#106795](https://github.com/getsentry/sentry/pull/106795)\n\n#### Ui\n\n- Wait for member store before id-based fetches by @scttcper in [#108091](https://github.com/getsentry/sentry/pull/108091)\n- Disallow body scroll while drawer is open by @TkDodo in [#108027](https://github.com/getsentry/sentry/pull/108027)\n- Add org slug to settings routes by @scttcper in [#107722](https://github.com/getsentry/sentry/pull/107722)\n- Wrap stacktrace link setup button on small screens by @scttcper in [#107694](https://github.com/getsentry/sentry/pull/107694)\n- Display specific API error messages for assignment failures by @geoffg-sentry in [#107335](https://github.com/getsentry/sentry/pull/107335)\n- Streamline colors for groupStatusChart by @TkDodo in [#107044](https://github.com/getsentry/sentry/pull/107044)\n- Delay checking frontend version for 10 minutes by @scttcper in [#107016](https://github.com/getsentry/sentry/pull/107016)\n\n#### Uptime\n\n- Remove invalid select_related on ManyToManyField by @JoshFerge in [#107738](https://github.com/getsentry/sentry/pull/107738)\n- Allow disabled uptime monitors to be accessed via project endpoint by @jaydgoss in [#107550](https://github.com/getsentry/sentry/pull/107550)\n- Pass full subscription object to validator by @klochek in [#107557](https://github.com/getsentry/sentry/pull/107557)\n- Add failsafe to make sure we properly sync `capture_response_on_failure` by @wedamija in [#107380](https://github.com/getsentry/sentry/pull/107380)\n- Backfill delete bad uptime checker assertion values by @klochek in [#107359](https://github.com/getsentry/sentry/pull/107359)\n- Preserve null assertions when editing monitors with feature flag off by @jaydgoss in [#107365](https://github.com/getsentry/sentry/pull/107365)\n- Handle overflow for long monitor names by @jaydgoss in [#107116](https://github.com/getsentry/sentry/pull/107116)\n- Use the first uptime region to run preview checks by @klochek in [#106797](https://github.com/getsentry/sentry/pull/106797)\n- Fix cURL snippet background leaking in alert form by @jaydgoss in [#106722](https://github.com/getsentry/sentry/pull/106722)\n- Allow typing intermediate values in status code input by @jaydgoss in [#106487](https://github.com/getsentry/sentry/pull/106487)\n- 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)\n- Validator should not set null for body and related by @klochek in [#106470](https://github.com/getsentry/sentry/pull/106470)\n- Checker_api should not set null for body and related by @klochek in [#106460](https://github.com/getsentry/sentry/pull/106460)\n- Make verification section smaller in uptime monitor editor by @jaydgoss in [#106402](https://github.com/getsentry/sentry/pull/106402)\n\n#### Users\n\n- Use project_id for HybridCloudForeignKey filter by @JoshFerge in [#107746](https://github.com/getsentry/sentry/pull/107746)\n- Assert user.id is not None before ORM get by @JoshFerge in [#107745](https://github.com/getsentry/sentry/pull/107745)\n\n#### Workflow Engine\n\n- Remove unused has_reappeared from workflow event data by @kcons in [#108082](https://github.com/getsentry/sentry/pull/108082)\n- Add a cache for Workflows to reduce DB load by @saponifi3d in [#106925](https://github.com/getsentry/sentry/pull/106925)\n\n#### Other\n\n- (agent) Parse JSON-stringified AI message content by @priscilawebdev in [#107588](https://github.com/getsentry/sentry/pull/107588)\n- (ai-drawer) Accomodate pretty/raw button in json viewer component by @priscilawebdev in [#106549](https://github.com/getsentry/sentry/pull/106549)\n- (ai-trace) List disappears on breakpoint change by @ArthurKnaus in [#106548](https://github.com/getsentry/sentry/pull/106548)\n- (api) Fix rate units not populating for equation fields by @DominikB2014 in [#108043](https://github.com/getsentry/sentry/pull/108043)\n- (api docs) Fix typo in API docs example by @shashjar in [#108201](https://github.com/getsentry/sentry/pull/108201)\n- (attribute-breakdown) Pass query instead of grabbing from context by @nsdeschenes in [#108044](https://github.com/getsentry/sentry/pull/108044)\n- (attributes) Set allowWildcards to false for project by @nsdeschenes in [#108053](https://github.com/getsentry/sentry/pull/108053)\n- (audit_log) Correct DetectorWorkflow audit log data by @seer-by-sentry in [#106382](https://github.com/getsentry/sentry/pull/106382)\n- (automation) Don't run automation on issues older than 2 weeks by @Mihir-Mavalankar in [#107465](https://github.com/getsentry/sentry/pull/107465)\n- (backend-overview) Render Laravel page before other platformized pages by @DominikB2014 in [#108219](https://github.com/getsentry/sentry/pull/108219)\n- (backup) Reorder imported models based on current canonical import order by @kcons in [#106634](https://github.com/getsentry/sentry/pull/106634)\n- (bug-prediction) Accept unprefixed provider by @kddubey in [#107884](https://github.com/getsentry/sentry/pull/107884)\n- (checkout) Reactive but debounced volume sliders by @isabellaenriquez in [#106525](https://github.com/getsentry/sentry/pull/106525)\n- (ci) Install uv in post_fetch for devenv ci by @joshuarli in [#108265](https://github.com/getsentry/sentry/pull/108265)\n- (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)\n- (coding integration) Add short id for all cursor calls by @sehr-m in [#106988](https://github.com/getsentry/sentry/pull/106988)\n- (context) Redirect the user to the right page when a project was renamed by @shashjar in [#106643](https://github.com/getsentry/sentry/pull/106643)\n- (context-picker) Prevent layout shift when loading projects by @scttcper in [#107463](https://github.com/getsentry/sentry/pull/107463)\n- (conversations) Fix cache pollution during project transitions by @priscilawebdev in [#107101](https://github.com/getsentry/sentry/pull/107101)\n- (crons) Enable pointer events on incident indicator by @jaydgoss in [#106319](https://github.com/getsentry/sentry/pull/106319)\n- (darkmode) Code snippet background color by @shellmayr in [#107397](https://github.com/getsentry/sentry/pull/107397)\n- (debug) Putting debug on the same attribute breaks search by @wmak in [#107278](https://github.com/getsentry/sentry/pull/107278)\n- (debug-files) Extract query param to avoid passing None to ORM filter by @JoshFerge in [#107740](https://github.com/getsentry/sentry/pull/107740)\n- (deps) Address Dependabot security alerts for multiple packages by @BYK in [#107908](https://github.com/getsentry/sentry/pull/107908)\n- (detector-schedule-preview) Shouldn't overlay higher z-index comp… by @Abdkhan14 in [#106753](https://github.com/getsentry/sentry/pull/106753)\n- (detectors) Only render service incidents overlay on cron monitors by @jaydgoss in [#106308](https://github.com/getsentry/sentry/pull/106308)\n- (devservices) Update postgres container name by @hubertdeng123 in [#107285](https://github.com/getsentry/sentry/pull/107285)\n- (discover) Disable context menu for starred transaction cell by @DominikB2014 in [#107362](https://github.com/getsentry/sentry/pull/107362)\n- (dynamic-sampling) Transaction management error by @shellmayr in [#108117](https://github.com/getsentry/sentry/pull/108117)\n- (eap-spans) Handle None attribute with groupBy + topEvents by @DominikB2014 in [#106875](https://github.com/getsentry/sentry/pull/106875)\n- (eco) Fixes typing for integration debug data, reduces page size by @GabeVillalobos in [#106472](https://github.com/getsentry/sentry/pull/106472)\n- (encryption) Fix encrypted field metrics table_name tag by @vgrozdanic in [#106957](https://github.com/getsentry/sentry/pull/106957)\n- (eventstream) Use an arroyo producer for eventstream by @evanh in [#104763](https://github.com/getsentry/sentry/pull/104763)\n- (frontend) Include react config for our pipeline asset response by @trevor-e in [#108157](https://github.com/getsentry/sentry/pull/108157)\n- (github) Allow installing orphaned integrations from multi-org dropdown by @cathteng in [#107130](https://github.com/getsentry/sentry/pull/107130)\n- (hybridcloud) Use distribution metric for webhook delivery time by @armenzg in [#108289](https://github.com/getsentry/sentry/pull/108289)\n- (identities) Use GitHub logo for GitHub Copilot identity by @JoshFerge in [#107497](https://github.com/getsentry/sentry/pull/107497)\n- (integrations) Filter installed repos by organization in repo listing by @leeandher in [#107677](https://github.com/getsentry/sentry/pull/107677)\n- (issue owners) Allow updates when team membership is open by @lobsterkatie in [#107895](https://github.com/getsentry/sentry/pull/107895)\n- (issue-ownership) Stop codeowners matching suffixes by @cvxluo in [#104398](https://github.com/getsentry/sentry/pull/104398)\n- (issue-stream) Apply correct styles to waiting for error message by @priscilawebdev in [#107839](https://github.com/getsentry/sentry/pull/107839)\n- (jira) Add project search to issue sync config by @cathteng in [#107865](https://github.com/getsentry/sentry/pull/107865)\n- (killswitches) Always emit a metric if there is a match by @untitaker in [#107068](https://github.com/getsentry/sentry/pull/107068)\n- (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)\n- (llm-detector) Add `org_slug` to Seer request by @roggenkemper in [#107630](https://github.com/getsentry/sentry/pull/107630)\n- (metric alerts) Separate SubscriptionProcessor fetch phase from evaluation by @kcons in [#106229](https://github.com/getsentry/sentry/pull/106229)\n- (middleware) Skip OAuth endpoints in AI agent middleware by @dcramer in [#106711](https://github.com/getsentry/sentry/pull/106711)\n- (monitors) Typo Confirgure -> Configure by @chromy in [#108013](https://github.com/getsentry/sentry/pull/108013)\n- (perf) Avoid extra queries in MonitorEnvironmentSerializer by @kcons in [#106428](https://github.com/getsentry/sentry/pull/106428)\n- (perf-cli) Pass detector-specific settings in `sentry performance` commands by @roggenkemper in [#108074](https://github.com/getsentry/sentry/pull/108074)\n- (prevent) Improve redirects to pages that exist wrt the Prevent main nav button by @ryan953 in [#106489](https://github.com/getsentry/sentry/pull/106489)\n- (profiling) Fix pluralization of \"samples\" in flamegraph tooltip by @noahsmartin in [#106381](https://github.com/getsentry/sentry/pull/106381)\n- (project) Make org update and team cleanup atomic during project transfer by @yuvmen in [#108153](https://github.com/getsentry/sentry/pull/108153)\n- (prompts) Remove redundant organization_id from GET query params by @dcramer in [#106413](https://github.com/getsentry/sentry/pull/106413)\n- (redis) Cast Redis version to string before parsing by @shashjar in [#107690](https://github.com/getsentry/sentry/pull/107690)\n- (relay) Add back sessions EAP rollout rate by @noahsmartin in [#108079](https://github.com/getsentry/sentry/pull/108079)\n- (replay-summary) Pass org and proj id in state and delete requests by @aliu39 in [#107089](https://github.com/getsentry/sentry/pull/107089)\n- (sdk) Let the SDK instantiate MultiplexingTransport so that dsn is setup correctly by @sl0thentr0py in [#107923](https://github.com/getsentry/sentry/pull/107923)\n- (search) Handle currency as numeric by @nsdeschenes in [#108224](https://github.com/getsentry/sentry/pull/108224)\n- (searchQueryBuilder) Revert memo merge refs by @scttcper in [#107206](https://github.com/getsentry/sentry/pull/107206)\n- (security) IDOR in PromptsActivityEndpoint GET - scope project by organization by @dcramer in [#104990](https://github.com/getsentry/sentry/pull/104990)\n- (seer-explorer) Move seer-explorer FF check to endpoints by @vgrozdanic in [#108108](https://github.com/getsentry/sentry/pull/108108)\n- (seer-slack) Allow clicks on existing runs to handle gracefully by @leeandher in [#108175](https://github.com/getsentry/sentry/pull/108175)\n- (sentry-apps) Prevent race condition on service hook sentry app rpc by @leeandher in [#106526](https://github.com/getsentry/sentry/pull/106526)\n- (slack-seer) Simplify blocks, remove skipping steps and excess checks by @leeandher in [#108063](https://github.com/getsentry/sentry/pull/108063)\n- (snuba_rpc) Fix error handling for non-protofbuf responses for Snuba RPC by @yuvmen in [#107995](https://github.com/getsentry/sentry/pull/107995)\n- (spans) Add more observability for SpanFlusher.main timeout by @lvthanh03 in [#106825](https://github.com/getsentry/sentry/pull/106825)\n- (spans,logs) Adjust collapse buttons placement by @JPeer264 in [#108022](https://github.com/getsentry/sentry/pull/108022)\n- (storybook) Rendering without type-loader by @TkDodo in [#108204](https://github.com/getsentry/sentry/pull/108204)\n- (tags) Handle status tag by @wmak in [#106056](https://github.com/getsentry/sentry/pull/106056)\n- (theme) Dark chart palette by @natemoo-re in [#106903](https://github.com/getsentry/sentry/pull/106903)\n- (tokens) Add missing `as` prop by @natemoo-re in [#107712](https://github.com/getsentry/sentry/pull/107712)\n- (trace) Improve trace performance by @wmak in [#107358](https://github.com/getsentry/sentry/pull/107358)\n- (trace-attrs) Assert organization_id is not None before ORM filter by @JoshFerge in [#107741](https://github.com/getsentry/sentry/pull/107741)\n- (trace-explorer) Handle empty baseline cohort in ranked attributes API by @seer-by-sentry in [#106483](https://github.com/getsentry/sentry/pull/106483)\n- (trace-items) Handle aliases by @wmak in [#106607](https://github.com/getsentry/sentry/pull/106607)\n- (traces) Use span.name instead of transaction by @wmak in [#107543](https://github.com/getsentry/sentry/pull/107543)\n- (type-coverage) Larger buffer & better summary by @TkDodo in [#106862](https://github.com/getsentry/sentry/pull/106862)\n- (unmerge) Explicitly set `first_seen` values for each group-environment pair by @shashjar in [#107907](https://github.com/getsentry/sentry/pull/107907)\n- (uptime-ongoing-issues) Issue list errors when check-in timeline is zoomed by @Abdkhan14 in [#107859](https://github.com/getsentry/sentry/pull/107859)\n- (vercel) Check user_id is not None before ORM get by @JoshFerge in [#107742](https://github.com/getsentry/sentry/pull/107742)\n- (vsts) Guard identity_id is not None before ORM get by @JoshFerge in [#107743](https://github.com/getsentry/sentry/pull/107743)\n- (widget-builder) Prevent TypeError when sorting with equation-only yAxis by @seer-by-sentry in [#106834](https://github.com/getsentry/sentry/pull/106834)\n- (widget-viewer) Release test flaky by @narsaynorath in [#107283](https://github.com/getsentry/sentry/pull/107283)\n- Revert \"Revert \"ref(data-forwarding): Remove revamp-access feature fl… by @leeandher in [#107933](https://github.com/getsentry/sentry/pull/107933)\n- Revert \"Revert \"ref(data-forwarding): Remove revamp-access flag by @leeandher in [#107934](https://github.com/getsentry/sentry/pull/107934)\n- Improvements to seer preferences endpoints by @JoshFerge in [#107257](https://github.com/getsentry/sentry/pull/107257)\n- Improve seer automation endpoint by @JoshFerge in [#107235](https://github.com/getsentry/sentry/pull/107235)\n- Revert \"fix(scraps): align leadingItems in compactSelect with check box/icon (#106167)\" by @TkDodo in [#106889](https://github.com/getsentry/sentry/pull/106889)\n- Disallow custom CSS in marked by @oioki in [#106368](https://github.com/getsentry/sentry/pull/106368)\n\n### Documentation 📚\n\n- (agents) Consolidate critical instructions into main AGENTS.md by @armenzg in [#106515](https://github.com/getsentry/sentry/pull/106515)\n- Remove extras from installation instructions by @sentrivana in [#107492](https://github.com/getsentry/sentry/pull/107492)\n\n### Internal Changes 🔧\n\n#### Aci\n\n- Remove unused RPC methods by @ceorourke in [#108256](https://github.com/getsentry/sentry/pull/108256)\n- Update sentry app installation outbox receiver's method call by @ceorourke in [#108152](https://github.com/getsentry/sentry/pull/108152)\n- Add 'new' RPC methods for updating action on sentry app installation deletion by @ceorourke in [#108089](https://github.com/getsentry/sentry/pull/108089)\n- 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)\n- Allow `MetricIssue` ui visibility to be controlled via multiple flags. by @wedamija in [#107985](https://github.com/getsentry/sentry/pull/107985)\n- Remove references to SentryAppIdentifier by @ceorourke in [#107887](https://github.com/getsentry/sentry/pull/107887)\n- Make sentry_app_installation_uuid optional by @ceorourke in [#107879](https://github.com/getsentry/sentry/pull/107879)\n- Remove support for legacy sentry app data in Actions by @ceorourke in [#107174](https://github.com/getsentry/sentry/pull/107174)\n- Unhook conditions from rules code by @mifu67 in [#107754](https://github.com/getsentry/sentry/pull/107754)\n- Clean up GA'd feature flags by @cathteng in [#107739](https://github.com/getsentry/sentry/pull/107739)\n- Add eventId to GroupOpenPeriodActivity serializer by @malwilley in [#107464](https://github.com/getsentry/sentry/pull/107464)\n- Migration to fix fallthrough_type on email Actions by @cathteng in [#106902](https://github.com/getsentry/sentry/pull/106902)\n- Search open period activity entries for event_id by @malwilley in [#107431](https://github.com/getsentry/sentry/pull/107431)\n- Start recording event_id field in GroupPeriodActivity by @malwilley in [#107381](https://github.com/getsentry/sentry/pull/107381)\n- Add event_id column to GroupOpenPeriodActivity model by @malwilley in [#107305](https://github.com/getsentry/sentry/pull/107305)\n- Add 'beta' warning to ACI endpoints by @ceorourke in [#107008](https://github.com/getsentry/sentry/pull/107008)\n- Use serializer responses as serialize response type by @ceorourke in [#106747](https://github.com/getsentry/sentry/pull/106747)\n- Rename \\_ensure_metric_detector by @kcons in [#106720](https://github.com/getsentry/sentry/pull/106720)\n- Delete dead detector processing code by @kcons in [#106717](https://github.com/getsentry/sentry/pull/106717)\n- Add feature flag for releasing metric issues by @malwilley in [#106629](https://github.com/getsentry/sentry/pull/106629)\n- Default test_post_process.py to workflow engine by @cathteng in [#106598](https://github.com/getsentry/sentry/pull/106598)\n- Default tests to workflow engine by @cathteng in [#106589](https://github.com/getsentry/sentry/pull/106589)\n- Add back subscription processor EAP test by @ceorourke in [#105866](https://github.com/getsentry/sentry/pull/105866)\n- Use rule test factory by @cathteng in [#106431](https://github.com/getsentry/sentry/pull/106431)\n- Create default detectors in tests by @cathteng in [#106404](https://github.com/getsentry/sentry/pull/106404)\n- Default tests to dual write by @cathteng in [#106386](https://github.com/getsentry/sentry/pull/106386)\n- Make latest workflow fire queries reliably fast by @kcons in [#106400](https://github.com/getsentry/sentry/pull/106400)\n- Remove unused detector workflow endpoints by @ceorourke in [#106328](https://github.com/getsentry/sentry/pull/106328)\n\n#### Agent\n\n- Move node onboarding to its own file & clean-up by @priscilawebdev in [#106946](https://github.com/getsentry/sentry/pull/106946)\n- Create onboarding for client-side only by @priscilawebdev in [#106758](https://github.com/getsentry/sentry/pull/106758)\n\n#### Agents\n\n- Prefetch and load drawer independently of trace's table by @priscilawebdev in [#107663](https://github.com/getsentry/sentry/pull/107663)\n- Remove ai-insights-generations-page feature flag by @priscilawebdev in [#107481](https://github.com/getsentry/sentry/pull/107481)\n- Add code comment with explanations by @priscilawebdev in [#107319](https://github.com/getsentry/sentry/pull/107319)\n\n#### Alerts\n\n- Remove deprecatedRouteProps from metricAlertRuleDetails route by @ryan953 in [#106348](https://github.com/getsentry/sentry/pull/106348)\n- Migrate issue `AlertRuleDetails` view off of `deprecatedRouteProps` by @shashjar in [#106473](https://github.com/getsentry/sentry/pull/106473)\n- Migrate `AlertsContainer` and children views off of `deprecatedRouteProps` by @shashjar in [#106421](https://github.com/getsentry/sentry/pull/106421)\n- Increase max rollup constants by @nikkikapadia in [#106397](https://github.com/getsentry/sentry/pull/106397)\n\n#### Api\n\n- Deprecate last plugin webhook endpoints by @cvxluo in [#107296](https://github.com/getsentry/sentry/pull/107296)\n- Deprecate non-org-scoped accept-project-transfer endpoint by @cvxluo in [#107209](https://github.com/getsentry/sentry/pull/107209)\n- Remove deprecated crossdomain.xml endpoint by @cvxluo in [#107293](https://github.com/getsentry/sentry/pull/107293)\n- Deprecate non-org-scoped group external issue details endpoint by @roggenkemper in [#106791](https://github.com/getsentry/sentry/pull/106791)\n- Update group-details test mock URLs to org-scoped pattern by @roggenkemper in [#106869](https://github.com/getsentry/sentry/pull/106869)\n- Update group-event-details URLs to org-scoped pattern by @roggenkemper in [#106871](https://github.com/getsentry/sentry/pull/106871)\n- Update group-activities test mock URLs to org-scoped pattern by @roggenkemper in [#106870](https://github.com/getsentry/sentry/pull/106870)\n- Deprecate non-org-scoped group external issues endpoint by @roggenkemper in [#106792](https://github.com/getsentry/sentry/pull/106792)\n- Deprecate non-org-scoped group autofix endpoint by @roggenkemper in [#106668](https://github.com/getsentry/sentry/pull/106668)\n- Deprecate non-org-scoped group autofix update endpoint by @roggenkemper in [#106666](https://github.com/getsentry/sentry/pull/106666)\n- Deprecate legacy autofix setup endpoint URL by @roggenkemper in [#106663](https://github.com/getsentry/sentry/pull/106663)\n- Deprecate legacy ai summary endpoint URL by @roggenkemper in [#106662](https://github.com/getsentry/sentry/pull/106662)\n- Deprecate plugin endpoints by @roggenkemper in [#106601](https://github.com/getsentry/sentry/pull/106601)\n- Deprecate non-org-scoped group integration details endpoint by @roggenkemper in [#106789](https://github.com/getsentry/sentry/pull/106789)\n- Deprecate non-org-scoped group integrations endpoint by @roggenkemper in [#106790](https://github.com/getsentry/sentry/pull/106790)\n- Deprecate legacy group-note-details endpoint URL by @roggenkemper in [#106608](https://github.com/getsentry/sentry/pull/106608)\n- Deprecate non-org-scoped group-similar endpoint by @roggenkemper in [#106684](https://github.com/getsentry/sentry/pull/106684)\n- Deprecate non-org-scoped group-attachments endpoint by @roggenkemper in [#106687](https://github.com/getsentry/sentry/pull/106687)\n- Deprecate non-org-scoped group-user-reports endpoint by @roggenkemper in [#106690](https://github.com/getsentry/sentry/pull/106690)\n- Deprecate non-org-scoped group reprocessing endpoint by @roggenkemper in [#106693](https://github.com/getsentry/sentry/pull/106693)\n- Deprecate non-org-scoped group hashes endpoint by @roggenkemper in [#106697](https://github.com/getsentry/sentry/pull/106697)\n- Update frontend test to use org-scoped similar endpoint URLs by @roggenkemper in [#106685](https://github.com/getsentry/sentry/pull/106685)\n- Update group hashes mock URLs to org-scoped by @roggenkemper in [#106696](https://github.com/getsentry/sentry/pull/106696)\n- Deprecate non-org-scoped group-current-release endpoint by @roggenkemper in [#106694](https://github.com/getsentry/sentry/pull/106694)\n- Deprecate legacy group-notes endpoint URL by @roggenkemper in [#106609](https://github.com/getsentry/sentry/pull/106609)\n- Deprecate non-org-scoped similar-issues-embeddings endpoint by @roggenkemper in [#106673](https://github.com/getsentry/sentry/pull/106673)\n- Update suspect flags/tags tests to use org-scoped URLs by @roggenkemper in [#106587](https://github.com/getsentry/sentry/pull/106587)\n\n#### Autofix\n\n- Add BQ analytics events for the automation tasks by @Mihir-Mavalankar in [#107716](https://github.com/getsentry/sentry/pull/107716)\n- Use low intelligence level for autofix by @Zylphrex in [#107620](https://github.com/getsentry/sentry/pull/107620)\n- Use low intelligence level for autofix by default by @Zylphrex in [#107619](https://github.com/getsentry/sentry/pull/107619)\n- Pass prompt metadata for explorer autofix by @Zylphrex in [#107435](https://github.com/getsentry/sentry/pull/107435)\n- Track issue age since first seen for new automation by @Mihir-Mavalankar in [#107461](https://github.com/getsentry/sentry/pull/107461)\n- Tweak prompts to always write the artifact by @Zylphrex in [#107427](https://github.com/getsentry/sentry/pull/107427)\n- Use random intelligence level for explorer autofix by @Zylphrex in [#107353](https://github.com/getsentry/sentry/pull/107353)\n- Hide solution option if coding already done by @roaga in [#106409](https://github.com/getsentry/sentry/pull/106409)\n- Less annoying five whys by @roaga in [#106407](https://github.com/getsentry/sentry/pull/106407)\n\n#### Autopilot\n\n- Remove source_root from missing SDK integration detector by @ArthurKnaus in [#108119](https://github.com/getsentry/sentry/pull/108119)\n- Split tasks.py into separate detector modules by @ArthurKnaus in [#107659](https://github.com/getsentry/sentry/pull/107659)\n- Limit missing integration detector to JS and python by @ArthurKnaus in [#107398](https://github.com/getsentry/sentry/pull/107398)\n- Break trace propagation for spawned detector tasks by @vgrozdanic in [#107323](https://github.com/getsentry/sentry/pull/107323)\n- Split integration detector into per project tasks by @ArthurKnaus in [#107239](https://github.com/getsentry/sentry/pull/107239)\n- Use medium agent intelligence level by @ArthurKnaus in [#107220](https://github.com/getsentry/sentry/pull/107220)\n- Increase detector time interval by @ArthurKnaus in [#107219](https://github.com/getsentry/sentry/pull/107219)\n- Simplify missing integration detector prompt by @ArthurKnaus in [#107060](https://github.com/getsentry/sentry/pull/107060)\n\n#### Billing\n\n- Removed prevent user and prevent review references(BIL-2092) by @krithikravi in [#107567](https://github.com/getsentry/sentry/pull/107567)\n- Remove deprecated performance promo frontend by @cvxluo in [#107386](https://github.com/getsentry/sentry/pull/107386)\n- Replace seer-user-billing with launch flag by @brendanhsentry in [#107351](https://github.com/getsentry/sentry/pull/107351)\n- Remove seer-user-billing flag by @brendanhsentry in [#106982](https://github.com/getsentry/sentry/pull/106982)\n- Rename \"Size Analysis Uploads\" to \"Size Analysis Builds\" by @dashed in [#106813](https://github.com/getsentry/sentry/pull/106813)\n- Add constants for emerge by @vbro in [#106235](https://github.com/getsentry/sentry/pull/106235)\n- Refactoring seat methods in quotas.py to not use data_category by @krithikravi in [#106331](https://github.com/getsentry/sentry/pull/106331)\n\n#### Cells\n\n- Convert internal-project-config endpoint to internal by @cvxluo in [#107301](https://github.com/getsentry/sentry/pull/107301)\n- Convert relay endpoints to internal by @cvxluo in [#107198](https://github.com/getsentry/sentry/pull/107198)\n- Deprecate non-org-scoped related-issues endpoint by @cvxluo in [#107180](https://github.com/getsentry/sentry/pull/107180)\n- Update miscellaneous python tests to use org-scoped group endpoint URLs by @mifu67 in [#106927](https://github.com/getsentry/sentry/pull/106927)\n- Update remaining frontend tests to use org-scoped endpoint URLs by @mifu67 in [#106928](https://github.com/getsentry/sentry/pull/106928)\n- Deprecate group-tag-key-details endpoint by @mifu67 in [#106920](https://github.com/getsentry/sentry/pull/106920)\n- Deprecate group-tag-key-values endpoint by @mifu67 in [#106904](https://github.com/getsentry/sentry/pull/106904)\n- Update frontend group-tags code to use correct org-scoped URL by @mifu67 in [#106730](https://github.com/getsentry/sentry/pull/106730)\n- Deprecate group-tags endpoint by @mifu67 in [#106728](https://github.com/getsentry/sentry/pull/106728)\n- Deprecate group-stats endpoint by @mifu67 in [#106719](https://github.com/getsentry/sentry/pull/106719)\n- Deprecate group-event-details endpoint by @mifu67 in [#106698](https://github.com/getsentry/sentry/pull/106698)\n- Update frontend group-details tests to use correct org-scoped URL by @mifu67 in [#106701](https://github.com/getsentry/sentry/pull/106701)\n- Deprecate group-events endpoint by @mifu67 in [#106644](https://github.com/getsentry/sentry/pull/106644)\n- Deprecate group-details endpoint by @mifu67 in [#106613](https://github.com/getsentry/sentry/pull/106613)\n- Deprecate group-activities endpoint by @mifu67 in [#106631](https://github.com/getsentry/sentry/pull/106631)\n- Remove relay.public_keys.post capture message by @markstory in [#106542](https://github.com/getsentry/sentry/pull/106542)\n- Use isCellScoped for user customers endpoint by @evanpurkhiser in [#106457](https://github.com/getsentry/sentry/pull/106457)\n\n#### Ci\n\n- Ignore `ruff` reformatting commit in Git Blame by @shashjar in [#108202](https://github.com/getsentry/sentry/pull/108202)\n- Run tsgo (optional) in ci by @natemoo-re in [#107433](https://github.com/getsentry/sentry/pull/107433)\n\n#### Code Review\n\n- Add date_updated and date_added columns to RepositorySettings by @srest2021 in [#106977](https://github.com/getsentry/sentry/pull/106977)\n- Reorder contributor seat check to avoid unnecessary seat-based-seer-enabled calls by @srest2021 in [#106724](https://github.com/getsentry/sentry/pull/106724)\n\n#### Code Review\n\n- Log GH -> seer request time by @kddubey in [#107834](https://github.com/getsentry/sentry/pull/107834)\n- Add additional logging for sentry by @suejungshin in [#107823](https://github.com/getsentry/sentry/pull/107823)\n- Log code review request by @kddubey in [#107445](https://github.com/getsentry/sentry/pull/107445)\n- Remove non-validated payloads path by @armenzg in [#107237](https://github.com/getsentry/sentry/pull/107237)\n- Remove deprecated consent rpcs by @suejung-sentry in [#107035](https://github.com/getsentry/sentry/pull/107035)\n- Delete prevent ai configuration v0 table by @suejung-sentry in [#107013](https://github.com/getsentry/sentry/pull/107013)\n\n---\n_This changelog has been truncated. See the [full changelog](https://github.com/getsentry/sentry/blob/58e754707b5adf070dfc982a4c99cb5a8123d66e/CHANGES#L1-L1862) for all changes._","publishedAt":"2026-02-18T21:42:29.000Z","fetchedAt":"2026-04-03T19:01:15.998Z","url":"https://github.com/getsentry/sentry/releases/tag/26.2.0","media":[],"coverageCount":0},{"id":"rel_uBw0EtVcb1P2otUPLU4N0","version":"26.1.0","type":"feature","title":"26.1.0","summary":"### New Features ✨\n\n#### Aci\n\n- Add warning message when action is not compatible with metric detectors by @malwilley in [#106240](https://github.com/...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- Add warning message when action is not compatible with metric detectors by @malwilley in [#106240](https://github.com/getsentry/sentry/pull/106240)\n- Add info about all issues exclusions by @malwilley in [#106271](https://github.com/getsentry/sentry/pull/106271)\n- Add sorting for connected alerts by @malwilley in [#106109](https://github.com/getsentry/sentry/pull/106109)\n- Add search input to connected alerts list by @malwilley in [#106052](https://github.com/getsentry/sentry/pull/106052)\n- Add documentation for OrganizationDetectorIndexEndpoint GET by @ceorourke in [#106025](https://github.com/getsentry/sentry/pull/106025)\n- Workflow API sort by priority detector ID by @malwilley in [#105976](https://github.com/getsentry/sentry/pull/105976)\n- Implement new table design for connected alerts by @malwilley in [#105934](https://github.com/getsentry/sentry/pull/105934)\n- Set up resolution condition for use in UI by @malwilley in [#105156](https://github.com/getsentry/sentry/pull/105156)\n- Add inline alert creation inside monitor form by @malwilley in [#105765](https://github.com/getsentry/sentry/pull/105765)\n- Add ability to filter workflows by connected detectors by @malwilley in [#105695](https://github.com/getsentry/sentry/pull/105695)\n\n#### Ai Conversations\n\n- Add attributes by @obostjancic in [#106355](https://github.com/getsentry/sentry/pull/106355)\n- User column by @obostjancic in [#105890](https://github.com/getsentry/sentry/pull/105890)\n- User data by @obostjancic in [#105889](https://github.com/getsentry/sentry/pull/105889)\n\n#### Alerts\n\n- Add support for trace metrics alert type by @k-fish in [#104901](https://github.com/getsentry/sentry/pull/104901)\n- Migrate alert wizard off deprecatedRouterMocks by @scttcper in [#105508](https://github.com/getsentry/sentry/pull/105508)\n\n#### Api\n\n- Enhance AI conversation attributes in details endpoint by @constantinius in [#106164](https://github.com/getsentry/sentry/pull/106164)\n- Add endpoint for AI conversation details by @constantinius in [#106071](https://github.com/getsentry/sentry/pull/106071)\n\n#### Autofix\n\n- Support query param to switch autofix mode by @Zylphrex in [#106090](https://github.com/getsentry/sentry/pull/106090)\n- Implement operator/entrypoint for seer workflows by @leeandher in [#105344](https://github.com/getsentry/sentry/pull/105344)\n\n#### Autopilot\n\n- POC autofix by @ArthurKnaus in [#106370](https://github.com/getsentry/sentry/pull/106370)\n- POC UI for instrumentation issues by @ArthurKnaus in [#106359](https://github.com/getsentry/sentry/pull/106359)\n- Improve issue creation by @ArthurKnaus in [#106353](https://github.com/getsentry/sentry/pull/106353)\n- Create instrumentation issues by @ArthurKnaus in [#106249](https://github.com/getsentry/sentry/pull/106249)\n- Boost integration detector to 10 minutes in [#105596](https://github.com/getsentry/sentry/pull/105596)\n- Missing SDK integration detector in [#105595](https://github.com/getsentry/sentry/pull/105595)\n\n#### Code Review\n\n- Support options & white listed orgs by @armenzg in [#106205](https://github.com/getsentry/sentry/pull/106205)\n- Use GitHub org names whitelisting for testing by @armenzg in [#105844](https://github.com/getsentry/sentry/pull/105844)\n- Forward pull_request events to Seer by @armenzg in [#105740](https://github.com/getsentry/sentry/pull/105740)\n- Handle issue comment command in [#105527](https://github.com/getsentry/sentry/pull/105527)\n- Support sending webhook events to Seer by @armenzg in [#105393](https://github.com/getsentry/sentry/pull/105393)\n\n#### Dashboards\n\n- Always link to transaction summary from transaction field by @DominikB2014 in [#106116](https://github.com/getsentry/sentry/pull/106116)\n- Update jobs chart to be a line chart by @DominikB2014 in [#106081](https://github.com/getsentry/sentry/pull/106081)\n- Convert Widget Builder dataset selector to a dropdown by @gggritso in [#105928](https://github.com/getsentry/sentry/pull/105928)\n- Add `excludePrebuilt` filter to dashboards endpoint by @DominikB2014 in [#105946](https://github.com/getsentry/sentry/pull/105946)\n- Update backend title for domain dashboard by @DominikB2014 in [#105917](https://github.com/getsentry/sentry/pull/105917)\n- Update domain page title by @DominikB2014 in [#105916](https://github.com/getsentry/sentry/pull/105916)\n- Allow prebuilt dashboards to hardcode units by @DominikB2014 in [#105743](https://github.com/getsentry/sentry/pull/105743)\n- Fill in Mobile Vitals pre-built dashboards by @gggritso in [#105757](https://github.com/getsentry/sentry/pull/105757)\n- Display http response codes as fraction in prebuilt dashboard by @DominikB2014 in [#105820](https://github.com/getsentry/sentry/pull/105820)\n- Create prebuilt dashboard for backend overview by @DominikB2014 in [#105719](https://github.com/getsentry/sentry/pull/105719)\n- Convert user.geo.subregion from numeric to string version by @DominikB2014 in [#105639](https://github.com/getsentry/sentry/pull/105639)\n- Support http spans in details component in [#105545](https://github.com/getsentry/sentry/pull/105545)\n- Register http module prebuilt dashboards in [#105497](https://github.com/getsentry/sentry/pull/105497)\n- Registers insights-web-vitals-dashboard-migration flag by @edwardgou-sentry in [#105483](https://github.com/getsentry/sentry/pull/105483)\n- Adds support for linking slideouts to prebuilt dashboard widgets by @edwardgou-sentry in [#105353](https://github.com/getsentry/sentry/pull/105353)\n- Add preferredPolarity to widget thresholds serializer by @edwardgou-sentry in [#105407](https://github.com/getsentry/sentry/pull/105407)\n- Adds core web vitals samples tables to prebuilt Web Vitals dashboard by @edwardgou-sentry in [#105438](https://github.com/getsentry/sentry/pull/105438)\n- Registers Web Vitals page summary prebuilt dashboard by @edwardgou-sentry in [#105439](https://github.com/getsentry/sentry/pull/105439)\n- Adds a feature flag to enable synchronizing all prebuilt dashboards by @edwardgou-sentry in [#105429](https://github.com/getsentry/sentry/pull/105429)\n- Adds Issue table prebuilt Web Vitals dashboard by @edwardgou-sentry in [#105402](https://github.com/getsentry/sentry/pull/105402)\n- Adds positive polarity render support for Big Number widgets by @edwardgou-sentry in [#105405](https://github.com/getsentry/sentry/pull/105405)\n\n#### Dynamic Grouping\n\n- Add current issue information to stack trace by @scttcper in [#106138](https://github.com/getsentry/sentry/pull/106138)\n- Remove card tabs, add view details by @scttcper in [#106133](https://github.com/getsentry/sentry/pull/106133)\n- Allow clicking top issue card to view more by @scttcper in [#105776](https://github.com/getsentry/sentry/pull/105776)\n- Add Cluster ID to the Cluster card title by @yuvmen in [#105404](https://github.com/getsentry/sentry/pull/105404)\n\n#### Dynamic Groups\n\n- Move issue cluster details into drawer by @scttcper in [#106028](https://github.com/getsentry/sentry/pull/106028)\n- Add progress bar to aggregate tags by @scttcper in [#105878](https://github.com/getsentry/sentry/pull/105878)\n\n#### Explorer\n\n- Add coding agent handoff UI for explorer autofix by @roaga in [#105873](https://github.com/getsentry/sentry/pull/105873)\n- Add coding agent handoff support to explorer client by @roaga in [#105872](https://github.com/getsentry/sentry/pull/105872)\n- Add span.status_code to trace waterfall data by @roaga in [#106021](https://github.com/getsentry/sentry/pull/106021)\n- Share chat links by @aliu39 in [#105376](https://github.com/getsentry/sentry/pull/105376)\n- Create new conduit channel for explorer to use streaming in [#105585](https://github.com/getsentry/sentry/pull/105585)\n\n#### Grouping\n\n- Add clearer component ignoring test inputs by @lobsterkatie in [#105843](https://github.com/getsentry/sentry/pull/105843)\n- Add test input where all exceptions are groups by @lobsterkatie in [#105666](https://github.com/getsentry/sentry/pull/105666)\n\n#### Issues\n\n- Add InstrumentationIssueExperimentalGroupType by @ArthurKnaus in [#105988](https://github.com/getsentry/sentry/pull/105988)\n- Add details to current event marker tooltip by @scttcper in [#106204](https://github.com/getsentry/sentry/pull/106204)\n- AI Search by @aayush-se in [#105768](https://github.com/getsentry/sentry/pull/105768)\n- GA streamlined issue actions, backport to old ui by @scttcper in [#105863](https://github.com/getsentry/sentry/pull/105863)\n- Add copy breadcrumbs to clipboard button in [#105007](https://github.com/getsentry/sentry/pull/105007)\n- Add stack trace, tags to top issues by @scttcper in [#105466](https://github.com/getsentry/sentry/pull/105466)\n- Protect GroupResolutions from release cleanup by @scttcper in [#105444](https://github.com/getsentry/sentry/pull/105444)\n\n#### Occurrences On Eap\n\n- Implement double reads of bucketed group counts by @shashjar in [#105691](https://github.com/getsentry/sentry/pull/105691)\n- Implement timeseries query support by @shashjar in [#105685](https://github.com/getsentry/sentry/pull/105685)\n- Implement EAP read for retrieving top issues by event count by @shashjar in [#105460](https://github.com/getsentry/sentry/pull/105460)\n- Implement EAP read for trace-connected issues in related issues calculation in [#105459](https://github.com/getsentry/sentry/pull/105459)\n- Implement EAP read for error counts in suspect tag calculation by @shashjar in [#104916](https://github.com/getsentry/sentry/pull/104916)\n\n#### Preprod\n\n- Support min aggregation and standardize enum naming by @trevor-e in [#106269](https://github.com/getsentry/sentry/pull/106269)\n- Remove reads from deprecated fields and use PreprodArtifactMobileAppInfo table by @rbro112 in [#105847](https://github.com/getsentry/sentry/pull/105847)\n- Support free text search on /builds/ endpoint by @chromy in [#106202](https://github.com/getsentry/sentry/pull/106202)\n- More filter fields for search by @chromy in [#106171](https://github.com/getsentry/sentry/pull/106171)\n- Add basic admin debug actions to buildDetails error UI by @rbro112 in [#106149](https://github.com/getsentry/sentry/pull/106149)\n- Add flag for dashboard toggle by @trevor-e in [#106054](https://github.com/getsentry/sentry/pull/106054)\n- Add Project options for size/distro filters by @chromy in [#106069](https://github.com/getsentry/sentry/pull/106069)\n- Add backfill migration for PreprodArtifactMobileAppInfo by @rbro112 in [#105883](https://github.com/getsentry/sentry/pull/105883)\n- Add preprod size metrics backend dataset support by @trevor-e in [#105845](https://github.com/getsentry/sentry/pull/105845)\n- Add PreprodArtifactMobileAppInfo creation to write path by @rbro112 in [#105846](https://github.com/getsentry/sentry/pull/105846)\n- [frontend] Add first iteration of size status checks settings UI by @NicoHinderling in [#105875](https://github.com/getsentry/sentry/pull/105875)\n- Add size status check project config values to project endpoints by @NicoHinderling in [#105874](https://github.com/getsentry/sentry/pull/105874)\n- Add PreprodArtifactMobileAppInfo to enable decoupling of mobile app specific info from PreprodArtifact by @rbro112 in [#105731](https://github.com/getsentry/sentry/pull/105731)\n- Add platform name to eap data by @trevor-e in [#105869](https://github.com/getsentry/sentry/pull/105869)\n- Add new /builds/ endpoint by @chromy in [#105797](https://github.com/getsentry/sentry/pull/105797)\n- Add treemap diff UI by @chromy in [#105331](https://github.com/getsentry/sentry/pull/105331)\n- Add preprod distribution display table by @mtopo27 in [#105554](https://github.com/getsentry/sentry/pull/105554)\n- Add preprod display toggle plumbing by @mtopo27 in [#105553](https://github.com/getsentry/sentry/pull/105553)\n- Display version and build number in build comparison list (EME-489) by @runningcode in [#105628](https://github.com/getsentry/sentry/pull/105628)\n- Write build distribution data to EAP in [#105544](https://github.com/getsentry/sentry/pull/105544)\n- [frontend] add support for multiproject build list UI in [#105396](https://github.com/getsentry/sentry/pull/105396)\n- Add dropdown button to re-run status check by @trevor-e in [#105535](https://github.com/getsentry/sentry/pull/105535)\n- Add API to re-run status checks by @trevor-e in [#105484](https://github.com/getsentry/sentry/pull/105484)\n- Create new multiproject list builds endpoint by @NicoHinderling in [#105395](https://github.com/getsentry/sentry/pull/105395)\n- Show success/failure status check UI by @trevor-e in [#105442](https://github.com/getsentry/sentry/pull/105442)\n- Add copy url button by @mtopo27 in [#105432](https://github.com/getsentry/sentry/pull/105432)\n- Add header to install pages by @mtopo27 in [#105430](https://github.com/getsentry/sentry/pull/105430)\n\n#### Projects\n\n- Warn about eventual removal of Project Details by @bcoe in [#105617](https://github.com/getsentry/sentry/pull/105617)\n- Convert missingProjectMembership to FC, restyle by @scttcper in [#104734](https://github.com/getsentry/sentry/pull/104734)\n\n#### Releases\n\n- Allow filtering releases by created date by @scttcper in [#106019](https://github.com/getsentry/sentry/pull/106019)\n- Support filtering by `release.created` by @scttcper in [#104877](https://github.com/getsentry/sentry/pull/104877)\n\n#### Replay\n\n- Remove flag `replay-details-new-ui` by @billyvg in [#105694](https://github.com/getsentry/sentry/pull/105694)\n- Add pagination to Playlist view by @billyvg in [#105701](https://github.com/getsentry/sentry/pull/105701)\n- Update design of replay breadcrumbs by @billyvg in [#105671](https://github.com/getsentry/sentry/pull/105671)\n- Add an Alert in playlist tab when there is a query by @billyvg in [#105690](https://github.com/getsentry/sentry/pull/105690)\n\n#### Replays\n\n- Add REPLAYS dataset to ExploreSavedQueryDataset by @billyvg in [#106008](https://github.com/getsentry/sentry/pull/106008)\n- Replace playlist Alert with search input by @billyvg in [#105807](https://github.com/getsentry/sentry/pull/105807)\n- Further reduce header size by @jerryzhou196 in [#104246](https://github.com/getsentry/sentry/pull/104246)\n\n#### Search Bar\n\n- Add support for explicit boolean tags by @nsdeschenes in [#105606](https://github.com/getsentry/sentry/pull/105606)\n- Add/Update type hints by @nsdeschenes in [#105602](https://github.com/getsentry/sentry/pull/105602)\n\n#### Seer\n\n- Auto-continue from solution to code changes by @leeandher in [#106029](https://github.com/getsentry/sentry/pull/106029)\n- Fix disabled states & tweak design of Seer Projects settings page by @ryan953 in [#106058](https://github.com/getsentry/sentry/pull/106058)\n- Add code review webhooks task by @seer-by-sentry in [#105909](https://github.com/getsentry/sentry/pull/105909)\n- Design nit fixes for onboarding by @billyvg in [#105736](https://github.com/getsentry/sentry/pull/105736)\n- Project Settings page revamp: AI Code Review section by @ryan953 in [#105518](https://github.com/getsentry/sentry/pull/105518)\n\n#### Sentry Apps\n\n- Add delete_external_issue to region RPC service by @leeandher in [#106279](https://github.com/getsentry/sentry/pull/106279)\n- Add create_external_issue to region RPC service by @leeandher in [#106278](https://github.com/getsentry/sentry/pull/106278)\n- Add create_issue_link to region RPC service by @leeandher in [#106277](https://github.com/getsentry/sentry/pull/106277)\n- Add region RPC service with get_select_options by @leeandher in [#106276](https://github.com/getsentry/sentry/pull/106276)\n\n#### Stories\n\n- Simplified sidebar by @natemoo-re in [#104611](https://github.com/getsentry/sentry/pull/104611)\n- Add tokens page by @natemoo-re in [#105507](https://github.com/getsentry/sentry/pull/105507)\n\n#### Timeseries\n\n- Add api docs for the timeseries endpoint by @wmak in [#105668](https://github.com/getsentry/sentry/pull/105668)\n- Add ratelimits to the timeseries endpoint by @wmak in [#105693](https://github.com/getsentry/sentry/pull/105693)\n\n#### Toolbar\n\n- Return the CSRF token into the toolbar auth flow for use by @ryan953 in [#106059](https://github.com/getsentry/sentry/pull/106059)\n- Bump the version of the toolbar that we load up for employees by @ryan953 in [#105920](https://github.com/getsentry/sentry/pull/105920)\n\n#### Top Issues\n\n- Add experimental badge to Top Issues page by @cvxluo in [#106237](https://github.com/getsentry/sentry/pull/106237)\n- Show code change when available by @cvxluo in [#105475](https://github.com/getsentry/sentry/pull/105475)\n- Single card view by @cvxluo in [#105437](https://github.com/getsentry/sentry/pull/105437)\n\n#### Tracemetrics\n\n- Add ruby to supported platforms by @narsaynorath in [#106262](https://github.com/getsentry/sentry/pull/106262)\n- Add \"All Metrics\" option to Add to Dashboard by @narsaynorath in [#106190](https://github.com/getsentry/sentry/pull/106190)\n- Support multiple widgets passed to addToDashboard by @narsaynorath in [#106016](https://github.com/getsentry/sentry/pull/106016)\n- Handle sort resets for visualize changes by @narsaynorath in [#105643](https://github.com/getsentry/sentry/pull/105643)\n- Add Big Number visualization in [#105567](https://github.com/getsentry/sentry/pull/105567)\n- Add Open in Metrics action by @narsaynorath in [#105531](https://github.com/getsentry/sentry/pull/105531)\n- Implement Add to Dashboard by @narsaynorath in [#105436](https://github.com/getsentry/sentry/pull/105436)\n\n#### Uptime\n\n- Expose uptime-runtime-assertions flag to UI by @evanpurkhiser in [#106213](https://github.com/getsentry/sentry/pull/106213)\n- Add uptime assertion builder by @evanpurkhiser in [#105842](https://github.com/getsentry/sentry/pull/105842)\n- Add uptime test endpoint by @klochek in [#104969](https://github.com/getsentry/sentry/pull/104969)\n- Add consumer-side queueing for out-of-order results by @wedamija in [#105782](https://github.com/getsentry/sentry/pull/105782)\n- Add task-based retry for out-of-order backlog processing by @wedamija in [#105763](https://github.com/getsentry/sentry/pull/105763)\n\n#### Other\n\n- (ai-conversation) Display tool calls in conversation by @obostjancic in [#106066](https://github.com/getsentry/sentry/pull/106066)\n- (ai-insights) Ai agent onboarding prompt by @obostjancic in [#105907](https://github.com/getsentry/sentry/pull/105907)\n- (ai-monitoring) Add cache write cost tracking for AI models by @shellmayr in [#106070](https://github.com/getsentry/sentry/pull/106070)\n- (attributes) Add endpoint to return attribute mappings by @nsdeschenes in [#106024](https://github.com/getsentry/sentry/pull/106024)\n- (billing) Add missing org slug to billing links by @scttcper in [#105942](https://github.com/getsentry/sentry/pull/105942)\n- (cells) Add logging to verify endpoint usage by @lynnagara in [#105943](https://github.com/getsentry/sentry/pull/105943)\n- (ci) Setup-sentry skip-devservices mode by @joshuarli in [#105774](https://github.com/getsentry/sentry/pull/105774)\n- (claude) Add mypy to claude by @chromy in [#105824](https://github.com/getsentry/sentry/pull/105824)\n- (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)\n- (crons-detector-schedule-preview) Generating schedule ticks by window and marking threshold regions by @Abdkhan14 in [#106263](https://github.com/getsentry/sentry/pull/106263)\n- (data secrecy v2) Update `WaiveDataSecrecyEndpoint` to use `DataAccessGrant` model by @mifu67 in [#100154](https://github.com/getsentry/sentry/pull/100154)\n- (detectors) Preserve page filters + env in DetectorLink by @evanpurkhiser in [#105055](https://github.com/getsentry/sentry/pull/105055)\n- (eap-resolver) Support between operator by @DominikB2014 in [#105538](https://github.com/getsentry/sentry/pull/105538)\n- (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)\n- (Errors) AI Search by @aayush-se in [#105892](https://github.com/getsentry/sentry/pull/105892)\n- (feedback) Add a button to the feedback page so people can create Alerts by @ryan953 in [#106084](https://github.com/getsentry/sentry/pull/106084)\n- (hybrid) Allow Identity model to be used as HCFK by @alexsohn1126 in [#105339](https://github.com/getsentry/sentry/pull/105339)\n- (infra) Dynamic sharding by @rbro112 in [#105706](https://github.com/getsentry/sentry/pull/105706)\n- (ingest-metrics) Add option to count segment spans as transactions by @Dav1dde in [#106072](https://github.com/getsentry/sentry/pull/106072)\n- (integrations) Encrypt integration metadata field by @vgrozdanic in [#106163](https://github.com/getsentry/sentry/pull/106163)\n- (issue search) Enable fallback to truncation of group IDs for all Snuba queries by @shashjar in [#105663](https://github.com/getsentry/sentry/pull/105663)\n- (llm-detector) Add Redis for de-deduplication by @roggenkemper in [#105910](https://github.com/getsentry/sentry/pull/105910)\n- (logs) AI Search by @aayush-se in [#105786](https://github.com/getsentry/sentry/pull/105786)\n- (oauth) Implement OAuth 2.0 Device Authorization Flow (RFC 8628) by @dcramer in [#105675](https://github.com/getsentry/sentry/pull/105675)\n- (objectstore) Temporarily log request info by @lcian in [#106063](https://github.com/getsentry/sentry/pull/106063)\n- (onboarding) Add ruby metrics by @sl0thentr0py in [#105798](https://github.com/getsentry/sentry/pull/105798)\n- (ownership) Migrate issue owners cache invalidation to use timestamp versioning on ownership by @shashjar in [#106108](https://github.com/getsentry/sentry/pull/106108)\n- (rpc) Tag response logs with organization_id by @narsaynorath in [#105400](https://github.com/getsentry/sentry/pull/105400)\n- (scraps) RenderToString util by @TkDodo in [#106252](https://github.com/getsentry/sentry/pull/106252)\n- (sdk-integration-detector) Structured prompt by @ArthurKnaus in [#105800](https://github.com/getsentry/sentry/pull/105800)\n- (search) Support explicit boolean tags by @nsdeschenes in [#106261](https://github.com/getsentry/sentry/pull/106261)\n- (security) Enable email notifications for leaked secrets by @oioki in [#105414](https://github.com/getsentry/sentry/pull/105414)\n- (seer explorer) Add new feature flag for streaming in [#105498](https://github.com/getsentry/sentry/pull/105498)\n- (seer-slack) Implement Slack Entrypoint for Seer Workflow by @leeandher in [#105367](https://github.com/getsentry/sentry/pull/105367)\n- (select-field) Update to not fire onBlur when toggling items by @priscilawebdev in [#105902](https://github.com/getsentry/sentry/pull/105902)\n- (testing) Add GitHub identity and provider factory for testing by @alexsohn1126 in [#105600](https://github.com/getsentry/sentry/pull/105600)\n- (trace) Replace old event breadcrumb section by @scttcper in [#106151](https://github.com/getsentry/sentry/pull/106151)\n- (traces) Reference measurements from `performance.traceOrigin` by @timfish in [#105903](https://github.com/getsentry/sentry/pull/105903)\n- (usage overview) Move trial CTA back to table by @isabellaenriquez in [#106082](https://github.com/getsentry/sentry/pull/106082)\n- (workflow engine) Issue type data condition handler (BE) by @mifu67 in [#105959](https://github.com/getsentry/sentry/pull/105959)\n- Add snapshots API scaffolding by @noahsmartin in [#105744](https://github.com/getsentry/sentry/pull/105744)\n- Type coverage diff by @TkDodo in [#105821](https://github.com/getsentry/sentry/pull/105821)\n- Add constants and default options for Game Console SDK invites by @alexsohn1126 in [#105225](https://github.com/getsentry/sentry/pull/105225)\n- Add a banner to the browser devtools in [#105486](https://github.com/getsentry/sentry/pull/105486)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- Handle ANY_SHORT_CIRCUIT condition in alert builder by @malwilley in [#106313](https://github.com/getsentry/sentry/pull/106313)\n- Use organization slug in notification links for single-written workflows by @malwilley in [#106280](https://github.com/getsentry/sentry/pull/106280)\n- Handle empty query from URL in monitor form by @malwilley in [#106219](https://github.com/getsentry/sentry/pull/106219)\n- Allow action interval of 0 mins by @ameliahsu in [#106143](https://github.com/getsentry/sentry/pull/106143)\n- Fix empty targetIdentifier for slack action by @ameliahsu in [#106136](https://github.com/getsentry/sentry/pull/106136)\n- Fix empty WHEN condition text on details page by @ameliahsu in [#106125](https://github.com/getsentry/sentry/pull/106125)\n- Fix `failure_rate` input suffix and placeholder by @ameliahsu in [#106111](https://github.com/getsentry/sentry/pull/106111)\n- Better handling for error monitor edit permissions by @malwilley in [#106050](https://github.com/getsentry/sentry/pull/106050)\n- Set failure rate y-axis range based on seriesMax and threshold by @ameliahsu in [#105962](https://github.com/getsentry/sentry/pull/105962)\n- Add ongoing issues list to uptime monitor page by @malwilley in [#106015](https://github.com/getsentry/sentry/pull/106015)\n- Use singular preferred detector in workflow processing round 2 by @cathteng in [#105865](https://github.com/getsentry/sentry/pull/105865)\n- Clip open period bubble overflow by @ameliahsu in [#105830](https://github.com/getsentry/sentry/pull/105830)\n- Hide link to all issues when metric alert uses invalid syntax by @malwilley in [#105834](https://github.com/getsentry/sentry/pull/105834)\n- \"View monitor details\" button should not replace url by @ameliahsu in [#105819](https://github.com/getsentry/sentry/pull/105819)\n- Don't process deleted workflows in process_delayed_workflows by @kcons in [#105784](https://github.com/getsentry/sentry/pull/105784)\n- Use notification_uuid from WorkflowFireHistory when sending notifications by @kcons in [#105471](https://github.com/getsentry/sentry/pull/105471)\n- Prevent error detector creation in the API by @cathteng in [#105722](https://github.com/getsentry/sentry/pull/105722)\n- Fetch buffered group stats by @cathteng in [#105608](https://github.com/getsentry/sentry/pull/105608)\n- Catch correct DoesNotExist error by @mifu67 in [#105678](https://github.com/getsentry/sentry/pull/105678)\n- Fire service hooks from workflow engine by @cathteng in [#105586](https://github.com/getsentry/sentry/pull/105586)\n\n#### Ai Insights\n\n- Set has_insights_agent_monitoring flag by @obostjancic in [#106258](https://github.com/getsentry/sentry/pull/106258)\n- Seer warning banner by @obostjancic in [#106177](https://github.com/getsentry/sentry/pull/106177)\n\n#### Alerts\n\n- Don't report invalid issue short names in queries as errors by @kcons in [#105541](https://github.com/getsentry/sentry/pull/105541)\n- Fix broken available-actions endpoint when an installation is deleted by @malwilley in [#105302](https://github.com/getsentry/sentry/pull/105302)\n\n#### Api\n\n- Add select_related to avoid N+1 query in releases POST by @scttcper in [#106340](https://github.com/getsentry/sentry/pull/106340)\n- Update GroupSearchViewSerializerResponse TypedDict for nullable createdBy by @evanpurkhiser in [#106185](https://github.com/getsentry/sentry/pull/106185)\n- Update AI conversation URL pattern to accept UUIDs by @constantinius in [#106162](https://github.com/getsentry/sentry/pull/106162)\n\n#### Auth\n\n- Detect SSO provider mismatch and fix 2FA redirect by @dcramer in [#106041](https://github.com/getsentry/sentry/pull/106041)\n- Pass organization context to resolve_email_to_user by @geoffg-sentry in [#106027](https://github.com/getsentry/sentry/pull/106027)\n\n#### Autofix\n\n- Include status code and URL in coding agent error messages by @JoshFerge in [#106267](https://github.com/getsentry/sentry/pull/106267)\n- Pass mode=legacy for legacy useAutofix by @Zylphrex in [#106112](https://github.com/getsentry/sentry/pull/106112)\n\n#### Billing\n\n- Handle Stripe elements not loading by @isabellaenriquez in [#106107](https://github.com/getsentry/sentry/pull/106107)\n- Set max image width in CTA by @brendanhsentry in [#105860](https://github.com/getsentry/sentry/pull/105860)\n- Handle undefined partner by @isabellaenriquez in [#105805](https://github.com/getsentry/sentry/pull/105805)\n- Remove prevent from notification settings by @brendanhsentry in [#105443](https://github.com/getsentry/sentry/pull/105443)\n\n#### Checkout\n\n- Scroll to step based on hash by @isabellaenriquez in [#105637](https://github.com/getsentry/sentry/pull/105637)\n- Success screen buttons should have same height in [#105604](https://github.com/getsentry/sentry/pull/105604)\n\n#### Code Mappings\n\n- Bad url parsing for Gitlab and Bitbucket by @cvxluo in [#105751](https://github.com/getsentry/sentry/pull/105751)\n- Handle malformed source path by @cvxluo in [#105683](https://github.com/getsentry/sentry/pull/105683)\n\n#### Code Review\n\n- Cut over to the Prevent Seer pods by @suejung-sentry in [#106230](https://github.com/getsentry/sentry/pull/106230)\n- Use integration client helper instead of raw client by @seer-by-sentry in [#106243](https://github.com/getsentry/sentry/pull/106243)\n- Use \"prevent\" deployment for code review by @suejung-sentry in [#106130](https://github.com/getsentry/sentry/pull/106130)\n- Unify metrics for easier dashboarding by @suejung-sentry in [#105984](https://github.com/getsentry/sentry/pull/105984)\n- Fix and more debugging by @armenzg in [#105996](https://github.com/getsentry/sentry/pull/105996)\n- Disable direct-to-seer ghe on-prem flow by @suejung-sentry in [#105985](https://github.com/getsentry/sentry/pull/105985)\n- Allow whitelisted orgs to have the task scheduled by @suejung-sentry in [#105884](https://github.com/getsentry/sentry/pull/105884)\n- Consolidate code review checks by @suejung-sentry in [#105561](https://github.com/getsentry/sentry/pull/105561)\n- Fix test regression in [#105632](https://github.com/getsentry/sentry/pull/105632)\n- Fix payload for Seer in [#105560](https://github.com/getsentry/sentry/pull/105560)\n- Look up code review beta orgs dynamically in [#105603](https://github.com/getsentry/sentry/pull/105603)\n- Event_type does not define the webhook type in [#105548](https://github.com/getsentry/sentry/pull/105548)\n- Fix config check for code review beta orgs by @suejung-sentry in [#105493](https://github.com/getsentry/sentry/pull/105493)\n\n#### Codeowners\n\n- Preview file button slightly cut off by @cvxluo in [#105762](https://github.com/getsentry/sentry/pull/105762)\n- Increase processing deadline duration & test coverage for `code_owners_auto_sync` task by @shashjar in [#105406](https://github.com/getsentry/sentry/pull/105406)\n\n#### Dashboards\n\n- Add All Metrics fails to add on first attempt by @narsaynorath in [#106371](https://github.com/getsentry/sentry/pull/106371)\n- Orderby reset incorrectly for TopN charts by @narsaynorath in [#106295](https://github.com/getsentry/sentry/pull/106295)\n- Consolidate network requests on Mobile Vitals page by @gggritso in [#105921](https://github.com/getsentry/sentry/pull/105921)\n- Add to dashboard persists page selection for create by @narsaynorath in [#106000](https://github.com/getsentry/sentry/pull/106000)\n- Dashboards frontend should filter out prebuilt dashboards when calculating limit by @DominikB2014 in [#105948](https://github.com/getsentry/sentry/pull/105948)\n- Prebuilt backend dashboard no data for cache by @DominikB2014 in [#105923](https://github.com/getsentry/sentry/pull/105923)\n- Normalize widget full screen view URL by @gggritso in [#105913](https://github.com/getsentry/sentry/pull/105913)\n- Dashboard link should include project by @DominikB2014 in [#105642](https://github.com/getsentry/sentry/pull/105642)\n- Add `/trace` route to dashboards in [#105633](https://github.com/getsentry/sentry/pull/105633)\n- Prebuilt domain summary not loading in [#105581](https://github.com/getsentry/sentry/pull/105581)\n- Corrects web vitals dashboard migration flag name by @edwardgou-sentry in [#105485](https://github.com/getsentry/sentry/pull/105485)\n- Remove linked dashboard flag check in field renderer by @DominikB2014 in [#105487](https://github.com/getsentry/sentry/pull/105487)\n\n#### Escalating Forecast\n\n- Bump down step size for generating forecast again by @cvxluo in [#106119](https://github.com/getsentry/sentry/pull/106119)\n- Bump down step size for generating forecasts by @cvxluo in [#105780](https://github.com/getsentry/sentry/pull/105780)\n\n#### Explore\n\n- Set correct height on spans sub table by @nsdeschenes in [#105530](https://github.com/getsentry/sentry/pull/105530)\n- Fix traces table header radii by @nsdeschenes in [#105482](https://github.com/getsentry/sentry/pull/105482)\n\n#### Explorer\n\n- Prevent QueryOutsideRetentionError in issue tool by @seer-by-sentry in [#106096](https://github.com/getsentry/sentry/pull/106096)\n- Select repos from prefs for cursor handoff by @roaga in [#106114](https://github.com/getsentry/sentry/pull/106114)\n- Add units and descriptions to on page context charts by @roaga in [#105930](https://github.com/getsentry/sentry/pull/105930)\n\n#### Grouping\n\n- Parameterize hard-coded values in Python process spawning code by @lobsterkatie in [#106142](https://github.com/getsentry/sentry/pull/106142)\n- Add rule source to stacktrace hints by @lobsterkatie in [#105968](https://github.com/getsentry/sentry/pull/105968)\n- Remove unclear component ignoring test inputs by @lobsterkatie in [#105849](https://github.com/getsentry/sentry/pull/105849)\n- Fix ignoring delete-and-discard bug by @lobsterkatie in [#105709](https://github.com/getsentry/sentry/pull/105709)\n- Handle case where all exceptions are groups by @lobsterkatie in [#105667](https://github.com/getsentry/sentry/pull/105667)\n\n#### Groupsnooze\n\n- Set debounce on Snuba failure to prevent rate limits by @roggenkemper in [#106322](https://github.com/getsentry/sentry/pull/106322)\n- Add cooldown cache to prevent Snuba rate limits by @roggenkemper in [#106189](https://github.com/getsentry/sentry/pull/106189)\n\n#### Insights\n\n- Display user misery loading state by @scttcper in [#106321](https://github.com/getsentry/sentry/pull/106321)\n- Create alert button broken insights/explore by @DominikB2014 in [#105841](https://github.com/getsentry/sentry/pull/105841)\n\n#### Issues\n\n- Handle repo names without owner prefix in coverage by @scttcper in [#105703](https://github.com/getsentry/sentry/pull/105703)\n- Fix padding on the Issue>Replay list by @ryan953 in [#105716](https://github.com/getsentry/sentry/pull/105716)\n- Fix TypeError on save event with None in tags by @yuvmen in [#105446](https://github.com/getsentry/sentry/pull/105446)\n\n#### Metrics\n\n- Filter out empty string metric names by @k-fish in [#106266](https://github.com/getsentry/sentry/pull/106266)\n- Disable extrapolation when getting count of telemetry by @Zylphrex in [#105714](https://github.com/getsentry/sentry/pull/105714)\n\n#### Preprocessing\n\n- Bump redirect-preprocess threshold by @thetruecpaul in [#105391](https://github.com/getsentry/sentry/pull/105391)\n- Get merged group_ids after intersections by @thetruecpaul in [#105385](https://github.com/getsentry/sentry/pull/105385)\n\n#### Preprod\n\n- Fix breadcrumb links on build pages (EME-720) by @runningcode in [#106186](https://github.com/getsentry/sentry/pull/106186)\n- Remove query when switching tabs by @chromy in [#106181](https://github.com/getsentry/sentry/pull/106181)\n- Hide missing git metadata while uploading by @cameroncooke in [#106103](https://github.com/getsentry/sentry/pull/106103)\n- Return JsonResponse instead of HttpResponse for error in artifact image endpoint by @runningcode in [#105715](https://github.com/getsentry/sentry/pull/105715)\n- Fix error response handling in size analysis download endpoint and frontend (EME-718) by @runningcode in [#105624](https://github.com/getsentry/sentry/pull/105624)\n- Use projectid for preprodBuilds list, not projectSlug by @NicoHinderling in [#105650](https://github.com/getsentry/sentry/pull/105650)\n- Standardize error responses to use `detail` key in compare download endpoint (EME-718) by @runningcode in [#105623](https://github.com/getsentry/sentry/pull/105623)\n- Avoid text overflow on diff hover by @chromy in [#105634](https://github.com/getsentry/sentry/pull/105634)\n- Send compare page index to 404 in [#105629](https://github.com/getsentry/sentry/pull/105629)\n- Display error for mismatched build configurations (EME-699) in [#105529](https://github.com/getsentry/sentry/pull/105529)\n\n#### Security\n\n- IDOR in OrganizationOnDemandRuleStatsEndpoint - scope Project by organization by @dcramer in [#104988](https://github.com/getsentry/sentry/pull/104988)\n- IDOR in OrganizationEventsEndpoint - scope DashboardWidget by organization by @dcramer in [#104987](https://github.com/getsentry/sentry/pull/104987)\n- IDOR in OrganizationEventsStatsEndpoint - scope DashboardWidget by organization by @dcramer in [#104986](https://github.com/getsentry/sentry/pull/104986)\n\n#### Seer\n\n- Fix repository lookup to handle renamed repos by @sehr-m in [#106129](https://github.com/getsentry/sentry/pull/106129)\n- Only show one tooltip to explain delegating background agents by @ryan953 in [#105967](https://github.com/getsentry/sentry/pull/105967)\n- Disable formatting of save toasts for Code Review triggers… by @ryan953 in [#105961](https://github.com/getsentry/sentry/pull/105961)\n- Update copy and add more help text to explain default settings by @ryan953 in [#105964](https://github.com/getsentry/sentry/pull/105964)\n- Add a border to the seer onboarding banner by @ryan953 in [#105972](https://github.com/getsentry/sentry/pull/105972)\n- Show \"Previous Step\" during step 5 of seer onboarding by @ryan953 in [#105965](https://github.com/getsentry/sentry/pull/105965)\n- Retry transient HTTP errors in get_anomaly_data Seer calls by @kcons in [#105854](https://github.com/getsentry/sentry/pull/105854)\n- Add retries to get_historical_anomaly_data_from_seer_preview seer requests in [#105542](https://github.com/getsentry/sentry/pull/105542)\n\n#### Stories\n\n- Remove global css by @natemoo-re in [#105738](https://github.com/getsentry/sentry/pull/105738)\n- `type` -> `variant` in [#105565](https://github.com/getsentry/sentry/pull/105565)\n- Remove overflow in [#105546](https://github.com/getsentry/sentry/pull/105546)\n\n#### Theme\n\n- Adjust `react-select` theme access by @natemoo-re in [#106127](https://github.com/getsentry/sentry/pull/106127)\n- Invisible caret by @natemoo-re in [#106036](https://github.com/getsentry/sentry/pull/106036)\n\n#### Tracemetrics\n\n- Properly apply legend alias by @narsaynorath in [#105855](https://github.com/getsentry/sentry/pull/105855)\n- Change Open in Metrics to Open in Explore by @narsaynorath in [#105823](https://github.com/getsentry/sentry/pull/105823)\n- Use same intervals as spans and logs by @narsaynorath in [#105809](https://github.com/getsentry/sentry/pull/105809)\n- Pass along response derived units by @narsaynorath in [#105760](https://github.com/getsentry/sentry/pull/105760)\n- Table in widget viewer should show correct units by @narsaynorath in [#105684](https://github.com/getsentry/sentry/pull/105684)\n- Format aggregate header cell in widget viewer by @narsaynorath in [#105664](https://github.com/getsentry/sentry/pull/105664)\n- Uniquely identify multiple series by @narsaynorath in [#105610](https://github.com/getsentry/sentry/pull/105610)\n\n#### Ui\n\n- Allow empty createdBy for starred views by @evanpurkhiser in [#106178](https://github.com/getsentry/sentry/pull/106178)\n- Ignore sentry console banner in breadcrumbs by @scttcper in [#106155](https://github.com/getsentry/sentry/pull/106155)\n- Prevent infinite render loop in `PageAlertProvider` by @gggritso in [#106079](https://github.com/getsentry/sentry/pull/106079)\n- Size leading items wrapper to height of input group by @evanpurkhiser in [#105912](https://github.com/getsentry/sentry/pull/105912)\n- Selecting of arbitrary relative periods in auditLogList by @TkDodo in [#105795](https://github.com/getsentry/sentry/pull/105795)\n- Avoid logging sentry console banner in tests by @scttcper in [#105733](https://github.com/getsentry/sentry/pull/105733)\n- Avoid loading invalid prism files by @scttcper in [#105730](https://github.com/getsentry/sentry/pull/105730)\n\n#### Uptime\n\n- Use alert permissions for preview check endpoint by @evanpurkhiser in [#106217](https://github.com/getsentry/sentry/pull/106217)\n- Fix skip backfill logic to only run after the interval has been changed by @wedamija in [#106135](https://github.com/getsentry/sentry/pull/106135)\n- Attempt to fix missing misses from backfill by @wedamija in [#106046](https://github.com/getsentry/sentry/pull/106046)\n- Remove empty name shim by @evanpurkhiser in [#105194](https://github.com/getsentry/sentry/pull/105194)\n- Include headers and body in detector form payload by @evanpurkhiser in [#105686](https://github.com/getsentry/sentry/pull/105686)\n\n#### Other\n\n- (ai-conversations) Id path param regex by @obostjancic in [#106183](https://github.com/getsentry/sentry/pull/106183)\n- (ai-trace) Turn off autogrouping for gen_ai spans by @obostjancic in [#105990](https://github.com/getsentry/sentry/pull/105990)\n- (arithmetic-equations) Set constrained max width by @nsdeschenes in [#105904](https://github.com/getsentry/sentry/pull/105904)\n- (autopilot) Fix issue fingerprint by @ArthurKnaus in [#106357](https://github.com/getsentry/sentry/pull/106357)\n- (autopilot-logging) Chain to list by @ArthurKnaus in [#105480](https://github.com/getsentry/sentry/pull/105480)\n- (cmdk) Border misalignment in searchbar by @cvxluo in [#105474](https://github.com/getsentry/sentry/pull/105474)\n- (core-ui) Bump grid sticket z-index by @nsdeschenes in [#105661](https://github.com/getsentry/sentry/pull/105661)\n- (crons) Honor alertsMemberWrite setting by @oioki in [#104171](https://github.com/getsentry/sentry/pull/104171)\n- (dashboard) Use disabledKeys to prevent duplication and deletion of prebuilt dashboards by @DominikB2014 in [#105955](https://github.com/getsentry/sentry/pull/105955)\n- (dynamic-grouping) Remove cluster id when selecting project by @scttcper in [#106140](https://github.com/getsentry/sentry/pull/106140)\n- (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)\n- (errors) Add error.received to timestamp fields by @nsdeschenes in [#105713](https://github.com/getsentry/sentry/pull/105713)\n- (event_frames) Ensure frames are filtered when extracting from thread by @seer-by-sentry in [#105501](https://github.com/getsentry/sentry/pull/105501)\n- (github) Add ownership check to repo by @Christinarlong in [#105061](https://github.com/getsentry/sentry/pull/105061)\n- (gsApp) Remove deprecated route props from route hook by @scttcper in [#106105](https://github.com/getsentry/sentry/pull/106105)\n- (HC) Reshard ApiToken outboxes to the new ApiToken shard by @GabeVillalobos in [#105871](https://github.com/getsentry/sentry/pull/105871)\n- (integrations) Disable uninstall button when integration is pending deletion by @JoshFerge in [#105658](https://github.com/getsentry/sentry/pull/105658)\n- (issue details) Correctly copy issue details for threaded stacktraces by @sehr-m in [#105434](https://github.com/getsentry/sentry/pull/105434)\n- (issue-search) Correctly parse negated contains filters by @cvxluo in [#105699](https://github.com/getsentry/sentry/pull/105699)\n- (linting) Small linting fixes by @hubertdeng123 in [#106329](https://github.com/getsentry/sentry/pull/106329)\n- (logs) Only send timestamp filter if autorefresh enabled by @narsaynorath in [#105421](https://github.com/getsentry/sentry/pull/105421)\n- (oauth) Support public clients for device flow per RFC 8628 §5.6 by @betegon in [#106169](https://github.com/getsentry/sentry/pull/106169)\n- (occurrences on eap) Fix encoding of event IDs when writing occurrences to EAP by @shashjar in [#105981](https://github.com/getsentry/sentry/pull/105981)\n- (rcs) Address design reviews of RCA empty state by @Zylphrex in [#105997](https://github.com/getsentry/sentry/pull/105997)\n- (releases) Allow project:releases scope for org releases endpoint by @szokeasaurusrex in [#105130](https://github.com/getsentry/sentry/pull/105130)\n- (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)\n- (scraps) Align leadingItems in compactSelect with check box/icon by @TkDodo in [#106167](https://github.com/getsentry/sentry/pull/106167)\n- (sdk-crashes) Ignore SentrySwizzleWrapper false positives (#105625) by @calm329 in [#105705](https://github.com/getsentry/sentry/pull/105705)\n- (sdk-integration-detector) Improve logs in [#105597](https://github.com/getsentry/sentry/pull/105597)\n- (search) Handle many parens in query values by @nsdeschenes in [#105488](https://github.com/getsentry/sentry/pull/105488)\n- (search-bar) Use search context parseQuery function by @nsdeschenes in [#105802](https://github.com/getsentry/sentry/pull/105802)\n- (search-query-builder) Remove underline from Alpha badge by @cvxluo in [#106153](https://github.com/getsentry/sentry/pull/106153)\n- (seer onboarding) Remove on_command_phrase CR trigger from settings forms by @srest2021 in [#105696](https://github.com/getsentry/sentry/pull/105696)\n- (seer setting) Grey out Auto Open PRs when auto trigger is Off by @Mihir-Mavalankar in [#105792](https://github.com/getsentry/sentry/pull/105792)\n- (seer-slack) Update messages after autofix engagement to prevent duplicate triggers by @leeandher in [#105963](https://github.com/getsentry/sentry/pull/105963)\n- (spans-migration) Add tooltip to open in explore with different extrapolation modes by @nikkikapadia in [#106023](https://github.com/getsentry/sentry/pull/106023)\n- (taskworker) Prevent taskworker from blocking tasks on stale cach… by @shellmayr in [#105801](https://github.com/getsentry/sentry/pull/105801)\n- (tokens) Add async flush outboxes by @Christinarlong in [#105264](https://github.com/getsentry/sentry/pull/105264)\n- (ts) Fix text `label` types by @evanpurkhiser in [#106088](https://github.com/getsentry/sentry/pull/106088)\n- (user-feedback) Remove link to trace when it wasn't sampled by @nsdeschenes in [#105584](https://github.com/getsentry/sentry/pull/105584)\n- (workflow_engine) Add an index to the `incident_identifier` by @saponifi3d in [#106049](https://github.com/getsentry/sentry/pull/106049)\n- Typo by @TkDodo in [#106246](https://github.com/getsentry/sentry/pull/106246)\n- Dedupe aliases before final request by @shruthilayaj in [#104900](https://github.com/getsentry/sentry/pull/104900)\n- Fix rendering when a null member is returned by @ryan953 in [#105419](https://github.com/getsentry/sentry/pull/105419)\n\n### Documentation 📚\n\n- (agents) Add guidance for avoiding loading indicator waits in tests by @JoshFerge in [#105670](https://github.com/getsentry/sentry/pull/105670)\n- (chunk) Document CHUNK_UPLOAD_ACCEPT backwards compatibility by @szokeasaurusrex in [#106065](https://github.com/getsentry/sentry/pull/106065)\n- (cloudflare) Change onboarding script for Cloudflare Workers by @JPeer264 in [#105640](https://github.com/getsentry/sentry/pull/105640)\n\n### Build / dependencies / internal 🔧\n\n#### Aci\n\n- Remove redirect opt out for discover create alert button by @malwilley in [#106207](https://github.com/getsentry/sentry/pull/106207)\n- Default to using issue stream detector by @cathteng in [#106150](https://github.com/getsentry/sentry/pull/106150)\n- Refactor redis buffer management in delayed_workflows to simplify cleanup by @kcons in [#105839](https://github.com/getsentry/sentry/pull/105839)\n- Populate legacy_rule_id and/or workflow_id in action dispatch by @cathteng in [#106051](https://github.com/getsentry/sentry/pull/106051)\n- Handle workflows or rules in digests sans feature flag by @cathteng in [#105999](https://github.com/getsentry/sentry/pull/105999)\n- Remove ui links flag for metric alerts by @mifu67 in [#105979](https://github.com/getsentry/sentry/pull/105979)\n- Use cache for Project and Organization lookups by @kcons in [#106012](https://github.com/getsentry/sentry/pull/106012)\n- Add back subscription processor crash rate detector test coverage by @ceorourke in [#105205](https://github.com/getsentry/sentry/pull/105205)\n- Populate slack notification environment correctly by @cathteng in [#105676](https://github.com/getsentry/sentry/pull/105676)\n- Parse metric issue assignee from detector.owner in [#105605](https://github.com/getsentry/sentry/pull/105605)\n- Update copy for metric monitor resolution threshold by @ameliahsu in [#105514](https://github.com/getsentry/sentry/pull/105514)\n\n#### Admin\n\n- Remove deprecatedRouteProps from all 13 admin routes by @ryan953 in [#106339](https://github.com/getsentry/sentry/pull/106339)\n- Remove usage of `deprecatedRouteProps` for `Broadcasts` route by @shashjar in [#106044](https://github.com/getsentry/sentry/pull/106044)\n- Remove usage of `deprecatedRouteProps` for `Beacons` route by @shashjar in [#106043](https://github.com/getsentry/sentry/pull/106043)\n- Remove usage of `deprecatedRouteProps` for admin `BroadcastDetails` route by @shashjar in [#105838](https://github.com/getsentry/sentry/pull/105838)\n- Remove usage of `deprecatedRouteProps` for admin `BeaconDetails` route by @shashjar in [#105836](https://github.com/getsentry/sentry/pull/105836)\n- Use `Outlet` to render children in admin layout route by @shashjar in [#105441](https://github.com/getsentry/sentry/pull/105441)\n\n#### Alerts\n\n- Remove hasMetricAlerts and hasUptimeAlerts route props by @ryan953 in [#106346](https://github.com/getsentry/sentry/pull/106346)\n- Remove `deprecatedRouteProps` usage for `IncidentsList` by @shashjar in [#105453](https://github.com/getsentry/sentry/pull/105453)\n- Migrate `RelatedIssues` off of the deprecated router by @shashjar in [#105389](https://github.com/getsentry/sentry/pull/105389)\n\n#### Api\n\n- Switch from `ParamsType` to `SnubaParams` in group endpoints by @shashjar in [#105950](https://github.com/getsentry/sentry/pull/105950)\n- Deprecate legacy first-last-release endpoint URL by @shayna-ch in [#105771](https://github.com/getsentry/sentry/pull/105771)\n\n#### Ask Seer\n\n- Clean up old flags by @nsdeschenes in [#105833](https://github.com/getsentry/sentry/pull/105833)\n- Clean up old explore traces flags by @nsdeschenes in [#105835](https://github.com/getsentry/sentry/pull/105835)\n\n#### Auth\n\n- Clean up component definitions for auth layout by @shashjar in [#105449](https://github.com/getsentry/sentry/pull/105449)\n- Remove usage of `deprecatedRouteProps` for auth layout route by @shashjar in [#105313](https://github.com/getsentry/sentry/pull/105313)\n\n#### Autofix\n\n- Require mode=explorer to explicitly use autofix-on-ex… by @Zylphrex in [#106216](https://github.com/getsentry/sentry/pull/106216)\n- Explicit opt in to autofix-on-explorer by @Zylphrex in [#106212](https://github.com/getsentry/sentry/pull/106212)\n\n#### Billing\n\n- Migrate billing calculations to use formatting config by @dashed in [#104808](https://github.com/getsentry/sentry/pull/104808)\n- Refactoring quotas.py seat methods to not use data_category by @krithikravi in [#106026](https://github.com/getsentry/sentry/pull/106026)\n- Remove UI flags by @isabellaenriquez in [#105944](https://github.com/getsentry/sentry/pull/105944)\n- Clean up analytics by @isabellaenriquez in [#105931](https://github.com/getsentry/sentry/pull/105931)\n- Remove unused ProductUsageChart by @scttcper in [#105927](https://github.com/getsentry/sentry/pull/105927)\n- Cleanup legacy Stripe + billing details code by @isabellaenriquez in [#105745](https://github.com/getsentry/sentry/pull/105745)\n- Use `<Outlet/>` in OrganizationSubscriptionContext and remove deprecatedRouteProps by @ryan953 in [#105918](https://github.com/getsentry/sentry/pull/105918)\n- Remove usage of `deprecatedRouteProps` for `UsageLog` component by @shashjar in [#105779](https://github.com/getsentry/sentry/pull/105779)\n- Remove usage of `deprecatedRouteProps` for `BillingInformation` component by @shashjar in [#105777](https://github.com/getsentry/sentry/pull/105777)\n- Remove usage of `deprecatedRouteProps` for `SubscriptionNotifications` component by @shashjar in [#105772](https://github.com/getsentry/sentry/pull/105772)\n- Remove usage of `deprecatedRouteProps` for `PaymentHistory` component by @shashjar in [#105700](https://github.com/getsentry/sentry/pull/105700)\n- Remove usage of `deprecatedRouteProps` for `UsageHistory` component by @shashjar in [#105697](https://github.com/getsentry/sentry/pull/105697)\n- Remove usage of `deprecatedRouteProps` for subscription overview route by @shashjar in [#105698](https://github.com/getsentry/sentry/pull/105698)\n- Update launch feature in showNewSeer by @brendanhsentry in [#105470](https://github.com/getsentry/sentry/pull/105470)\n\n#### Checkout\n\n- Rework CheckoutOption by @isabellaenriquez in [#106220](https://github.com/getsentry/sentry/pull/106220)\n- Convert AMCheckout to FC by @isabellaenriquez in [#105861](https://github.com/getsentry/sentry/pull/105861)\n- Remove dead code by @isabellaenriquez in [#105278](https://github.com/getsentry/sentry/pull/105278)\n\n#### Code Review\n\n- Hook up list of gh orgs to options-automator by @suejung-sentry in [#105886](https://github.com/getsentry/sentry/pull/105886)\n- Centralize webhook configuration and simplify event processing by @armenzg in [#105712](https://github.com/getsentry/sentry/pull/105712)\n- Refactor how we extract metadata by @armenzg in [#105644](https://github.com/getsentry/sentry/pull/105644)\n\n#### Core\n\n- Simplify `AlertBadge` logic by @natemoo-re in [#105958](https://github.com/getsentry/sentry/pull/105958)\n- Consolidate segmentedControl files and remove chonk naming by @JonasBa in [#105577](https://github.com/getsentry/sentry/pull/105577)\n- Consolidate button styles files and remove chonk naming by @JonasBa in [#105576](https://github.com/getsentry/sentry/pull/105576)\n- Consolidate alertBadge files and remove chonk naming by @JonasBa in [#105579](https://github.com/getsentry/sentry/pull/105579)\n- Consolidate select files and remove chonk naming by @JonasBa in [#105578](https://github.com/getsentry/sentry/pull/105578)\n- Consolidate checkbox component files and remove chonk naming by @JonasBa in [#105575](https://github.com/getsentry/sentry/pull/105575)\n- Consolidate menuListItem component files by @JonasBa in [#105572](https://github.com/getsentry/sentry/pull/105572)\n- Consolidate inputGroup component files by @JonasBa in [#105571](https://github.com/getsentry/sentry/pull/105571)\n- Consolidate alert component files and remove chonk naming by @JonasBa in [#105573](https://github.com/getsentry/sentry/pull/105573)\n- Consolidate switch component files and remove chonk naming by @JonasBa in [#105569](https://github.com/getsentry/sentry/pull/105569)\n- Consolidate radio component files and remove chonk naming by @JonasBa in [#105570](https://github.com/getsentry/sentry/pull/105570)\n- Consolidate tab component files and remove chonk naming by @JonasBa in [#105568](https://github.com/getsentry/sentry/pull/105568)\n\n#### Dashboards\n\n- Convert GenericWidgetQueries consumers to use hook by @DominikB2014 in [#106284](https://github.com/getsentry/sentry/pull/106284)\n- Convert generic widget queries to functional component by @DominikB2014 in [#106182](https://github.com/getsentry/sentry/pull/106182)\n- Nit: align widget builder w nav and body content by @mtopo27 in [#105879](https://github.com/getsentry/sentry/pull/105879)\n- Remove usages of `deprecatedRouteProps` for dashboard routes by @shashjar in [#105440](https://github.com/getsentry/sentry/pull/105440)\n- Migrate tests for `WidgetBuilderSlideout` component off of `deprecatedRouterMocks` by @shashjar in [#105521](https://github.com/getsentry/sentry/pull/105521)\n- Migrate tests for widget builder component off of `deprecatedRouterMocks` by @shashjar in [#105520](https://github.com/getsentry/sentry/pull/105520)\n\n#### Discover\n\n- Migrate `ProjectEventRedirect` to use API instead of XHR by @shashjar in [#105464](https://github.com/getsentry/sentry/pull/105464)\n- Migrate tests for `DatasetSelectorTabs` component off of `deprecatedRouterMocks` by @shashjar in [#105522](https://github.com/getsentry/sentry/pull/105522)\n- Migrate `actionDropdown` tests off of `deprecatedRouterMocks` by @shashjar in [#105456](https://github.com/getsentry/sentry/pull/105456)\n\n#### Dynamic Sampling\n\n- Remove option for empty queries after rollout by @shellmayr in [#105991](https://github.com/getsentry/sentry/pull/105991)\n- Remove logging statements for log-project-config by @shellmayr in [#105138](https://github.com/getsentry/sentry/pull/105138)\n\n#### Explorer\n\n- Add loading toast and fix styling to cursor card by @roaga in [#106195](https://github.com/getsentry/sentry/pull/106195)\n- Add error toast when failing to launch cursor agent by @roaga in [#106113](https://github.com/getsentry/sentry/pull/106113)\n- Error msg for empty state when state req fails by @aliu39 in [#106040](https://github.com/getsentry/sentry/pull/106040)\n- Slice event id in tool copy by @aliu39 in [#105945](https://github.com/getsentry/sentry/pull/105945)\n- Make session read only if owner_user_id doesnt match (2) by @aliu39 in [#105789](https://github.com/getsentry/sentry/pull/105789)\n- Check ff for sessions request by @aliu39 in [#105837](https://github.com/getsentry/sentry/pull/105837)\n- 100 candidate events for rec event by @aliu39 in [#105682](https://github.com/getsentry/sentry/pull/105682)\n- Improve rec event query performance w a sliding window by @aliu39 in [#105476](https://github.com/getsentry/sentry/pull/105476)\n\n#### Grouping\n\n- Add python multiprocessing context line test inputs by @lobsterkatie in [#106055](https://github.com/getsentry/sentry/pull/106055)\n- Fix single non-URL frame handling in new config by @lobsterkatie in [#105935](https://github.com/getsentry/sentry/pull/105935)\n- Remove `contributes` check for single JS frame ignoring by @lobsterkatie in [#105829](https://github.com/getsentry/sentry/pull/105829)\n- Add delete and discard tests by @lobsterkatie in [#105708](https://github.com/getsentry/sentry/pull/105708)\n\n#### Insights\n\n- Removes unused transaction filter in web vitals queries by @edwardgou-sentry in [#105431](https://github.com/getsentry/sentry/pull/105431)\n- Rename `ReleaseComparisonSelector` by @gggritso in [#105152](https://github.com/getsentry/sentry/pull/105152)\n\n#### Issue Search\n\n- Remove enablement option for truncation of group IDs in Snuba queries by @shashjar in [#105732](https://github.com/getsentry/sentry/pull/105732)\n- Remove debug logging in Snuba search executor by @shashjar in [#105702](https://github.com/getsentry/sentry/pull/105702)\n- 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)\n\n#### Issues\n\n- Avoid repeated org fetch in issue search by @scttcper in [#106287](https://github.com/getsentry/sentry/pull/106287)\n- Add group_id list truncation warning in [#105175](https://github.com/getsentry/sentry/pull/105175)\n\n#### Layout\n\n- Use `Outlet` to render children in app body content route by @shashjar in [#105448](https://github.com/getsentry/sentry/pull/105448)\n- Migrate `OrganizationContainer` off of `deprecatedRouterProps` by @shashjar in [#105461](https://github.com/getsentry/sentry/pull/105461)\n\n#### Llm Detector\n\n- Clean up detection code by @roggenkemper in [#105998](https://github.com/getsentry/sentry/pull/105998)\n- Add log for response by @roggenkemper in [#105929](https://github.com/getsentry/sentry/pull/105929)\n- Update cron schedule by @roggenkemper in [#105908](https://github.com/getsentry/sentry/pull/105908)\n- Remove retries for LLM Detector by @roggenkemper in [#105864](https://github.com/getsentry/sentry/pull/105864)\n\n#### Metrics\n\n- Batch string indexer lookups in SnubaResultConverter by @scttcper in [#106232](https://github.com/getsentry/sentry/pull/106232)\n- Stop accepting `router` prop in `MetricsDataSwitcherAlert` component in [#105435](https://github.com/getsentry/sentry/pull/105435)\n\n#### Preprod\n\n- Add extra status check failed logging by @trevor-e in [#106374](https://github.com/getsentry/sentry/pull/106374)\n- Move Preprod{Static,Delta}GroupType to /preprod by @chromy in [#106255](https://github.com/getsentry/sentry/pull/106255)\n- Remove deprecated is_installable from backend by @chromy in [#106200](https://github.com/getsentry/sentry/pull/106200)\n- Remove deprecated is_installable from frontend by @chromy in [#106192](https://github.com/getsentry/sentry/pull/106192)\n- Use encoding utilities to convert between preprod hex identifiers and EAP item IDs by @shashjar in [#106030](https://github.com/getsentry/sentry/pull/106030)\n- Centralize URL building in helper functions by @runningcode in [#105827](https://github.com/getsentry/sentry/pull/105827)\n- JsonResponse -> Response by @chromy in [#105811](https://github.com/getsentry/sentry/pull/105811)\n- Add date_added index to preprodartifact by @NicoHinderling in [#105758](https://github.com/getsentry/sentry/pull/105758)\n- Use Response instead of JsonResponse in artifact image endpoint by @runningcode in [#105794](https://github.com/getsentry/sentry/pull/105794)\n- Integrate cleanup task into deletions task manager by @NicoHinderling in [#105742](https://github.com/getsentry/sentry/pull/105742)\n- Restructure preprod deletion logic via endpoints by @NicoHinderling in [#105741](https://github.com/getsentry/sentry/pull/105741)\n- Add builds list analytics hook by @mtopo27 in [#105679](https://github.com/getsentry/sentry/pull/105679)\n- Delete no longer used project list-builds endpoint by @NicoHinderling in [#105652](https://github.com/getsentry/sentry/pull/105652)\n- Migrate off of singular project list-builds endpoint by @NicoHinderling in [#105645](https://github.com/getsentry/sentry/pull/105645)\n- Fix centering by @mtopo27 in [#105611](https://github.com/getsentry/sentry/pull/105611)\n- Refactor preprod builds table by @mtopo27 in [#105552](https://github.com/getsentry/sentry/pull/105552)\n- Remove namespace_alias in [#104761](https://github.com/getsentry/sentry/pull/104761)\n- Adjust preprod search bar visibility in [#105551](https://github.com/getsentry/sentry/pull/105551)\n- Add distribution info types by @mtopo27 in [#105536](https://github.com/getsentry/sentry/pull/105536)\n- Add distribution_info to buildDetails api by @mtopo27 in [#105503](https://github.com/getsentry/sentry/pull/105503)\n- Remove qr code on xs-sm screens by @mtopo27 in [#105491](https://github.com/getsentry/sentry/pull/105491)\n- Download build container + vcs info by @mtopo27 in [#105450](https://github.com/getsentry/sentry/pull/105450)\n- Mtopo27/refactor install modal by @mtopo27 in [#105445](https://github.com/getsentry/sentry/pull/105445)\n- Refactor vcs details into separate component by @mtopo27 in [#105427](https://github.com/getsentry/sentry/pull/105427)\n- Add internal distribution flag by @mtopo27 in [#105424](https://github.com/getsentry/sentry/pull/105424)\n\n#### Scraps\n\n- Remove deprecated black/white aliases by @TkDodo in [#106257](https://github.com/getsentry/sentry/pull/106257)\n- Remove deprecated red aliases by @TkDodo in [#106254](https://github.com/getsentry/sentry/pull/106254)\n- Move theme.tooltipUnderline to useHoverOverlay by @TkDodo in [#106247](https://github.com/getsentry/sentry/pull/106247)\n- Background surface500/400/300 to background tokens by @TkDodo in [#106259](https://github.com/getsentry/sentry/pull/106259)\n- Remove theme.button by @TkDodo in [#106264](https://github.com/getsentry/sentry/pull/106264)\n- Remove theme.tag by @TkDodo in [#106173](https://github.com/getsentry/sentry/pull/106173)\n- Replace debossedBackground with theme token by @TkDodo in [#106165](https://github.com/getsentry/sentry/pull/106165)\n- Move prismVariables out of theme by @TkDodo in [#105901](https://github.com/getsentry/sentry/pull/105901)\n- Remove theme.focus and theme.focusBorder aliases by @TkDodo in [#105896](https://github.com/getsentry/sentry/pull/105896)\n- Remove theme.translucentBorder alias by @TkDodo in [#105891](https://github.com/getsentry/sentry/pull/105891)\n- Remove theme.danger and theme.dangerText aliases by @TkDodo in [#105898](https://github.com/getsentry/sentry/pull/105898)\n- Remove theme.border alias by @TkDodo in [#105895](https://github.com/getsentry/sentry/pull/105895)\n- Remove theme.success and theme.successText aliases by @TkDodo in [#105897](https://github.com/getsentry/sentry/pull/105897)\n- Remove theme.disabled alias by @TkDodo in [#105894](https://github.com/getsentry/sentry/pull/105894)\n- Remove theme.disabledBorder alias by @TkDodo in [#105893](https://github.com/getsentry/sentry/pull/105893)\n- Remove theme.headerBackground by @TkDodo in [#105818](https://github.com/getsentry/sentry/pull/105818)\n- Update tokens by @natemoo-re in [#105641](https://github.com/getsentry/sentry/pull/105641)\n- New token structure in [#105105](https://github.com/getsentry/sentry/pull/105105)\n\n#### Seer\n\n- Pass enum value for trigger by @seer-by-sentry in [#105951](https://github.com/getsentry/sentry/pull/105951)\n- Guard access to the new Project>Seer settings page by @ryan953 in [#105814](https://github.com/getsentry/sentry/pull/105814)\n- Optimistic updates inside of useUpdateProjectSeerPreferences() in [#105513](https://github.com/getsentry/sentry/pull/105513)\n- Extract a `<RepoProviderIcon/>` react component in [#105523](https://github.com/getsentry/sentry/pull/105523)\n- Import MAX_REPOS_LIMIT when we need it by @ryan953 in [#105515](https://github.com/getsentry/sentry/pull/105515)\n- Put CodingAgentIntegration type near useAutofix() by @ryan953 in [#105510](https://github.com/getsentry/sentry/pull/105510)\n- MakeProjectSeerPreferencesQueryKey should return an ApiQueryKey by @ryan953 in [#105511](https://github.com/getsentry/sentry/pull/105511)\n\n#### Seer Onboarding\n\n- Remove on_command_phrase CR trigger from CR enums by @srest2021 in [#105980](https://github.com/getsentry/sentry/pull/105980)\n- Remove on_command_phrase CR trigger from repo settings and org options by @srest2021 in [#105978](https://github.com/getsentry/sentry/pull/105978)\n\n#### Sentry Apps\n\n- Fix N+1 queries in SentryAppSerializer by @scttcper in [#106305](https://github.com/getsentry/sentry/pull/106305)\n- Option to disable paranoia for backfill script by @cathteng in [#105558](https://github.com/getsentry/sentry/pull/105558)\n- Prepare to hard delete sentry apps and installs by @cathteng in [#105492](https://github.com/getsentry/sentry/pull/105492)\n\n#### Settings\n\n- Remove usages of `deprecatedRouteProps` for `SettingsLayout` routes by @shashjar in [#105517](https://github.com/getsentry/sentry/pull/105517)\n- Remove usage of `deprecatedRouteProps` for early features route by @shashjar in [#105388](https://github.com/getsentry/sentry/pull/105388)\n- Remove usage of `deprecatedRouteProps` for `SettingsWrapper` component by @shashjar in [#105387](https://github.com/getsentry/sentry/pull/105387)\n- Remove usage of `deprecatedRouteProps` for `NoOp` component by @shashjar in [#105386](https://github.com/getsentry/sentry/pull/105386)\n\n#### Stories\n\n- Add `category` field to core components by @natemoo-re in [#105566](https://github.com/getsentry/sentry/pull/105566)\n- Remove outdated principles by @natemoo-re in [#105759](https://github.com/getsentry/sentry/pull/105759)\n\n#### Theme\n\n- Remove legacy graphics theme tokens by @natemoo-re in [#106224](https://github.com/getsentry/sentry/pull/106224)\n- Remove legacy content.muted theme token by @natemoo-re in [#106225](https://github.com/getsentry/sentry/pull/106225)\n- Remove legacy `border.*` theme tokens by @natemoo-re in [#106223](https://github.com/getsentry/sentry/pull/106223)\n- Remove legacy component.* theme tokens by @natemoo-re in [#106226](https://github.com/getsentry/sentry/pull/106226)\n- Remove theme.active, activeHover, and activeText aliases by @JonasBa in [#106004](https://github.com/getsentry/sentry/pull/106004)\n- Remove `backgroundSecondary` by @natemoo-re in [#106037](https://github.com/getsentry/sentry/pull/106037)\n- Remove theme.error and theme.errorText aliases by @JonasBa in [#106003](https://github.com/getsentry/sentry/pull/106003)\n- Remove theme.pink100-400 deprecated properties by @JonasBa in [#106006](https://github.com/getsentry/sentry/pull/106006)\n- Replace `subText` with `content.secondary` by @natemoo-re in [#105851](https://github.com/getsentry/sentry/pull/105851)\n- Remove hover by @natemoo-re in [#105825](https://github.com/getsentry/sentry/pull/105825)\n\n#### Top Issues\n\n- Sort singleton clusters lower by @cvxluo in [#106087](https://github.com/getsentry/sentry/pull/106087)\n- Add pasting json to single card view in [#105477](https://github.com/getsentry/sentry/pull/105477)\n\n#### Ui\n\n- Remove MarkedText from SentryApp overview description by @oioki in [#106275](https://github.com/getsentry/sentry/pull/106275)\n- Limit files typechecked by fork-ts-plugin by @scttcper in [#106222](https://github.com/getsentry/sentry/pull/106222)\n- Add TimeRangeSelectTrigger by @TkDodo in [#105214](https://github.com/getsentry/sentry/pull/105214)\n- Consolidate tsconfig files by @scttcper in [#106034](https://github.com/getsentry/sentry/pull/106034)\n- Add tsgo nightly preview by @scttcper in [#106042](https://github.com/getsentry/sentry/pull/106042)\n- Convert GuideAnchor to FC by @scttcper in [#105401](https://github.com/getsentry/sentry/pull/105401)\n- Enforce getsentry import boundaries on dynamic imports by @scttcper in [#105657](https://github.com/getsentry/sentry/pull/105657)\n\n#### Unmerge\n\n- Bump unmerge timeout to 300s by @cvxluo in [#106106](https://github.com/getsentry/sentry/pull/106106)\n- Only do `MinHash` repair if not on AI grouping by @cvxluo in [#105973](https://github.com/getsentry/sentry/pull/105973)\n\n#### Uptime\n\n- Use encoding utilities to convert between hex identifiers and EAP item IDs by @shashjar in [#106033](https://github.com/getsentry/sentry/pull/106033)\n- Increase backlog queue max wait time from 3 minutes to 5 minutes. by @wedamija in [#106047](https://github.com/getsentry/sentry/pull/106047)\n- Add better comment to `queue_result_for_retry` by @wedamija in [#105853](https://github.com/getsentry/sentry/pull/105853)\n- Extract processing and backfill logic into reusable functions by @wedamija in [#105692](https://github.com/getsentry/sentry/pull/105692)\n\n#### Other\n\n- (ai-ml) Correct flag name on tooltip by @leeandher in [#105153](https://github.com/getsentry/sentry/pull/105153)\n- (anomaly thresholds) Add anomaly thresholds to alerts charts by @shayna-ch in [#105953](https://github.com/getsentry/sentry/pull/105953)\n- (attr breakdowns) Clean up calling the RRF function by @aayush-se in [#106118](https://github.com/getsentry/sentry/pull/106118)\n- (attribute breakdowns) Failure rate by @aayush-se in [#106039](https://github.com/getsentry/sentry/pull/106039)\n- (automations) Remove deprecatedRouteProps from automation redirect components by @ryan953 in [#106337](https://github.com/getsentry/sentry/pull/106337)\n- (autopilot) More logging by @ArthurKnaus in [#105479](https://github.com/getsentry/sentry/pull/105479)\n- (breadcrumbs) Migrate tests off of `deprecatedRouterMocks` by @shashjar in [#105455](https://github.com/getsentry/sentry/pull/105455)\n- (broadcasts) Batch mark-seen inserts by @scttcper in [#106312](https://github.com/getsentry/sentry/pull/106312)\n- (build) Extract conventions descriptions to translation files by @nsdeschenes in [#105415](https://github.com/getsentry/sentry/pull/105415)\n- (core-ui) Remove to prop from being rendered by @nsdeschenes in [#105499](https://github.com/getsentry/sentry/pull/105499)\n- (data-forwarding) Better disablement, hide legacy forwarding by @leeandher in [#104726](https://github.com/getsentry/sentry/pull/104726)\n- (eap) Bump max rollup in general sentry constants by @nikkikapadia in [#106001](https://github.com/getsentry/sentry/pull/106001)\n- (errors) Increase max tag length to 256 to match request.url limit by @Dav1dde in [#105828](https://github.com/getsentry/sentry/pull/105828)\n- (events) Remove unused EventCustomPerformanceMetrics by @scttcper in [#105926](https://github.com/getsentry/sentry/pull/105926)\n- (explore) Add attribute mapping endpoint description by @nsdeschenes in [#106296](https://github.com/getsentry/sentry/pull/106296)\n- (features) Remove unused profiling feature flag by @Dav1dde in [#105791](https://github.com/getsentry/sentry/pull/105791)\n- (flags) Add frontend and backend flags for automatic console sdk invites by @alexsohn1126 in [#105952](https://github.com/getsentry/sentry/pull/105952)\n- (grouplist) Refactor GroupList to use useApiQuery by @malwilley in [#105688](https://github.com/getsentry/sentry/pull/105688)\n- (infra) Remove codecov.yml by @rbro112 in [#105717](https://github.com/getsentry/sentry/pull/105717)\n- (logs) Add analytics for mismatch between virtual and original data by @k-fish in [#105810](https://github.com/getsentry/sentry/pull/105810)\n- (member merge) Backfill emails for self-hosted sentry app proxy users by @mifu67 in [#101887](https://github.com/getsentry/sentry/pull/101887)\n- (profiles) Use encoding utilities to convert between profile IDs and EAP item IDs by @shashjar in [#106032](https://github.com/getsentry/sentry/pull/106032)\n- (quotas) Remove global quotas by @Dav1dde in [#106245](https://github.com/getsentry/sentry/pull/106245)\n- (relocation) Remove usage of `deprecatedRouteProps` for relocation route by @shashjar in [#105433](https://github.com/getsentry/sentry/pull/105433)\n- (replay) Move live/refresh logic into hooks by @billyvg in [#105647](https://github.com/getsentry/sentry/pull/105647)\n- (router) Migrate `withSentryRouter` tests off of `deprecatedRouterMocks` by @shashjar in [#105454](https://github.com/getsentry/sentry/pull/105454)\n- (routes) Remove leftover usage of `deprecatedRouteProps` for the `DisabledMemberComponent` by @shashjar in [#105463](https://github.com/getsentry/sentry/pull/105463)\n- (routing) Migrate SDK documentation test file off of `deprecatedRouterMocks` by @shashjar in [#105465](https://github.com/getsentry/sentry/pull/105465)\n- (sdk-init) Ignore sending console banner to Sentry by @nsdeschenes in [#105799](https://github.com/getsentry/sentry/pull/105799)\n- (search) Register explicit boolean tag feature flag by @nsdeschenes in [#106250](https://github.com/getsentry/sentry/pull/106250)\n- (search agent) Register flag in [#105613](https://github.com/getsentry/sentry/pull/105613)\n- (searchQueryBuilder) Move GetTagValues to searchQueryBuilder by @chromy in [#105806](https://github.com/getsentry/sentry/pull/105806)\n- (segments) Add basic org killswitch by @untitaker in [#104769](https://github.com/getsentry/sentry/pull/104769)\n- (similarity) Gate MinHash similarity if on SaaS by @cvxluo in [#106086](https://github.com/getsentry/sentry/pull/106086)\n- (spans) Use encoding utilities to convert between span IDs and EAP item IDs by @shashjar in [#106031](https://github.com/getsentry/sentry/pull/106031)\n- (spend allocations) Clean up UI code by @isabellaenriquez in [#106191](https://github.com/getsentry/sentry/pull/106191)\n- (strings) Add additional tags and metrics for span first by @Dav1dde in [#105630](https://github.com/getsentry/sentry/pull/105630)\n- (sub v3) Remove dead code by @isabellaenriquez in [#105677](https://github.com/getsentry/sentry/pull/105677)\n- (tests) Migrate tests for Snuba search backend to use options context manager by @shashjar in [#105469](https://github.com/getsentry/sentry/pull/105469)\n- (trace explorer) Use agentic search endpoint by @aayush-se in [#105583](https://github.com/getsentry/sentry/pull/105583)\n- (trace-waterfall) Add paginated waterfall feature flags by @nsdeschenes in [#105906](https://github.com/getsentry/sentry/pull/105906)\n- (tsc) Fix type error with old theme colors by @malwilley in [#106110](https://github.com/getsentry/sentry/pull/106110)\n- (workflow_engine) Consolidate action handler parameters with ActionInvocation dataclass by @kcons in [#105524](https://github.com/getsentry/sentry/pull/105524)\n- Add convert_args to ProjectTemplateDetailEndpoint by @oioki in [#106099](https://github.com/getsentry/sentry/pull/106099)\n- Generic HMAC service authentication class by @lynnagara in [#106231](https://github.com/getsentry/sentry/pull/106231)\n- Add convert_args to AcceptOrganizationInvite by @oioki in [#106078](https://github.com/getsentry/sentry/pull/106078)\n- Add convert_args to OrganizationApiKeyDetailsEndpoint by @oioki in [#106075](https://github.com/getsentry/sentry/pull/106075)\n- Assign taskworker modules to streaming-platform by @markstory in [#106020](https://github.com/getsentry/sentry/pull/106020)\n- Add convert_args to ProjectKeyDetailsEndpoint by @oioki in [#106077](https://github.com/getsentry/sentry/pull/106077)\n- Add convert_args to ApiTokenDetailsEndpoint by @oioki in [#106076](https://github.com/getsentry/sentry/pull/106076)\n- Bump knip and address new findings by @TkDodo in [#105987](https://github.com/getsentry/sentry/pull/105987)\n- Fix typo in workflow by @ryan953 in [#106022](https://github.com/getsentry/sentry/pull/106022)\n- Cleanup old flag organizations:user-feedback-ui by @ryan953 in [#105957](https://github.com/getsentry/sentry/pull/105957)\n- Add span-v2-otlp-processing feature flag by @mjq in [#105840](https://github.com/getsentry/sentry/pull/105840)\n- Refactor InvoiceDetails view to not use deprecatedRouteProps by @ryan953 in [#105813](https://github.com/getsentry/sentry/pull/105813)\n- Remove unused relay /projectids endpoint by @lynnagara in [#105746](https://github.com/getsentry/sentry/pull/105746)\n- Refactor RedeemPromoCode view to not use deprecatedRouteProps by @ryan953 in [#105812](https://github.com/getsentry/sentry/pull/105812)\n- Create a SubscriptionContext specifically for routes/views by @ryan953 in [#105817](https://github.com/getsentry/sentry/pull/105817)\n- Refactor LegalAndCompliance view to not use deprecatedRouteProps by @ryan953 in [#105808](https://github.com/getsentry/sentry/pull/105808)\n- Cleanup `secret-scanning.github.notifications.email-allowlist` by @oioki in [#105626](https://github.com/getsentry/sentry/pull/105626)\n- Add instructions about get_attrs and serialize to AGENTS.md by @shellmayr in [#104674](https://github.com/getsentry/sentry/pull/104674)\n- Clear Python cache in setup-sentry action in [#105481](https://github.com/getsentry/sentry/pull/105481)\n- Change ownership to new team in [#105574](https://github.com/getsentry/sentry/pull/105574)\n- Delete coverage by @joshuarli in [#105394](https://github.com/getsentry/sentry/pull/105394)\n\n### Other\n\n- ref(theme) remove theme.green100 to green400 by @JonasBa in [#106145](https://github.com/getsentry/sentry/pull/106145)\n- codemod(flex): apply changes for @getsentry/telemetry-experience by @JonasBa in [#106306](https://github.com/getsentry/sentry/pull/106306)\n- codemod(flex): apply changes for @getsentry/app-frontend by @JonasBa in [#106300](https://github.com/getsentry/sentry/pull/106300)\n- button: add warning variant by @JonasBa in [#106317](https://github.com/getsentry/sentry/pull/106317)\n- ✨ feat(GHE): add issue sync support by @iamrajjoshi in [#103424](https://github.com/getsentry/sentry/pull/103424)\n- codemod(flex): apply changes for @getsentry/feedback-frontend by @JonasBa in [#106298](https://github.com/getsentry/sentry/pull/106298)\n- codemod(flex): apply changes for @getsentry/profiling by @JonasBa in [#106297](https://github.com/getsentry/sentry/pull/106297)\n- ref(core) improve type signature of core components by @JonasBa in [#106273](https://github.com/getsentry/sentry/pull/106273)\n- ref(theme) always invoke CSS resolver by @JonasBa in [#106218](https://github.com/getsentry/sentry/pull/106218)\n- ref(theme) remove yellow100-yellow400 by @JonasBa in [#106144](https://github.com/getsentry/sentry/pull/106144)\n- ref(theme) remove theme.overflowEllipsis by @JonasBa in [#105933](https://github.com/getsentry/sentry/pull/105933)\n- theme: update proxy to handle JSON serialization by @JonasBa in [#106208](https://github.com/getsentry/sentry/pull/106208)\n- dx(claude): Allow claude to run gh repo view by default by @chromy in [#106203](https://github.com/getsentry/sentry/pull/106203)\n- ref(theme) remove theme.gray by @JonasBa in [#106139](https://github.com/getsentry/sentry/pull/106139)\n- codemod(flex): apply changes for @getsentry/replay-frontend by @JonasBa in [#106122](https://github.com/getsentry/sentry/pull/106122)\n- codemod(flex): apply changes for @getsentry/data-browsing by @JonasBa in [#106120](https://github.com/getsentry/sentry/pull/106120)\n- ref(theme) remove backgroundTertiary by @JonasBa in [#106132](https://github.com/getsentry/sentry/pull/106132)\n- Container pointer events prop by @JonasBa in [#106184](https://github.com/getsentry/sentry/pull/106184)\n- feat(tasks) Add application to taskbroker requests by @markstory in [#106017](https://github.com/getsentry/sentry/pull/106017)\n- ref(theme) remove theme.background by @JonasBa in [#106134](https://github.com/getsentry/sentry/pull/106134)\n- ref(icons) update stories to use correct story variants by @JonasBa in [#106137](https://github.com/getsentry/sentry/pull/106137)\n- codemod(flex): apply changes for @getsentry/revenue by @JonasBa in [#106124](https://github.com/getsentry/sentry/pull/106124)\n- ai(skills): add database migration skill by @vgrozdanic in [#106179](https://github.com/getsentry/sentry/pull/106179)\n- test(location): Support state param in location config by @narsaynorath in [#106126](https://github.com/getsentry/sentry/pull/106126)\n\n_Plus 99 more_","publishedAt":"2026-01-15T20:07:43.000Z","fetchedAt":"2026-03-31T14:09:58.476Z","url":"https://github.com/getsentry/sentry/releases/tag/26.1.0","media":[],"coverageCount":0},{"id":"rel_MMN9WDzn9EGqrIO-EW9no","version":"25.12.1","type":"feature","title":"25.12.1","summary":"### New Features ✨\n\n#### Aci\n\n- feat(aci): Disable alert form submit button while saving by @malwilley in [#104880](https://github.com/getsentry/sentr...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- feat(aci): Disable alert form submit button while saving by @malwilley in [#104880](https://github.com/getsentry/sentry/pull/104880)\n- feat(aci): Remove is:unresolved when switching from errors dataset by @malwilley in [#104903](https://github.com/getsentry/sentry/pull/104903)\n\n- feat(agent-insights): Display redacted file content info by @ArthurKnaus in [#105381](https://github.com/getsentry/sentry/pull/105381)\n\n#### Ai Conversations\n\n- feat(ai-conversations): conversation table improvements by @obostjancic in [#105322](https://github.com/getsentry/sentry/pull/105322)\n- feat(ai-conversations): optimize endpoint performance by @obostjancic in [#105133](https://github.com/getsentry/sentry/pull/105133)\n- feat(ai-conversations): add first and last messages by @obostjancic in [#105026](https://github.com/getsentry/sentry/pull/105026)\n\n#### Ai Insights\n\n- feat(ai-insights): conversation drawer by @obostjancic in [#105134](https://github.com/getsentry/sentry/pull/105134)\n- feat(ai-insights): conversations page by @obostjancic in [#105035](https://github.com/getsentry/sentry/pull/105035)\n\n#### Autofix\n\n- feat(autofix): Bypass cache in UI to get latest check value by @Mihir-Mavalankar in [#105110](https://github.com/getsentry/sentry/pull/105110)\n- feat(autofix): Return autofix enabled on setup check by @Zylphrex in [#104970](https://github.com/getsentry/sentry/pull/104970)\n- feat(autofix): suspect commit UI by @roaga in [#104914](https://github.com/getsentry/sentry/pull/104914)\n\n#### Autopilot\n\n- feat(autopilot): SDK update detector logging by @ArthurKnaus in [#105384](https://github.com/getsentry/sentry/pull/105384)\n- feat(autopilot): Add django app by @vgrozdanic in [#105379](https://github.com/getsentry/sentry/pull/105379)\n- feat(autopilot): Add feature flags by @ArthurKnaus in [#105378](https://github.com/getsentry/sentry/pull/105378)\n\n- 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)\n\n- feat(bulk seer settings): Add option to append repos in bulk settings by @Mihir-Mavalankar in [#105261](https://github.com/getsentry/sentry/pull/105261)\n\n- feat(checkout): Disable checkout for suspended orgs by @isabellaenriquez in [#105052](https://github.com/getsentry/sentry/pull/105052)\n\n- feat(code_review): Handle GitHub re-run check requests by @armenzg in [#104455](https://github.com/getsentry/sentry/pull/104455)\n\n- feat(codegen): increment org contributors and assign seat in PR webhook handler by @srest2021 in [#104419](https://github.com/getsentry/sentry/pull/104419)\n\n- feat(conversations): drawer improvements by @obostjancic in [#105321](https://github.com/getsentry/sentry/pull/105321)\n\n#### Dashboards\n\n- feat(dashboards): Register pre-built dashboards for Mobile Vitals by @gggritso in [#105149](https://github.com/getsentry/sentry/pull/105149)\n- feat(dashboards): Web Vitals page overview dashboard migration  by @edwardgou-sentry in [#105002](https://github.com/getsentry/sentry/pull/105002)\n- feat(dashboards): Remove secondary release selection from all Mobile insights by @gggritso in [#105101](https://github.com/getsentry/sentry/pull/105101)\n- feat(dashboards): Add logs to new timeseries visualization support allowlist by @edwardgou-sentry in [#105092](https://github.com/getsentry/sentry/pull/105092)\n- feat(dashboards): Add errors widgets to new timeseries visualization allowlist by @edwardgou-sentry in [#104989](https://github.com/getsentry/sentry/pull/104989)\n\n- feat(dynamic-grouping): Implement Dismiss on Cluster cards by @yuvmen in [#105398](https://github.com/getsentry/sentry/pull/105398)\n\n- feat(eap): Expose trace attachments in details endpoint by @jjbayer in [#105223](https://github.com/getsentry/sentry/pull/105223)\n\n- 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)\n\n#### Explore\n\n- feat(explore): Save case sensitivity and add multi-query case sensitive support by @nsdeschenes in [#105229](https://github.com/getsentry/sentry/pull/105229)\n- feat(explore): Adds caseInsensitive param to explore saved queries serializer by @edwardgou-sentry in [#105169](https://github.com/getsentry/sentry/pull/105169)\n\n#### Explore Attr Breakdowns\n\n- 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)\n- feat(explore-attr-breakdowns): Adding attr breakdowns as a separate result_mode by @Abdkhan14 in [#104966](https://github.com/getsentry/sentry/pull/104966)\n\n#### Explorer\n\n- feat(explorer): add RPC to get baseline tag distributions by @roaga in [#104928](https://github.com/getsentry/sentry/pull/104928)\n- feat(explorer): return issue activity in issue details rpc by @roaga in [#105017](https://github.com/getsentry/sentry/pull/105017)\n- feat(explorer): langfuse slash command by @aliu39 in [#105084](https://github.com/getsentry/sentry/pull/105084)\n- feat(explorer): include selected project slugs on on page context by @roaga in [#105095](https://github.com/getsentry/sentry/pull/105095)\n- feat(explorer): langfuse url in feedback by @aliu39 in [#105073](https://github.com/getsentry/sentry/pull/105073)\n- feat(explorer): v0 of copy chat button by @aliu39 in [#104936](https://github.com/getsentry/sentry/pull/104936)\n- feat(explorer): trace table rpc by @aliu39 in [#104921](https://github.com/getsentry/sentry/pull/104921)\n\n- feat(fixability): Pass issue summary to Seer to calculate fixability by @Mihir-Mavalankar in [#105366](https://github.com/getsentry/sentry/pull/105366)\n\n- feat(ILOC): update to more generic schema to support other Apple apps by @armcknight in [#105067](https://github.com/getsentry/sentry/pull/105067)\n\n- feat(infra): Add manual backend workflow trigger to test sharding changes by @rbro112 in [#105082](https://github.com/getsentry/sentry/pull/105082)\n\n#### Issues\n\n- feat(issues): GA empty tags subtraction query by @scttcper in [#105397](https://github.com/getsentry/sentry/pull/105397)\n- feat(issues): Add inbound filters for Turbopack `ChunkLoadError` by @chargome in [#104940](https://github.com/getsentry/sentry/pull/104940)\n- feat(issues): Match breadcrumb absolute format to logs etc by @scttcper in [#105012](https://github.com/getsentry/sentry/pull/105012)\n- feat(issues): Rewrite issues diff modal as FC by @scttcper in [#104864](https://github.com/getsentry/sentry/pull/104864)\n\n- feat(oauth): Add PKCE support for OAuth2 authorization code flow by @dcramer in [#104418](https://github.com/getsentry/sentry/pull/104418)\n\n#### Occurrences\n\n- feat(occurrences): Add tagname attr to eap by @thetruecpaul in [#105074](https://github.com/getsentry/sentry/pull/105074)\n- feat(occurrences): Add RPCBase  boilerplate by @thetruecpaul in [#104842](https://github.com/getsentry/sentry/pull/104842)\n\n#### Occurrences On Eap\n\n- 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)\n- 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)\n- 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)\n\n#### Onboarding\n\n- feat(onboarding): Update profiling option to `profileSessionSampleRate` by @s1gr1d in [#104947](https://github.com/getsentry/sentry/pull/104947)\n- feat(onboarding): Add wrapFetchWithSentry to Tanstack Start onboarding by @nicohrubec in [#105213](https://github.com/getsentry/sentry/pull/105213)\n\n#### Preprod\n\n- feat(preprod): distribution modal on builds table by @mtopo27 in [#105403](https://github.com/getsentry/sentry/pull/105403)\n- feat(preprod): add endpoint to fetch dashboard data by @trevor-e in [#105309](https://github.com/getsentry/sentry/pull/105309)\n- feat(preprod): Add artifact and metric ids to issue evidence_data by @chromy in [#105323](https://github.com/getsentry/sentry/pull/105323)\n- feat(preprod): add basic base build info to build details api (EME-679) by @cameroncooke in [#105145](https://github.com/getsentry/sentry/pull/105145)\n- feat(preprod): Wireup app icon frontend by @rbro112 in [#102118](https://github.com/getsentry/sentry/pull/102118)\n- feat(preprod): Add preprod images download endpoint by @rbro112 in [#102117](https://github.com/getsentry/sentry/pull/102117)\n- feat(preprod): Add some basic tags to size issues by @chromy in [#105072](https://github.com/getsentry/sentry/pull/105072)\n- feat(preprod): Xray diff by @rbro112 in [#105016](https://github.com/getsentry/sentry/pull/105016)\n- feat(preprod): enable EAP writes behind a flag by @trevor-e in [#104913](https://github.com/getsentry/sentry/pull/104913)\n- feat(preprod): Set platform on size issues by @chromy in [#105039](https://github.com/getsentry/sentry/pull/105039)\n- feat(preprod): Show size issues in search by @chromy in [#104963](https://github.com/getsentry/sentry/pull/104963)\n- feat(preprod): add read/write helpers for EAP data by @trevor-e in [#104810](https://github.com/getsentry/sentry/pull/104810)\n\n- feat(Replay): Write User Attributes to EAP Trace Item by @cliffordxing in [#105289](https://github.com/getsentry/sentry/pull/105289)\n\n#### Replays\n\n- feat(replays): guard API endpoints by granular replay access by @shellmayr in [#104955](https://github.com/getsentry/sentry/pull/104955)\n- 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)\n- feat(replays): Granular permissions frontend by @ArthurKnaus in [#104671](https://github.com/getsentry/sentry/pull/104671)\n\n- 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)\n\n- feat(security): adjustments to GitHub secret scanning endpoint by @oioki in [#105024](https://github.com/getsentry/sentry/pull/105024)\n\n#### Seer\n\n- feat(seer): Change \"Wrap Up\" steps to be dynamic by @billyvg in [#105201](https://github.com/getsentry/sentry/pull/105201)\n- feat(seer): Add analytics to new Seer onboarding by @billyvg in [#105189](https://github.com/getsentry/sentry/pull/105189)\n- feat(seer): Redirect to settings when onboarding is completed by @billyvg in [#105190](https://github.com/getsentry/sentry/pull/105190)\n- feat(seer): Implement a page to set repo-specific seer settings by @ryan953 in [#105171](https://github.com/getsentry/sentry/pull/105171)\n- feat(seer): Use `onboarding-check` endpoint for wizard by @billyvg in [#105008](https://github.com/getsentry/sentry/pull/105008)\n- feat(seer): Add \"org defaults\" step for seer onboarding by @billyvg in [#105091](https://github.com/getsentry/sentry/pull/105091)\n- feat(seer): Add bulk editing to Seer > Project list page by @ryan953 in [#105044](https://github.com/getsentry/sentry/pull/105044)\n- feat(seer): Handle unconfigured seer for project by @Zylphrex in [#105057](https://github.com/getsentry/sentry/pull/105057)\n- feat(seer): Always show new onboarding with flag `seat-based-seer-enabled` by @billyvg in [#104972](https://github.com/getsentry/sentry/pull/104972)\n- feat(seer): Add hook to determine when to show new Seer billing UI by @billyvg in [#105049](https://github.com/getsentry/sentry/pull/105049)\n- feat(seer): Add error alert in RCA step when missing project mapping by @billyvg in [#104985](https://github.com/getsentry/sentry/pull/104985)\n- feat(seer): Add success toasts for each step by @billyvg in [#104984](https://github.com/getsentry/sentry/pull/104984)\n- feat(seer): Remove flag and add `org:write` check for new wizard by @billyvg in [#104974](https://github.com/getsentry/sentry/pull/104974)\n\n#### Seer Settings\n\n- 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)\n- feat(seer settings): Onboarding wizard should only set org level options by @Mihir-Mavalankar in [#104995](https://github.com/getsentry/sentry/pull/104995)\n\n- feat(seer-workflows): Add new button for issue alerts by @leeandher in [#104898](https://github.com/getsentry/sentry/pull/104898)\n\n- feat(spans): Emit ingested byte count and span count per segment by @lvthanh03 in [#104968](https://github.com/getsentry/sentry/pull/104968)\n\n- feat(tagstore): add double-read from EAP by @thetruecpaul in [#104873](https://github.com/getsentry/sentry/pull/104873)\n\n- feat(theme): add theme types by @natemoo-re in [#105273](https://github.com/getsentry/sentry/pull/105273)\n\n#### Trace Tree Node\n\n- feat(trace-tree-node): Falling back to span name in waterfall by @Abdkhan14 in [#105173](https://github.com/getsentry/sentry/pull/105173)\n- feat(trace-tree-node): Using BaseNode methods to mitigate guards usage by @Abdkhan14 in [#103083](https://github.com/getsentry/sentry/pull/103083)\n\n- feat(trace-waterfall): Add trace count disagree info by @nsdeschenes in [#104962](https://github.com/getsentry/sentry/pull/104962)\n\n#### Tracemetrics\n\n- feat(tracemetrics): Use new timeseries visualization by @narsaynorath in [#105176](https://github.com/getsentry/sentry/pull/105176)\n- feat(tracemetrics): Only show relevant attributes in filter and group by by @narsaynorath in [#104871](https://github.com/getsentry/sentry/pull/104871)\n- feat(tracemetrics): Add PHP and Laravel to metrics allowlist by @narsaynorath in [#105090](https://github.com/getsentry/sentry/pull/105090)\n- feat(tracemetrics): Enforce a single metric in widget builder by @narsaynorath in [#104800](https://github.com/getsentry/sentry/pull/104800)\n\n#### Ui\n\n- feat(ui): Mention turbopack for `ChunkLoadError` filtering by @chargome in [#104941](https://github.com/getsentry/sentry/pull/104941)\n- feat(ui): virtualization for compactSelect (#2) by @TkDodo in [#104805](https://github.com/getsentry/sentry/pull/104805)\n\n#### Unity\n\n- feat(Unity): Add Unity context type tag mapping by @bitsandfoxes in [#104956](https://github.com/getsentry/sentry/pull/104956)\n- feat(Unity): Added `is_main_thread` to Unity context by @bitsandfoxes in [#104952](https://github.com/getsentry/sentry/pull/104952)\n\n#### Uptime\n\n- feat(uptime): Record backfill misses with sub-status by @evanpurkhiser in [#104975](https://github.com/getsentry/sentry/pull/104975)\n- feat(uptime): Add detector type filtering to hide onboarding monitors by @evanpurkhiser in [#104601](https://github.com/getsentry/sentry/pull/104601)\n\n- feat(utils): Add SafeRolloutComparator rollout util by @thetruecpaul in [#104888](https://github.com/getsentry/sentry/pull/104888)\n\n#### Other\n\n- feat: Update condition where we capture missing models in frontend by @priscilawebdev in [#105320](https://github.com/getsentry/sentry/pull/105320)\n- feat: Create sentry issue for each model when token cost is missing by @priscilawebdev in [#105319](https://github.com/getsentry/sentry/pull/105319)\n- feat: check repo public/private status metric by @ajay-sentry in [#105271](https://github.com/getsentry/sentry/pull/105271)\n- feat: Update bulk update endpoint to also allow sending repo mapping object by @ajay-sentry in [#105198](https://github.com/getsentry/sentry/pull/105198)\n- feat: Add code to track missing model by @priscilawebdev in [#105139](https://github.com/getsentry/sentry/pull/105139)\n- feat: SelectTrigger.IconButton by @TkDodo in [#105135](https://github.com/getsentry/sentry/pull/105135)\n- feat: Improve API doc of the endpoint project-keys by @priscilawebdev in [#105131](https://github.com/getsentry/sentry/pull/105131)\n- feat: Add RPC endpoint for fetching Code Review eligibility status in OW by @ajay-sentry in [#104907](https://github.com/getsentry/sentry/pull/104907)\n- feat: set custom_referrer if projects visited from org menu by @bcoe in [#104902](https://github.com/getsentry/sentry/pull/104902)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- 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)\n- fix(aci): Fix timestamp propagation bug in delayed_workflow by @kcons in [#105203](https://github.com/getsentry/sentry/pull/105203)\n\n- fix(AD): Check for NaNs by @ceorourke in [#104909](https://github.com/getsentry/sentry/pull/104909)\n\n#### Agents\n\n- fix(agents): Read messages length from attribute by @ArthurKnaus in [#105030](https://github.com/getsentry/sentry/pull/105030)\n- fix(agents): Restore 'agent-monitoring.page-view' analytic event by @priscilawebdev in [#105022](https://github.com/getsentry/sentry/pull/105022)\n\n#### Ai\n\n- fix(ai): Re-order operation type matching values by @vgrozdanic in [#105211](https://github.com/getsentry/sentry/pull/105211)\n- fix(ai): Add vercel operation names to operation type mapping by @vgrozdanic in [#105025](https://github.com/getsentry/sentry/pull/105025)\n\n- fix(ai-conversations): pass sampling mode by @obostjancic in [#105218](https://github.com/getsentry/sentry/pull/105218)\n\n- fix(ai-insights): conversation messages by @obostjancic in [#105221](https://github.com/getsentry/sentry/pull/105221)\n\n#### Api\n\n- fix(api): Fix various missing API ID validations by @yuvmen in [#105115](https://github.com/getsentry/sentry/pull/105115)\n- fix(api): Accept project IDs as strings in organization releases endpoint by @szokeasaurusrex in [#105159](https://github.com/getsentry/sentry/pull/105159)\n\n- fix(assisted-query): return built in fields for spans and logs by @roaga in [#104935](https://github.com/getsentry/sentry/pull/104935)\n\n#### Autofix\n\n- fix(autofix): Open autofix project settings in new tab by @Zylphrex in [#105187](https://github.com/getsentry/sentry/pull/105187)\n- fix(autofix): Show warning icon when no root cause found by @Zylphrex in [#105207](https://github.com/getsentry/sentry/pull/105207)\n- fix(autofix): Full width summary loading placeholder by @Zylphrex in [#105191](https://github.com/getsentry/sentry/pull/105191)\n- fix(autofix): Stop fetching autofix on completion by @Zylphrex in [#105106](https://github.com/getsentry/sentry/pull/105106)\n- fix(autofix): Update seer onboarding route in issue details by @Zylphrex in [#105043](https://github.com/getsentry/sentry/pull/105043)\n\n#### Billing\n\n- fix(billing): Handle missing MH for add-on subcategories by @isabellaenriquez in [#104695](https://github.com/getsentry/sentry/pull/104695)\n- fix(billing): Show prepaid volumes for add-ons by @isabellaenriquez in [#104893](https://github.com/getsentry/sentry/pull/104893)\n\n- fix(checkout): Adjust padding for error alert by @isabellaenriquez in [#105242](https://github.com/getsentry/sentry/pull/105242)\n\n- fix(code-review): Add more checks to the code review checkrun by @suejung-sentry in [#105236](https://github.com/getsentry/sentry/pull/105236)\n\n#### Dashboards\n\n- fix(dashboards): Only link to platformized frontend session health by @edwardgou-sentry in [#105392](https://github.com/getsentry/sentry/pull/105392)\n- fix(dashboards): units not working on span widgets + new visualization by @DominikB2014 in [#105275](https://github.com/getsentry/sentry/pull/105275)\n- 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)\n- fix(dashboards): Add to new dashboards saves widget by @narsaynorath in [#105089](https://github.com/getsentry/sentry/pull/105089)\n\n#### Discover\n\n- fix(discover): Saved Queries breadcrumb shouldn't show if no ID by @narsaynorath in [#105328](https://github.com/getsentry/sentry/pull/105328)\n- fix(discover): Update docs link for getting samples via dynamic sampling by @shashjar in [#104924](https://github.com/getsentry/sentry/pull/104924)\n\n- fix(dropdown-menu): Normalize links in the dropdown menu by @malwilley in [#105253](https://github.com/getsentry/sentry/pull/105253)\n\n- fix(dynamic grouping): Remove unnecessary `deprecatedRouteProps` by @shashjar in [#105003](https://github.com/getsentry/sentry/pull/105003)\n\n- fix(eap): Fix item helpers test by @thetruecpaul in [#105161](https://github.com/getsentry/sentry/pull/105161)\n\n- fix(escalating_forecast): Fix Weekly Escalating Forecasts task timeouts by @yuvmen in [#104662](https://github.com/getsentry/sentry/pull/104662)\n\n- fix(events-trace): Consistent child sort key format by @Zylphrex in [#105186](https://github.com/getsentry/sentry/pull/105186)\n\n- fix(eventstream): Handle None tags during attribute encoding by @seer-by-sentry in [#105306](https://github.com/getsentry/sentry/pull/105306)\n\n- fix(explore): Compare not wrapped in query param context by @nsdeschenes in [#105412](https://github.com/getsentry/sentry/pull/105412)\n\n- fix(explore-attr-breakdowns): Fixing forward back nav state by @Abdkhan14 in [#105114](https://github.com/getsentry/sentry/pull/105114)\n\n- fix(explorer): use merged file patches on UI by @roaga in [#104927](https://github.com/getsentry/sentry/pull/104927)\n\n- fix(insights): Update supported browsers for web vitals by @Lms24 in [#105220](https://github.com/getsentry/sentry/pull/105220)\n\n- 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)\n\n- fix(issues): Fix autogenerated received timestamp by @chromy in [#104958](https://github.com/getsentry/sentry/pull/104958)\n\n- fix(loader): adhere to CSP, unflag feature check by @natemoo-re in [#105051](https://github.com/getsentry/sentry/pull/105051)\n\n#### Logs\n\n- fix(logs): update withoutLoggingSupport to remove platforms which support logs by @JoshuaMoelans in [#102398](https://github.com/getsentry/sentry/pull/102398)\n- fix(logs): Use replace for first page param init by @narsaynorath in [#105046](https://github.com/getsentry/sentry/pull/105046)\n\n- fix(nintendo): CRPORTAL case by @mujacica in [#105058](https://github.com/getsentry/sentry/pull/105058)\n\n- fix(np): random.randint by @Christinarlong in [#105099](https://github.com/getsentry/sentry/pull/105099)\n\n- fix(oauth): Require organization_id for org-level access applications by @dcramer in [#105064](https://github.com/getsentry/sentry/pull/105064)\n\n- fix(occurrences): Add default start/end by @thetruecpaul in [#105315](https://github.com/getsentry/sentry/pull/105315)\n\n- fix(other-onboarding): Fallback for missing DSN by @ArthurKnaus in [#105409](https://github.com/getsentry/sentry/pull/105409)\n\n- fix(pr-review): Fix register seer launch ffs by @suejung-sentry in [#105001](https://github.com/getsentry/sentry/pull/105001)\n\n#### Preprod\n\n- fix(preprod): Hide 'Span Evidence' section for preprod issues by @chromy in [#105254](https://github.com/getsentry/sentry/pull/105254)\n- fix(preprod): use separate producer for preprod EAP by @trevor-e in [#105197](https://github.com/getsentry/sentry/pull/105197)\n- fix(preprod): Align buttons by @chromy in [#105224](https://github.com/getsentry/sentry/pull/105224)\n- fix(preprod): Fix insight savings formatting by @rbro112 in [#105182](https://github.com/getsentry/sentry/pull/105182)\n- fix(preprod): Replace vUnknown with placeholder by @chromy in [#105146](https://github.com/getsentry/sentry/pull/105146)\n- fix(preprod): Equal height compare buttons by @chromy in [#105158](https://github.com/getsentry/sentry/pull/105158)\n- 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)\n- fix(preprod): Use preprod namespace for tasks by @chromy in [#104759](https://github.com/getsentry/sentry/pull/104759)\n\n#### Replay\n\n- fix(replay): Fix replay timeline scrubber zoom by @ryan953 in [#104932](https://github.com/getsentry/sentry/pull/104932)\n- fix(replay): Format access update notification by @ArthurKnaus in [#105033](https://github.com/getsentry/sentry/pull/105033)\n\n#### Replay Permissions\n\n- fix(replay-permissions): Check for active superuser by @ArthurKnaus in [#105141](https://github.com/getsentry/sentry/pull/105141)\n- fix(replay-permissions): Grant superuser access by @ArthurKnaus in [#105127](https://github.com/getsentry/sentry/pull/105127)\n\n- 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)\n\n- fix(scraps): do not spread all styles from theme.font onto button by @TkDodo in [#104976](https://github.com/getsentry/sentry/pull/104976)\n\n- fix(search-bar): Keep menu open when clicking on scrollbar by @nsdeschenes in [#105270](https://github.com/getsentry/sentry/pull/105270)\n\n- fix(security): IDOR in OrganizationDeriveCodeMappingsEndpoint - scope Project by organization by @dcramer in [#104980](https://github.com/getsentry/sentry/pull/104980)\n\n#### Seer\n\n- fix(seer): Fix stale query data after using wizard (RCA) by @billyvg in [#105343](https://github.com/getsentry/sentry/pull/105343)\n- fix(seer): Empty state blurs input focus by @billyvg in [#105336](https://github.com/getsentry/sentry/pull/105336)\n- fix(seer): Fix stale query data after using wizard by @billyvg in [#105250](https://github.com/getsentry/sentry/pull/105250)\n- fix(seer): Fix RCA onboarding step to update autofix option by @billyvg in [#105181](https://github.com/getsentry/sentry/pull/105181)\n- fix(seer): Fix normalized URLs for Seer settings tabs by @billyvg in [#105202](https://github.com/getsentry/sentry/pull/105202)\n- 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)\n- fix(seer): Do not use singleLineRenderer unnecessarily by @ryan953 in [#105154](https://github.com/getsentry/sentry/pull/105154)\n- fix(seer): Stop overriding codeReviewTriggers when bulk updating settings by @ryan953 in [#104912](https://github.com/getsentry/sentry/pull/104912)\n- fix(seer): Don't override when bulk updating settings by @srest2021 in [#104918](https://github.com/getsentry/sentry/pull/104918)\n\n#### Seer Billing\n\n- fix(seer billing): remove author association check by @srest2021 in [#105256](https://github.com/getsentry/sentry/pull/105256)\n- fix(seer billing): add collaborator to allowed author associations by @srest2021 in [#105180](https://github.com/getsentry/sentry/pull/105180)\n\n- fix(sentry-apps): Prevent inactive applications from refreshing tokens by @dcramer in [#105269](https://github.com/getsentry/sentry/pull/105269)\n\n- fix(settings migration): Move cache set to end of the function by @Mihir-Mavalankar in [#105071](https://github.com/getsentry/sentry/pull/105071)\n\n- fix(snuba): Lower timestamp quantization for 30d queries by @Zylphrex in [#105266](https://github.com/getsentry/sentry/pull/105266)\n\n- fix(spans-migration): fix threshold button styling on extrapolation mode banner by @nikkikapadia in [#104961](https://github.com/getsentry/sentry/pull/104961)\n\n- fix(stories): remove unused icons by @natemoo-re in [#105285](https://github.com/getsentry/sentry/pull/105285)\n\n- fix(suspect flags): Use `Referrer` enum values when querying Snuba by @shashjar in [#105086](https://github.com/getsentry/sentry/pull/105086)\n\n- fix(tests): skip flaky tests by @JoshFerge in [#105125](https://github.com/getsentry/sentry/pull/105125)\n\n#### Trace Waterfall\n\n- fix(trace-waterfall): Truncate subtitle text by @nsdeschenes in [#104967](https://github.com/getsentry/sentry/pull/104967)\n- fix(trace-waterfall): Make Open in Explore button a link button by @nsdeschenes in [#104964](https://github.com/getsentry/sentry/pull/104964)\n\n- fix(tracemetrics): Hide hidden fields in fields that display attributes by @narsaynorath in [#105239](https://github.com/getsentry/sentry/pull/105239)\n\n- fix(ui): Fix removed `open` prop from SlideOverPanel by @billyvg in [#105334](https://github.com/getsentry/sentry/pull/105334)\n\n- fix(upsell): Correct plan upsell for unlimited dashboards by @isabellaenriquez in [#105000](https://github.com/getsentry/sentry/pull/105000)\n\n#### Uptime\n\n- fix(uptime): Enforce environment requirement by @evanpurkhiser in [#105102](https://github.com/getsentry/sentry/pull/105102)\n- fix(uptime): Use simple uuid format by @evanpurkhiser in [#105053](https://github.com/getsentry/sentry/pull/105053)\n\n#### Other\n\n- fix: forward triggerProps id to custom trigger by @TkDodo in [#105129](https://github.com/getsentry/sentry/pull/105129)\n- fix: Correct missing organization constraint in PromptsActivityEndpoint by @dcramer in [#104920](https://github.com/getsentry/sentry/pull/104920)\n\n### Build / dependencies / internal 🔧\n\n#### Aci\n\n- chore(ACI): Add back upsampled tests by @ceorourke in [#105272](https://github.com/getsentry/sentry/pull/105272)\n- chore(ACI): Add back subscription processor test coverage by @ceorourke in [#105113](https://github.com/getsentry/sentry/pull/105113)\n- chore(aci): Update copy for alert conditions by @malwilley in [#105304](https://github.com/getsentry/sentry/pull/105304)\n- chore(ACI): Add test coverage for legacy webhooks firing by @ceorourke in [#104892](https://github.com/getsentry/sentry/pull/104892)\n\n- chore(ad): Downgrade error to warning by @ceorourke in [#105060](https://github.com/getsentry/sentry/pull/105060)\n\n- chore(anomaly threshold): add support for alerts  by @shayna-ch in [#105294](https://github.com/getsentry/sentry/pull/105294)\n\n#### Anomaly Thresholds\n\n- 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)\n- chore(anomaly thresholds): remove yellow seer line from graph by @shayna-ch in [#104896](https://github.com/getsentry/sentry/pull/104896)\n\n#### Api\n\n- chore(api): Use org-scoped related-issues endpoint in frontend by @malwilley in [#105068](https://github.com/getsentry/sentry/pull/105068)\n- chore(api): Use new route structure for some admin endpoints by @malwilley in [#105103](https://github.com/getsentry/sentry/pull/105103)\n- chore(api): Add org-scoped endpoint for related issues endpoint by @malwilley in [#105015](https://github.com/getsentry/sentry/pull/105015)\n\n#### Billing\n\n- chore(billing): Add additional analytics + referrers for overview by @isabellaenriquez in [#105232](https://github.com/getsentry/sentry/pull/105232)\n- chore(billing): Set maxAdminGift to 100 for Seer User by @brendanhsentry in [#105200](https://github.com/getsentry/sentry/pull/105200)\n\n- chore(checkout): Update routing by @isabellaenriquez in [#105059](https://github.com/getsentry/sentry/pull/105059)\n\n- chore(code-review): Add audit log for edit repos projects by @suejung-sentry in [#105297](https://github.com/getsentry/sentry/pull/105297)\n\n- chore(cross-event): Add in some basic analytics by @nsdeschenes in [#105075](https://github.com/getsentry/sentry/pull/105075)\n\n#### Dashboards\n\n- 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)\n- chore(dashboards): Add feature flag for migration of Mobile Vitals to Dashboards Platform by @gggritso in [#105147](https://github.com/getsentry/sentry/pull/105147)\n\n- chore(devservices): Bump devservices to 1.2.4 by @hubertdeng123 in [#105195](https://github.com/getsentry/sentry/pull/105195)\n\n- chore(events-trace): Add trace roots to sentry context for debugging by @Zylphrex in [#105144](https://github.com/getsentry/sentry/pull/105144)\n\n- chore(explore): Hardcode some user string attrs by @nsdeschenes in [#105340](https://github.com/getsentry/sentry/pull/105340)\n\n- chore(explorer): misc frontend improvements by @roaga in [#105098](https://github.com/getsentry/sentry/pull/105098)\n\n- chore(i18n): Remove \"Defaulting to english\" console warning by @ryan953 in [#104933](https://github.com/getsentry/sentry/pull/104933)\n\n- chore(infra): Remove unused codecov ATS workflow by @rbro112 in [#105305](https://github.com/getsentry/sentry/pull/105305)\n\n#### Llm Detector\n\n- chore(llm-detector): Only log success if we look at traces by @roggenkemper in [#105243](https://github.com/getsentry/sentry/pull/105243)\n- chore(llm-detector): Add deduplication of trace ids by @roggenkemper in [#105231](https://github.com/getsentry/sentry/pull/105231)\n- chore(llm-detector): Add trace id to log by @roggenkemper in [#105188](https://github.com/getsentry/sentry/pull/105188)\n- chore(llm-detector): Make `verification_reason` required by @roggenkemper in [#105178](https://github.com/getsentry/sentry/pull/105178)\n- chore(llm-detector): Add `traces_analyzed`  by @roggenkemper in [#105080](https://github.com/getsentry/sentry/pull/105080)\n- chore(llm-detector): Add `verification_reason` to model by @roggenkemper in [#104997](https://github.com/getsentry/sentry/pull/104997)\n\n- chore(logs): Add trace filter key suggestion by @nsdeschenes in [#105054](https://github.com/getsentry/sentry/pull/105054)\n\n- chore(nav): fix help button tooltip position by @mtopo27 in [#105288](https://github.com/getsentry/sentry/pull/105288)\n\n- chore(np): Change option configuration to be rollout + source based by @Christinarlong in [#105006](https://github.com/getsentry/sentry/pull/105006)\n\n- chore(objectstore): Update example on options by @jan-auer in [#105037](https://github.com/getsentry/sentry/pull/105037)\n\n- chore(performance): Removes old transaction summary vitals page by @edwardgou-sentry in [#105235](https://github.com/getsentry/sentry/pull/105235)\n\n#### Preprod\n\n- 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)\n- chore(preprod): point mobile build breadcrumbs to mobile tab (EME-689) by @mtopo27 in [#105076](https://github.com/getsentry/sentry/pull/105076)\n- chore(preprod): fix alignment + color on build details cards by @mtopo27 in [#104973](https://github.com/getsentry/sentry/pull/104973)\n\n- chore(profiling): Remove product trial alerts from am3 profiling page by @Zylphrex in [#105042](https://github.com/getsentry/sentry/pull/105042)\n\n- chore(releases): docs link for empty state by @mtopo27 in [#104770](https://github.com/getsentry/sentry/pull/104770)\n\n#### Replay\n\n- chore(replay): Default to AI Summary tab when able by @nsdeschenes in [#105032](https://github.com/getsentry/sentry/pull/105032)\n- chore(replay): Hide logs tab when project does not have logs by @nsdeschenes in [#105034](https://github.com/getsentry/sentry/pull/105034)\n\n#### Search Bar\n\n- 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)\n- chore(search-bar): Move case sensitive to custom parser by @nsdeschenes in [#105179](https://github.com/getsentry/sentry/pull/105179)\n\n#### Seer\n\n- chore(seer): Add SEER_USERS pricing docs url by @isabellaenriquez in [#105233](https://github.com/getsentry/sentry/pull/105233)\n- chore(seer): cleanup unused ProjectAutofixAutomationSettingsEndpoint by @ryan953 in [#104979](https://github.com/getsentry/sentry/pull/104979)\n- chore(seer): Rename Seer settings button to match page title by @ryan953 in [#105150](https://github.com/getsentry/sentry/pull/105150)\n- chore(seer): Remove temporary flags used while building seat-based seer ui by @ryan953 in [#105088](https://github.com/getsentry/sentry/pull/105088)\n- 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)\n- chore(seer): Update seer ship asset by @Zylphrex in [#104998](https://github.com/getsentry/sentry/pull/104998)\n\n- chore(seer settings migration): Sample the function at 100% and add context by @Mihir-Mavalankar in [#104971](https://github.com/getsentry/sentry/pull/104971)\n\n- chore(spans): Update first available date for downsampled spans by @Zylphrex in [#105155](https://github.com/getsentry/sentry/pull/105155)\n\n- chore(theme): update typography tokens by @natemoo-re in [#105293](https://github.com/getsentry/sentry/pull/105293)\n\n#### Other\n\n- ci: upgrade to action-setup-venv 3.2.0 by @joshuarli in [#105357](https://github.com/getsentry/sentry/pull/105357)\n- chore (aci): gate new metric alert charts with UI rollout flag by @mifu67 in [#104992](https://github.com/getsentry/sentry/pull/104992)\n- chore: Add `dev-ui-production` script by @gggritso in [#104736](https://github.com/getsentry/sentry/pull/104736)\n\n### Other\n\n- insights draw doesn’t work on mobile (EME-518) by @cameroncooke in [#105413](https://github.com/getsentry/sentry/pull/105413)\n- ref(autopilot): Simplify outdated SDK detection by @ArthurKnaus in [#105411](https://github.com/getsentry/sentry/pull/105411)\n- ref(admin): Remove usage of `deprecatedRouteProps` for `AdminUsers` by @shashjar in [#105351](https://github.com/getsentry/sentry/pull/105351)\n- ref(admin): Remove usage of `deprecatedRouteProps` for `AdminProjects` by @shashjar in [#105350](https://github.com/getsentry/sentry/pull/105350)\n- ref(admin): Remove usage of `deprecateRouteProps` for `AdminOrganizations` by @shashjar in [#105349](https://github.com/getsentry/sentry/pull/105349)\n- ref(admin): Remove usage of `deprecatedRouteProps` for `AdminRelays` by @shashjar in [#105347](https://github.com/getsentry/sentry/pull/105347)\n- ref(discover): Remove usages of `deprecatedRouteProps` from Discover views by @shashjar in [#104923](https://github.com/getsentry/sentry/pull/104923)\n- tabs: remove hideborder by @JonasBa in [#105375](https://github.com/getsentry/sentry/pull/105375)\n- codemod(flex): apply changes for @getsentry/app-frontend by @JonasBa in [#105359](https://github.com/getsentry/sentry/pull/105359)\n- codemod(flex): apply changes for @getsentry/issue-workflow by @JonasBa in [#105355](https://github.com/getsentry/sentry/pull/105355)\n- ref(code_review): Prepare code for more webhooks by @armenzg in [#105326](https://github.com/getsentry/sentry/pull/105326)\n- ref(encryption): Refactor encrypted field by @vgrozdanic in [#105383](https://github.com/getsentry/sentry/pull/105383)\n- ref(preprod): Show detailed error for mismatched app comparisons (EME-700) by @runningcode in [#105148](https://github.com/getsentry/sentry/pull/105148)\n- ref(explorer): wrap tool call text by @aliu39 in [#105291](https://github.com/getsentry/sentry/pull/105291)\n- acceptance: bump runners to 10 by @JonasBa in [#104791](https://github.com/getsentry/sentry/pull/104791)\n- codemod(flex): apply changes for @getsentry/dashboards by @JonasBa in [#105361](https://github.com/getsentry/sentry/pull/105361)\n- codemod(flex): apply changes for @getsentry/machine-learning-ai by @JonasBa in [#105356](https://github.com/getsentry/sentry/pull/105356)\n- codemod(flex): apply changes for @getsentry/replay-frontend by @JonasBa in [#105345](https://github.com/getsentry/sentry/pull/105345)\n- ref(context): Migrate `OrganizationContext` component tests off of `deprecatedRouterMocks` by @shashjar in [#105283](https://github.com/getsentry/sentry/pull/105283)\n- ref(projects): Remove additional usage of `deprecatedRouteProps` for project routes parent by @shashjar in [#105311](https://github.com/getsentry/sentry/pull/105311)\n- ref(alerts): Remove usage of `deprecatedRouteProps` for `AlertRulesList` route by @shashjar in [#105310](https://github.com/getsentry/sentry/pull/105310)\n- Reapply \"ref(prevent): Refactor prevent settings (#104539)\" by @ryan953 in [#105332](https://github.com/getsentry/sentry/pull/105332)\n- theme: remove translucent colors by @JonasBa in [#105329](https://github.com/getsentry/sentry/pull/105329)\n- theme: read palette from theme by @JonasBa in [#105330](https://github.com/getsentry/sentry/pull/105330)\n\n_Plus 83 more_","publishedAt":"2025-12-23T16:34:49.000Z","fetchedAt":"2026-03-31T14:09:58.158Z","url":"https://github.com/getsentry/sentry/releases/tag/25.12.1","media":[],"coverageCount":0},{"id":"rel_VOE8K6Jvvj9OEQuTuSLnL","version":"25.12.0","type":"feature","title":"25.12.0","summary":"### New Features ✨\n\n#### Aci\n\n- feat(aci): Metric monitor form should default to number of errors by @malwilley in [#104878](https://github.com/getsen...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n#### Aci\n\n- feat(aci): Metric monitor form should default to number of errors by @malwilley in [#104878](https://github.com/getsentry/sentry/pull/104878)\n- feat(aci): add disabled alert to error/metric monitors and alerts by @ameliahsu in [#104756](https://github.com/getsentry/sentry/pull/104756)\n- feat(aci): show test notification errors in UI by @ameliahsu in [#104708](https://github.com/getsentry/sentry/pull/104708)\n- feat(aci): Always redirect from alerts when clicking from notification by @malwilley in [#104782](https://github.com/getsentry/sentry/pull/104782)\n- feat(aci): Add 'open in' button to issue details by @malwilley in [#104593](https://github.com/getsentry/sentry/pull/104593)\n- feat(aci): Add an open in explore button to metric detector charts by @malwilley in [#104301](https://github.com/getsentry/sentry/pull/104301)\n- feat(aci): Add contributing issues section to metric issue by @malwilley in [#104407](https://github.com/getsentry/sentry/pull/104407)\n- feat(aci): Add detector config to issues created by detectors by @malwilley in [#104347](https://github.com/getsentry/sentry/pull/104347)\n- feat(aci): Add option to send workflow evaluation logs directly to Sentry by @kcons in [#104434](https://github.com/getsentry/sentry/pull/104434)\n- feat(aci): Add simpler UX for connecting alerts to a project by @malwilley in [#104221](https://github.com/getsentry/sentry/pull/104221)\n- feat(aci): Add metric issue event details by @malwilley in [#103995](https://github.com/getsentry/sentry/pull/103995)\n\n- feat(admin): Add cell routing to spike protection batch by @scttcper in [#104424](https://github.com/getsentry/sentry/pull/104424)\n\n#### Agents\n\n- feat(agents): Render markdown and allow switching to raw values by @ArthurKnaus in [#104850](https://github.com/getsentry/sentry/pull/104850)\n- feat(agents): Preserve icon on spans with error by @ArthurKnaus in [#104937](https://github.com/getsentry/sentry/pull/104937)\n- feat(agents): Add browser js onboarding by @ArthurKnaus in [#104571](https://github.com/getsentry/sentry/pull/104571)\n\n- feat(ai-insights): move analytics event to event timeseries by @obostjancic in [#104386](https://github.com/getsentry/sentry/pull/104386)\n\n- feat(analytics): Add Seer feature tracking to issue_details.seer_opened event by @JoshFerge in [#104547](https://github.com/getsentry/sentry/pull/104547)\n\n- feat(anomaly): add seer anomaly thresholds to metric monitor graph by @shayna-ch in [#104074](https://github.com/getsentry/sentry/pull/104074)\n\n- feat(attribute-distributions): parallelize stats query by @shruthilayaj in [#104113](https://github.com/getsentry/sentry/pull/104113)\n\n- feat(auth): Bring back SPA auth page, remove deprecated props by @scttcper in [#104372](https://github.com/getsentry/sentry/pull/104372)\n\n#### Autofix\n\n- 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)\n- feat(autofix): add UI for explorer-backed agent by @roaga in [#104618](https://github.com/getsentry/sentry/pull/104618)\n- feat(autofix): migrate to explorer agent by @roaga in [#104615](https://github.com/getsentry/sentry/pull/104615)\n- feat(autofix): Add email-based user mapping for Seer Autofix PR review requests by @JoshFerge in [#103406](https://github.com/getsentry/sentry/pull/103406)\n\n#### Billing\n\n- feat(billing): Migrate chart functions to use DATA_CATEGORY_INFO formatting by @dashed in [#104688](https://github.com/getsentry/sentry/pull/104688)\n- feat(billing): Add-on product trials in \\_admin by @isabellaenriquez in [#104789](https://github.com/getsentry/sentry/pull/104789)\n- feat(billing): Add formatting configuration to DATA_CATEGORY_INFO formatting by @dashed in [#104025](https://github.com/getsentry/sentry/pull/104025)\n- feat(billing): Add formatting configuration to DATA_CATEGORY_INFO by @dashed in [#104023](https://github.com/getsentry/sentry/pull/104023)\n- feat(billing): Add hook for product billing access by @isabellaenriquez in [#104633](https://github.com/getsentry/sentry/pull/104633)\n\n#### Cells\n\n- feat(cells): make email capture demo mode control-silo only by @lynnagara in [#104488](https://github.com/getsentry/sentry/pull/104488)\n- feat(cells): begin moving the email capture endpoint to control by @lynnagara in [#104413](https://github.com/getsentry/sentry/pull/104413)\n- feat(cells): make tempest ips control only by @lynnagara in [#104305](https://github.com/getsentry/sentry/pull/104305)\n- feat(cells): begin moving ip address endpoints to control by @lynnagara in [#104271](https://github.com/getsentry/sentry/pull/104271)\n\n#### Code Review\n\n- feat(code-review): Add single GET repo query param by @suejung-sentry in [#104839](https://github.com/getsentry/sentry/pull/104839)\n- feat(code-review): Add overwatch repo settings rpc by @suejung-sentry in [#104744](https://github.com/getsentry/sentry/pull/104744)\n- feat(code-review): Handle auto enable code review on repoCreated by @suejung-sentry in [#104666](https://github.com/getsentry/sentry/pull/104666)\n- feat(code-review): Add Seer onboarding/settings status endpoint by @srest2021 in [#104636](https://github.com/getsentry/sentry/pull/104636)\n\n#### Crons\n\n- feat(crons): Add upsert guides to detector cron creation by @evanpurkhiser in [#104353](https://github.com/getsentry/sentry/pull/104353)\n- feat(crons): Add icons to platform quick start picker by @evanpurkhiser in [#104341](https://github.com/getsentry/sentry/pull/104341)\n- feat(crons): Add missing guides + consistency by @evanpurkhiser in [#104274](https://github.com/getsentry/sentry/pull/104274)\n\n#### Dashboards\n\n- feat(dashboards): Web Vitals prebuilt dashboard improvements by @edwardgou-sentry in [#104771](https://github.com/getsentry/sentry/pull/104771)\n- feat(dashboards): Registers web vitals dashboard by @edwardgou-sentry in [#104577](https://github.com/getsentry/sentry/pull/104577)\n- feat(dashboards): Measure time to open the Widget Builder by @gggritso in [#104765](https://github.com/getsentry/sentry/pull/104765)\n- feat(dashboards): Add loading skeleton for Widget Builder by @gggritso in [#104702](https://github.com/getsentry/sentry/pull/104702)\n- feat(dashboards): Web Vitals prebuilt dashboard configs by @edwardgou-sentry in [#104692](https://github.com/getsentry/sentry/pull/104692)\n- feat(dashboards): Prebuilt dashboards use options by @edwardgou-sentry in [#104586](https://github.com/getsentry/sentry/pull/104586)\n- feat(dashboards): convert http module into dashboard by @DominikB2014 in [#104608](https://github.com/getsentry/sentry/pull/104608)\n- feat(dashboards): Registers option to control enabled Prebuilt Dashboards by @edwardgou-sentry in [#104583](https://github.com/getsentry/sentry/pull/104583)\n- feat(dashboards): apply base filters  by @DominikB2014 in [#104414](https://github.com/getsentry/sentry/pull/104414)\n- 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)\n- feat(dashboards): Adds issue widgets to Frontend Session Health prebuilt dashboard by @edwardgou-sentry in [#104392](https://github.com/getsentry/sentry/pull/104392)\n- feat(dashboards): enable new visulization widget for span widgets by @DominikB2014 in [#104337](https://github.com/getsentry/sentry/pull/104337)\n- feat(dashboards): Adds series display type support for Dashboard Issue Widgets by @edwardgou-sentry in [#104291](https://github.com/getsentry/sentry/pull/104291)\n- feat(dashboards): Issue time series widget feature flag by @edwardgou-sentry in [#104292](https://github.com/getsentry/sentry/pull/104292)\n- feat(dashboards): don't filter out any span ops in query module by @DominikB2014 in [#104255](https://github.com/getsentry/sentry/pull/104255)\n- feat(dashboards): don't allow duplication of prebuilt dashboards by @DominikB2014 in [#104249](https://github.com/getsentry/sentry/pull/104249)\n- feat(dashboards): update query module prebuilt titles by @DominikB2014 in [#104243](https://github.com/getsentry/sentry/pull/104243)\n- feat(dashboards): wrap dashboard controls in flag if prebuilt dashboard by @DominikB2014 in [#104161](https://github.com/getsentry/sentry/pull/104161)\n\n- feat(default detector): create default detector for new projects by @shayna-ch in [#104208](https://github.com/getsentry/sentry/pull/104208)\n\n- feat(derived_code_mappings): Support single-file paths by @scttcper in [#104663](https://github.com/getsentry/sentry/pull/104663)\n\n- feat(encryption): Add EncryptedJSONField by @vgrozdanic in [#104167](https://github.com/getsentry/sentry/pull/104167)\n\n- 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)\n\n#### Explore\n\n- feat(explore): Wire up data fetching hooks for cross event queries by @nsdeschenes in [#104233](https://github.com/getsentry/sentry/pull/104233)\n- feat(explore): set default chart interval to highest granularity by @bcoe in [#104283](https://github.com/getsentry/sentry/pull/104283)\n- feat(explore): Add in cross event search bars by @nsdeschenes in [#104129](https://github.com/getsentry/sentry/pull/104129)\n\n#### Explore Attr Breakdowns\n\n- feat(explore-attr-breakdowns): Disabling extrapolation and high accur… by @Abdkhan14 in [#104875](https://github.com/getsentry/sentry/pull/104875)\n- feat(explore-attr-breakdowns): Consuming pagination from BE by @Abdkhan14 in [#104585](https://github.com/getsentry/sentry/pull/104585)\n- feat(explore-attr-breakdowns): Cosolidating code by @Abdkhan14 in [#104194](https://github.com/getsentry/sentry/pull/104194)\n- feat(explore-attr-breakdowns): Adding chart tooltip actions by @Abdkhan14 in [#104149](https://github.com/getsentry/sentry/pull/104149)\n\n- feat(explore-attr-breakdowns-tooltip): Adding action btn background on hover in PROD by @Abdkhan14 in [#104339](https://github.com/getsentry/sentry/pull/104339)\n\n#### Explorer\n\n- feat(explorer): add syntax highlighting to diff viewer by @roaga in [#104856](https://github.com/getsentry/sentry/pull/104856)\n- feat(explorer): collect user timezone in context by @roaga in [#104720](https://github.com/getsentry/sentry/pull/104720)\n- feat(explorer): add close button by @roaga in [#104640](https://github.com/getsentry/sentry/pull/104640)\n- feat(explorer): open with ctrl . by @aliu39 in [#104657](https://github.com/getsentry/sentry/pull/104657)\n- feat(explorer): allow client to pass in metadata by @roaga in [#104606](https://github.com/getsentry/sentry/pull/104606)\n- feat(explorer): allow client to control and inspect coding state by @roaga in [#104502](https://github.com/getsentry/sentry/pull/104502)\n- feat(explorer): add UI for creating PRs by @roaga in [#104500](https://github.com/getsentry/sentry/pull/104500)\n- feat(explorer): add ui for questions tool by @roaga in [#104410](https://github.com/getsentry/sentry/pull/104410)\n- feat(explorer): add on_completion hook to client by @roaga in [#104373](https://github.com/getsentry/sentry/pull/104373)\n- feat(explorer): add copy and nav for logs search by @roaga in [#104421](https://github.com/getsentry/sentry/pull/104421)\n- feat(explorer): render todo lists by @roaga in [#104357](https://github.com/getsentry/sentry/pull/104357)\n- feat(explorer): convert charts to tables by @roaga in [#104295](https://github.com/getsentry/sentry/pull/104295)\n- feat(explorer): add copy for docs search tool by @roaga in [#104185](https://github.com/getsentry/sentry/pull/104185)\n- feat(explorer): handle user input run status by @roaga in [#104148](https://github.com/getsentry/sentry/pull/104148)\n- feat(explorer): add UI for interacting with code editing by @roaga in [#104147](https://github.com/getsentry/sentry/pull/104147)\n- feat(explorer): add support for multiple artifacts to client by @roaga in [#104231](https://github.com/getsentry/sentry/pull/104231)\n\n- feat(flagpole): add support for more detailed owner schema by @cvxluo in [#104504](https://github.com/getsentry/sentry/pull/104504)\n\n- feat(flags): Prevent error on null event flag by @scttcper in [#104714](https://github.com/getsentry/sentry/pull/104714)\n\n- feat(forms): Allow forms to have a collapsible field inside them by @ryan953 in [#104212](https://github.com/getsentry/sentry/pull/104212)\n\n- feat(grouping): Cache grouphash queries during ingest by @lobsterkatie in [#103956](https://github.com/getsentry/sentry/pull/103956)\n\n- feat(infra): Add seed as input to shuffle-tests job by @rbro112 in [#104664](https://github.com/getsentry/sentry/pull/104664)\n\n#### Insights\n\n- feat(insights): Adds more tags and metrics to Web Vitals issue detection by @edwardgou-sentry in [#104562](https://github.com/getsentry/sentry/pull/104562)\n- feat(insights): Adds sub region selectors to web vitals pages by @edwardgou-sentry in [#104321](https://github.com/getsentry/sentry/pull/104321)\n\n#### Issue Details\n\n- feat(issue-details): Show Unsymbolicated exception value, type and module in Raw view by @romtsn in [#104327](https://github.com/getsentry/sentry/pull/104327)\n- feat(issue-details): Show Unsymbolicated exception value, module and type by @romtsn in [#104238](https://github.com/getsentry/sentry/pull/104238)\n- feat(issue-details): Expose 'raw_value', 'raw_module' and 'raw_type' in exceptions by @romtsn in [#104237](https://github.com/getsentry/sentry/pull/104237)\n\n#### Issues\n\n- feat(issues): Switch to two query \"empty tags\" query by @scttcper in [#104840](https://github.com/getsentry/sentry/pull/104840)\n- feat(issues): Display exact release in dropdown by @scttcper in [#104565](https://github.com/getsentry/sentry/pull/104565)\n- feat(issues): Drop support for shared issue w/o org slug by @scttcper in [#104364](https://github.com/getsentry/sentry/pull/104364)\n- feat(issues): Remove ability to access issue share page w/o org slug by @scttcper in [#104354](https://github.com/getsentry/sentry/pull/104354)\n- feat(issues): Remove reporting route by @scttcper in [#104223](https://github.com/getsentry/sentry/pull/104223)\n\n- feat(llm-detector): Add `offender_span_ids` by @roggenkemper in [#104677](https://github.com/getsentry/sentry/pull/104677)\n\n- feat(np): Finish migrating data export notifications by @Christinarlong in [#103504](https://github.com/getsentry/sentry/pull/103504)\n\n#### Objectstore\n\n- feat(objectstore): Allow passing more client options by @jan-auer in [#104943](https://github.com/getsentry/sentry/pull/104943)\n- feat(objectstore): Handle non-chunked transfer encoding by @lcian in [#104575](https://github.com/getsentry/sentry/pull/104575)\n- feat(objectstore): Add proxying logic to endpoint by @lcian in [#104045](https://github.com/getsentry/sentry/pull/104045)\n\n- feat(occurrences): Add rollout utils by @thetruecpaul in [#104841](https://github.com/getsentry/sentry/pull/104841)\n\n#### Onboarding\n\n- feat(onboarding): Add wizard based onboarding flow for react router projects by @andreiborza in [#104862](https://github.com/getsentry/sentry/pull/104862)\n- feat(onboarding): Remove route props from onboarding by @scttcper in [#104343](https://github.com/getsentry/sentry/pull/104343)\n- feat(onboarding): Add metrics onboarding for PHP SDKs by @alexander-alderman-webb in [#104314](https://github.com/getsentry/sentry/pull/104314)\n\n#### Perforce\n\n- feat(perforce): Implement stacktrace linking and file blame (annotate) logic by @mujacica in [#103636](https://github.com/getsentry/sentry/pull/103636)\n- feat(perforce): Implement repository/depot and code mapping logic by @mujacica in [#103635](https://github.com/getsentry/sentry/pull/103635)\n- feat(perforce): Add backend support for Perforce integration by @mujacica in [#103171](https://github.com/getsentry/sentry/pull/103171)\n\n#### Preprod\n\n- feat(preprod): Add v0 of size issues by @chromy in [#104953](https://github.com/getsentry/sentry/pull/104953)\n- 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)\n- feat(preprod): Show image scale info on treemap tooltip if available by @NicoHinderling in [#104879](https://github.com/getsentry/sentry/pull/104879)\n- feat(preprod): Add preprod issue types to frontend by @chromy in [#104600](https://github.com/getsentry/sentry/pull/104600)\n- feat(preprod): Link settings page from build{List,Details} by @chromy in [#104672](https://github.com/getsentry/sentry/pull/104672)\n- feat(preprod): Add tooling version fields to PreprodArtifact (EME-606) by @runningcode in [#103062](https://github.com/getsentry/sentry/pull/103062)\n- feat(preprod): Add empty preprod settings page by @chromy in [#104670](https://github.com/getsentry/sentry/pull/104670)\n- feat(preprod): Add insight comparison frontend by @rbro112 in [#103775](https://github.com/getsentry/sentry/pull/103775)\n- feat(preprod): Add preprod grouptype by @chromy in [#104579](https://github.com/getsentry/sentry/pull/104579)\n- feat(preprod): add compare deltas to metric cards (EME-568) by @cameroncooke in [#104451](https://github.com/getsentry/sentry/pull/104451)\n- feat(preprod): Add insight comparison by @rbro112 in [#103774](https://github.com/getsentry/sentry/pull/103774)\n- feat(preprod): skip renames from showing in diff by @trevor-e in [#104306](https://github.com/getsentry/sentry/pull/104306)\n- feat(preprod): add base_size_metrics to build details api (EME-568) by @cameroncooke in [#104516](https://github.com/getsentry/sentry/pull/104516)\n- feat(preprod): support creating multiple size metrics by @trevor-e in [#103861](https://github.com/getsentry/sentry/pull/103861)\n- feat(preprod): expose status check data through build details API by @trevor-e in [#104085](https://github.com/getsentry/sentry/pull/104085)\n\n- feat(profiling): Add project id based kill switch in ingest-profiles by @Zylphrex in [#104587](https://github.com/getsentry/sentry/pull/104587)\n\n- feat(project-selector): Support multiple selection in form project selector component by @malwilley in [#104204](https://github.com/getsentry/sentry/pull/104204)\n\n- 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)\n\n- feat(releases): Add mobile tab to releases by @mtopo27 in [#104376](https://github.com/getsentry/sentry/pull/104376)\n\n#### Replay\n\n- feat(replay): add model to allow per-user access control for replays by @shellmayr in [#104446](https://github.com/getsentry/sentry/pull/104446)\n- feat(Replay): Add URLs Visited to EAP Replay Query by @cliffordxing in [#104538](https://github.com/getsentry/sentry/pull/104538)\n- feat(replay): Allow network config to be expandable by @billyvg in [#104179](https://github.com/getsentry/sentry/pull/104179)\n\n- feat(rpc): Add more query logging by @wmak in [#104480](https://github.com/getsentry/sentry/pull/104480)\n\n- feat(sdk): Enable Django SQL transaction spans by @alexander-alderman-webb in [#104383](https://github.com/getsentry/sentry/pull/104383)\n\n- feat(search-bar): Add fuzzy search option by @nsdeschenes in [#104792](https://github.com/getsentry/sentry/pull/104792)\n\n#### Seer\n\n- feat(seer): Update issue details seer drawer onboarding by @Zylphrex in [#104679](https://github.com/getsentry/sentry/pull/104679)\n- feat(seer): Save RCA step changes to backend by @billyvg in [#104881](https://github.com/getsentry/sentry/pull/104881)\n- feat(seer): Implement bulk editing for repo code-review settings by @ryan953 in [#104908](https://github.com/getsentry/sentry/pull/104908)\n- feat(seer): Update enrollment copy and change requirements to advance steps by @billyvg in [#104884](https://github.com/getsentry/sentry/pull/104884)\n- feat(seer): Implement toggling individual repos for code-review on seer org settings by @ryan953 in [#104886](https://github.com/getsentry/sentry/pull/104886)\n- feat(seer): Add setup CTA in sub settings by @isabellaenriquez in [#104718](https://github.com/getsentry/sentry/pull/104718)\n- feat(seer): Change \"Finish\" link to settings by @billyvg in [#104867](https://github.com/getsentry/sentry/pull/104867)\n- 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)\n- feat(seer): Save Code Review onboarding repos by @billyvg in [#104774](https://github.com/getsentry/sentry/pull/104774)\n- feat(seer): Limit prepopulating repos for RCA step by @billyvg in [#104728](https://github.com/getsentry/sentry/pull/104728)\n- feat(seer): Add an interstitial for when people want to trial new seer by @ryan953 in [#104813](https://github.com/getsentry/sentry/pull/104813)\n- feat(seer): Add bg images for onboarding wizard by @billyvg in [#104819](https://github.com/getsentry/sentry/pull/104819)\n- 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)\n- feat(seer): Onboarding copy updates by @billyvg in [#104717](https://github.com/getsentry/sentry/pull/104717)\n- feat(seer): Make active contributors giftable by @isabellaenriquez in [#104623](https://github.com/getsentry/sentry/pull/104623)\n- feat(seer): Add toggle for code review step in onboarding by @billyvg in [#104705](https://github.com/getsentry/sentry/pull/104705)\n- feat(seer): Allow users to add more repos in RCA onboarding step by @billyvg in [#104626](https://github.com/getsentry/sentry/pull/104626)\n- feat(seer): Update fields for code-review on the Org>Seer settings page by @ryan953 in [#104696](https://github.com/getsentry/sentry/pull/104696)\n- feat(seer): Add assets for seer onboarding by @Zylphrex in [#104682](https://github.com/getsentry/sentry/pull/104682)\n- feat(seer): Seer org-level bulk project settings page by @ryan953 in [#104594](https://github.com/getsentry/sentry/pull/104594)\n- feat(seer): Change repo to be a Select dropdown by @billyvg in [#104628](https://github.com/getsentry/sentry/pull/104628)\n- feat(seer): Add org flags for Seer default settings by @ryan953 in [#104362](https://github.com/getsentry/sentry/pull/104362)\n- feat(seer): Add new onboarding for Seer by @billyvg in [#104215](https://github.com/getsentry/sentry/pull/104215)\n- feat(seer): Add Seer-specific content to Subscription Settings by @isabellaenriquez in [#104476](https://github.com/getsentry/sentry/pull/104476)\n- feat(seer): Bootstrap Org-wide Seer settings main page by @ryan953 in [#104081](https://github.com/getsentry/sentry/pull/104081)\n- feat(seer): Add new pricing and packaging to checkout + enable test plan checkout by @isabellaenriquez in [#104431](https://github.com/getsentry/sentry/pull/104431)\n- 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)\n- feat(seer): Add feature flag for Seer new onboarding by @billyvg in [#104265](https://github.com/getsentry/sentry/pull/104265)\n- 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)\n\n#### Seer Onboarding\n\n- feat(seer onboarding): add Seer onboarding endpoint by @srest2021 in [#104818](https://github.com/getsentry/sentry/pull/104818)\n- feat(seer onboarding): Function to set Seer settings via onboarding wizard by @Mihir-Mavalankar in [#104642](https://github.com/getsentry/sentry/pull/104642)\n\n- 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)\n\n#### Seer Settings\n\n- 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)\n- 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)\n- feat(seer settings): New auto_open_pr org level default by @Mihir-Mavalankar in [#104205](https://github.com/getsentry/sentry/pull/104205)\n\n- feat(seer-explorer): add hook to open explorer by @roaga in [#104540](https://github.com/getsentry/sentry/pull/104540)\n\n- 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)\n\n- feat(seer-launch): Add bulk GET RCA settings by @suejung-sentry in [#104844](https://github.com/getsentry/sentry/pull/104844)\n\n- feat(seer-rpc): org and project endpoint for calling seer rpc endpoints publicly by @jennmueng in [#103247](https://github.com/getsentry/sentry/pull/103247)\n\n#### Segment Enrichment\n\n- feat(segment-enrichment): Bump segment clusterer rule lifetimes by @mjq in [#104280](https://github.com/getsentry/sentry/pull/104280)\n- feat(segment-enrichment): Apply clusterer to segment names by @mjq in [#104192](https://github.com/getsentry/sentry/pull/104192)\n\n- feat(self-hosted): Manually bump metadata by @hubertdeng123 in [#104175](https://github.com/getsentry/sentry/pull/104175)\n\n- feat(span-migration): add post migration warnings and UI changes in old alerts by @nikkikapadia in [#104125](https://github.com/getsentry/sentry/pull/104125)\n\n- feat(spans): Feature flags for attachment processing by @jjbayer in [#104752](https://github.com/getsentry/sentry/pull/104752)\n\n- feat(spans-migration): add post migration warnings to new monitors UI by @nikkikapadia in [#104143](https://github.com/getsentry/sentry/pull/104143)\n\n- feat(stories): add contributing guide by @natemoo-re in [#104206](https://github.com/getsentry/sentry/pull/104206)\n\n- feat(timeseries): Add cross trace querying by @wmak in [#104425](https://github.com/getsentry/sentry/pull/104425)\n\n#### Top Issues\n\n- feat(top-issues): project tooltip by @cvxluo in [#104678](https://github.com/getsentry/sentry/pull/104678)\n- feat(top-issues): show escalating top issues by @cvxluo in [#104568](https://github.com/getsentry/sentry/pull/104568)\n- feat(top-issues): use new cluster-level descriptors by @cvxluo in [#104567](https://github.com/getsentry/sentry/pull/104567)\n- feat(top-issues): increase visual contrast between clusters by @cvxluo in [#104491](https://github.com/getsentry/sentry/pull/104491)\n- feat(top-issues): flex column heights by @cvxluo in [#104380](https://github.com/getsentry/sentry/pull/104380)\n- feat(top-issues): show last updated time by @cvxluo in [#104379](https://github.com/getsentry/sentry/pull/104379)\n- feat(top-issues): add seer actions  by @cvxluo in [#104350](https://github.com/getsentry/sentry/pull/104350)\n- feat(top-issues): add projects filter by @cvxluo in [#104333](https://github.com/getsentry/sentry/pull/104333)\n- feat(top-issues): add feedback form by @cvxluo in [#104251](https://github.com/getsentry/sentry/pull/104251)\n- feat(top-issues): new visual hierarchy for cluster cards by @cvxluo in [#104197](https://github.com/getsentry/sentry/pull/104197)\n- feat(top-issues): add more specific tags  by @cvxluo in [#104181](https://github.com/getsentry/sentry/pull/104181)\n\n#### Trace\n\n- feat(trace): Add more instrumentation by @wmak in [#104772](https://github.com/getsentry/sentry/pull/104772)\n- feat(trace): Add support for trace pagination by @wmak in [#104088](https://github.com/getsentry/sentry/pull/104088)\n\n- feat(trace-metrics): Support querying multiple metrics by @Zylphrex in [#104182](https://github.com/getsentry/sentry/pull/104182)\n\n- feat(trace-waterfall): Add warning for old traces by @nsdeschenes in [#104630](https://github.com/getsentry/sentry/pull/104630)\n\n#### Tracemetrics\n\n- feat(tracemetrics): Add initial dataset implementation to dashboards by @narsaynorath in [#104518](https://github.com/getsentry/sentry/pull/104518)\n- feat(tracemetrics): Allow up to 8 metrics by @narsaynorath in [#104545](https://github.com/getsentry/sentry/pull/104545)\n\n#### Triage Signals\n\n- 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)\n- feat(triage signals): Add billing flag to all triage signals check by @Mihir-Mavalankar in [#104570](https://github.com/getsentry/sentry/pull/104570)\n- feat(triage signals): Use new seat based pricing feature flag by @Mihir-Mavalankar in [#104528](https://github.com/getsentry/sentry/pull/104528)\n- feat(triage signals): Logging related updates by @Mihir-Mavalankar in [#104210](https://github.com/getsentry/sentry/pull/104210)\n- feat(triage signals): Swap project level feature flag with org level by @Mihir-Mavalankar in [#104080](https://github.com/getsentry/sentry/pull/104080)\n\n#### Ui\n\n- feat(ui): Add `useUpdateOrganization` to use in Seer onboarding by @billyvg in [#104730](https://github.com/getsentry/sentry/pull/104730)\n- feat(ui): OverflowBoundaryContext by @TkDodo in [#104745](https://github.com/getsentry/sentry/pull/104745)\n- feat(ui): virtualization for compactSelect by @TkDodo in [#104574](https://github.com/getsentry/sentry/pull/104574)\n- feat(ui): Convert Feature component to FC by @scttcper in [#104659](https://github.com/getsentry/sentry/pull/104659)\n- feat(ui): Allow deferred renders of `SlideOverPanel` by @gggritso in [#103852](https://github.com/getsentry/sentry/pull/103852)\n\n- feat(uptime): Add `cURL` example to http snippet by @evanpurkhiser in [#104768](https://github.com/getsentry/sentry/pull/104768)\n\n#### Usage Overview\n\n- feat(usage overview): Release new Usage Overview by @isabellaenriquez in [#104165](https://github.com/getsentry/sentry/pull/104165)\n- feat(usage overview): Introduce new table by @isabellaenriquez in [#104164](https://github.com/getsentry/sentry/pull/104164)\n- feat(usage overview): Add breakdown into panel by @isabellaenriquez in [#104141](https://github.com/getsentry/sentry/pull/104141)\n- feat(usage overview): Introduce new panel by @isabellaenriquez in [#104140](https://github.com/getsentry/sentry/pull/104140)\n- feat(usage overview): Extract drawer charts into component by @isabellaenriquez in [#104138](https://github.com/getsentry/sentry/pull/104138)\n- feat(usage overview): Update buttons by @isabellaenriquez in [#104134](https://github.com/getsentry/sentry/pull/104134)\n- feat(usage overview): Introduce util functions and hook by @isabellaenriquez in [#104131](https://github.com/getsentry/sentry/pull/104131)\n\n- feat(workflow_engine): Add list of tags to help users define alerts by @saponifi3d in [#103711](https://github.com/getsentry/sentry/pull/103711)\n\n- feat: Add webhook guards for determining when to update/add org contribs by @ajay-sentry in [#104371](https://github.com/getsentry/sentry/pull/104371)\n- feat(hybridcloud) Add response size metric by @markstory in [#104859](https://github.com/getsentry/sentry/pull/104859)\n- feat: Do a prefetch on stats endpoint by @shruthilayaj in [#104858](https://github.com/getsentry/sentry/pull/104858)\n- feat: Create bulk PUT seer automation option setting by @ajay-sentry in [#104732](https://github.com/getsentry/sentry/pull/104732)\n- feat: match substring on known public aliases by @shruthilayaj in [#104786](https://github.com/getsentry/sentry/pull/104786)\n- feat: Bulk PUT endpoint for repository settings by @ajay-sentry in [#104722](https://github.com/getsentry/sentry/pull/104722)\n- feat: Add expand param to list org repos endpoint for repository settings by @ajay-sentry in [#104713](https://github.com/getsentry/sentry/pull/104713)\n- feat: Create new repository settings table by @ajay-sentry in [#104645](https://github.com/getsentry/sentry/pull/104645)\n- feat(cells) Add tracer logs to ReactPage by @markstory in [#104676](https://github.com/getsentry/sentry/pull/104676)\n- feat: Add thumbs up/down feedback to Seer cards by @JoshFerge in [#104569](https://github.com/getsentry/sentry/pull/104569)\n- feat: Add pagination to trace item stats endpoint by @shruthilayaj in [#104391](https://github.com/getsentry/sentry/pull/104391)\n- feat: send public alias in stats endpoint by @shruthilayaj in [#104346](https://github.com/getsentry/sentry/pull/104346)\n- feat: Apply max pickable days to profiling by @Zylphrex in [#104326](https://github.com/getsentry/sentry/pull/104326)\n- feat: Apply max pickable days to transaction summary by @Zylphrex in [#104193](https://github.com/getsentry/sentry/pull/104193)\n- feat: Apply max pickable days to insights by @Zylphrex in [#104201](https://github.com/getsentry/sentry/pull/104201)\n- feat: Add organizationcontributor seat type by @ajay-sentry in [#104299](https://github.com/getsentry/sentry/pull/104299)\n- feat: create new task for organization contributor reset by @ajay-sentry in [#104259](https://github.com/getsentry/sentry/pull/104259)\n- feat: Update integration_id cascade to null for organization contributor table by @ajay-sentry in [#104262](https://github.com/getsentry/sentry/pull/104262)\n- feat: Store user updated metadata in snapshot by @shruthilayaj in [#104200](https://github.com/getsentry/sentry/pull/104200)\n- feat: Split tooltip for adjacent traces in two by @JPeer264 in [#104150](https://github.com/getsentry/sentry/pull/104150)\n- feat: Special extrapolation on count alerts only by @shruthilayaj in [#104183](https://github.com/getsentry/sentry/pull/104183)\n- feat: Create OrganizationContributors table in region dbs by @ajay-sentry in [#103839](https://github.com/getsentry/sentry/pull/103839)\n\n### Bug Fixes 🐛\n\n#### Aci\n\n- fix(aci): Extend taint tracking to delayed workflow condition evaluation by @kcons in [#104368](https://github.com/getsentry/sentry/pull/104368)\n- fix(aci): Use opt-out flag for create alert button by @malwilley in [#104826](https://github.com/getsentry/sentry/pull/104826)\n- fix(aci): Filter by project in metric issue contributing issues by @malwilley in [#104863](https://github.com/getsentry/sentry/pull/104863)\n- fix(aci): set action config values to `null` instead of `''` or undefined by @ameliahsu in [#104796](https://github.com/getsentry/sentry/pull/104796)\n- fix(aci): use project slug instead of deprecated name by @ameliahsu in [#104762](https://github.com/getsentry/sentry/pull/104762)\n- fix(aci): deep link Create Monitor buttons to /new/settings link by @ameliahsu in [#104764](https://github.com/getsentry/sentry/pull/104764)\n- fix(aci): Make update_data_source_for_detector more accurate by @kcons in [#104831](https://github.com/getsentry/sentry/pull/104831)\n- fix(aci): Remove DataCondition duration-triggered error by @kcons in [#104635](https://github.com/getsentry/sentry/pull/104635)\n- fix(aci): Correct direction of resolution threshold by @malwilley in [#104788](https://github.com/getsentry/sentry/pull/104788)\n- fix(aci): remove rule project check in digest generation by @cathteng in [#104729](https://github.com/getsentry/sentry/pull/104729)\n- fix(ACI): Correctly read target_type and target_identifier values from Action.config by @ceorourke in [#104634](https://github.com/getsentry/sentry/pull/104634)\n- fix(aci): Update create alert buttons to reference monitors by @malwilley in [#104656](https://github.com/getsentry/sentry/pull/104656)\n- fix(aci): add % suffix to data condition field by @ameliahsu in [#104691](https://github.com/getsentry/sentry/pull/104691)\n- fix(aci): New monitor form should handle missing project ID by @malwilley in [#104687](https://github.com/getsentry/sentry/pull/104687)\n- fix(aci): Use em dash instead of 'unknown' for trigger history by @malwilley in [#104650](https://github.com/getsentry/sentry/pull/104650)\n- fix(aci): return full workflow in PUT response by @ameliahsu in [#104654](https://github.com/getsentry/sentry/pull/104654)\n- fix(aci): fix resolution shading on metric charts by @ameliahsu in [#104563](https://github.com/getsentry/sentry/pull/104563)\n- fix(ACI): Fix no one fallthrough type by @ceorourke in [#104613](https://github.com/getsentry/sentry/pull/104613)\n- fix(aci): camelCase action data fields in serializer by @ameliahsu in [#104597](https://github.com/getsentry/sentry/pull/104597)\n- fix(aci): assign condition subfilter ids on alert edit by @ameliahsu in [#104555](https://github.com/getsentry/sentry/pull/104555)\n- fix(aci): Use detector config in issue details by @malwilley in [#104584](https://github.com/getsentry/sentry/pull/104584)\n- fix(aci): prevent invalid custom resolve thresholds by @ameliahsu in [#104561](https://github.com/getsentry/sentry/pull/104561)\n- fix(aci): remove targetDisplay from test notification payload by @ameliahsu in [#104548](https://github.com/getsentry/sentry/pull/104548)\n- fix(aci): Error metric detectors should include error types in query by @malwilley in [#104363](https://github.com/getsentry/sentry/pull/104363)\n- 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)\n- fix(aci): Add dataset and query formatting to metric issue by @malwilley in [#104284](https://github.com/getsentry/sentry/pull/104284)\n- fix(aci): Make workflow evaluation logs conditional by @kcons in [#104334](https://github.com/getsentry/sentry/pull/104334)\n- fix(ACI): pass trigger ID as kwarg to action -> ARTA serializer by @mifu67 in [#104277](https://github.com/getsentry/sentry/pull/104277)\n- fix(aci): fix sending test notification for sentry app by @cathteng in [#104086](https://github.com/getsentry/sentry/pull/104086)\n- fix(ACI): Filter migration and emit logs by @ceorourke in [#104053](https://github.com/getsentry/sentry/pull/104053)\n- fix(aci): handle fake incident ids in IGOP lookup by @ameliahsu in [#103937](https://github.com/getsentry/sentry/pull/103937)\n\n- fix(agents): short instead of extraShort timedelta formatting by @shellmayr in [#104754](https://github.com/getsentry/sentry/pull/104754)\n\n- fix(ai-code-review): Add on_new_commit flag by @suejung-sentry in [#104489](https://github.com/getsentry/sentry/pull/104489)\n\n#### Ai Insights\n\n- fix(ai-insights): cost calculation by @obostjancic in [#104944](https://github.com/getsentry/sentry/pull/104944)\n- fix(ai-insights): trace table padding by @obostjancic in [#104845](https://github.com/getsentry/sentry/pull/104845)\n- fix(ai-insights): persist project selection for explore by @obostjancic in [#104668](https://github.com/getsentry/sentry/pull/104668)\n- fix(ai-insights): disable extrapolation in traces table by @obostjancic in [#104573](https://github.com/getsentry/sentry/pull/104573)\n- fix(ai-insights): remove instructions to disable integrations by @obostjancic in [#104158](https://github.com/getsentry/sentry/pull/104158)\n\n- fix(anomaly detection): move seer anomaly detection data back one time window by @shayna-ch in [#104781](https://github.com/getsentry/sentry/pull/104781)\n\n#### Anomaly Thresholds\n\n- fix(anomaly thresholds): Only call endpoint if anomaly detection  by @shayna-ch in [#104557](https://github.com/getsentry/sentry/pull/104557)\n- fix(anomaly thresholds): add email level feature flag by @shayna-ch in [#104170](https://github.com/getsentry/sentry/pull/104170)\n\n#### Api\n\n- 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)\n- fix(api): edit watch script so dirname is defined by @sehr-m in [#104536](https://github.com/getsentry/sentry/pull/104536)\n\n#### Assisted Query\n\n- fix(assisted-query): return correct usernames/emails in field values by @roaga in [#104894](https://github.com/getsentry/sentry/pull/104894)\n- 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)\n\n#### Autofix\n\n- fix(autofix): correct webhooks + nits by @roaga in [#104855](https://github.com/getsentry/sentry/pull/104855)\n- fix(autofix): misc UI fixes by @roaga in [#104865](https://github.com/getsentry/sentry/pull/104865)\n\n- fix(billing): Use dynamic category for in-app Seer product trial start by @dashed in [#104616](https://github.com/getsentry/sentry/pull/104616)\n\n#### Code Review\n\n- fix(code-review): Return enabled config for code review beta cohort by @suejung-sentry in [#104899](https://github.com/getsentry/sentry/pull/104899)\n- fix(code-review): Fix bulk RCA settings when pref is none by @suejung-sentry in [#104897](https://github.com/getsentry/sentry/pull/104897)\n- 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)\n\n- fix(codeowners): Add retry attempts for the `code_owners_auto_sync` task by @shashjar in [#104648](https://github.com/getsentry/sentry/pull/104648)\n\n- fix(crons): Handle deleted environments in serializers by @evanpurkhiser in [#104680](https://github.com/getsentry/sentry/pull/104680)\n\n#### Dashboards\n\n- fix(dashboards): prebuilt dashboards not syncing titles by @DominikB2014 in [#104533](https://github.com/getsentry/sentry/pull/104533)\n- fix(dashboards): fix bar charts not stacking by @DominikB2014 in [#104529](https://github.com/getsentry/sentry/pull/104529)\n- fix(dashboards): temporary filters broken when changing values by @DominikB2014 in [#104482](https://github.com/getsentry/sentry/pull/104482)\n- fix(dashboards): Limit maximum fraction digits in time series widget formatting by @seer-by-sentry in [#104514](https://github.com/getsentry/sentry/pull/104514)\n- fix(dashboards): Improve rendering of small and fractional numbers in charts by @gggritso in [#104456](https://github.com/getsentry/sentry/pull/104456)\n- 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)\n- fix(dashboards): Fix duplicating prebuilt dashboard 400 within dashboard page by @edwardgou-sentry in [#104406](https://github.com/getsentry/sentry/pull/104406)\n- 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)\n- fix(dashboards): context menu doesn't show up insights prebuilt dashboards by @DominikB2014 in [#104401](https://github.com/getsentry/sentry/pull/104401)\n- fix(dashboards): add padding and autoresizing text in details widget by @DominikB2014 in [#104393](https://github.com/getsentry/sentry/pull/104393)\n- fix(dashboards): Hide group by option for series display Issue widgets by @edwardgou-sentry in [#104370](https://github.com/getsentry/sentry/pull/104370)\n- fix(dashboards): Hide filter bar on issue series widget builder by @edwardgou-sentry in [#104322](https://github.com/getsentry/sentry/pull/104322)\n- fix(dashboards): Acquire lock when checking dashboard count for creation by @narsaynorath in [#104248](https://github.com/getsentry/sentry/pull/104248)\n- fix(dashboards): queries page table overflows by @DominikB2014 in [#104253](https://github.com/getsentry/sentry/pull/104253)\n- fix(dashboards): linked dashboards not being populated on normal dashboard page by @DominikB2014 in [#104241](https://github.com/getsentry/sentry/pull/104241)\n- fix(dashboards): dashboard links not perserving selection by @DominikB2014 in [#104176](https://github.com/getsentry/sentry/pull/104176)\n- fix(dashboards): Removes edit permission on widget context menu for prebuilt dashboards by @edwardgou-sentry in [#104133](https://github.com/getsentry/sentry/pull/104133)\n\n- fix(deletions): Fix BulkDeleteQuery pagination by @yuvmen in [#104435](https://github.com/getsentry/sentry/pull/104435)\n\n#### Detectors\n\n- fix(detectors): Don't use flex to join text by @evanpurkhiser in [#104697](https://github.com/getsentry/sentry/pull/104697)\n- fix(detectors): Render list \\_after_ visualisation by @evanpurkhiser in [#104681](https://github.com/getsentry/sentry/pull/104681)\n\n- fix(eap): Cast OOB ints to str by @thetruecpaul in [#104787](https://github.com/getsentry/sentry/pull/104787)\n\n- fix(eap-resolver): escape sequences should also be translated in a `in` query by @DominikB2014 in [#104188](https://github.com/getsentry/sentry/pull/104188)\n\n- fix(events): Handle wildcards for the environment filter by @wmak in [#104272](https://github.com/getsentry/sentry/pull/104272)\n\n#### Explore\n\n- fix(explore): Should check if raw count is defined by @Zylphrex in [#104853](https://github.com/getsentry/sentry/pull/104853)\n- fix(explore): Resolve cross event dropdown tooltip hover issues by @nsdeschenes in [#104317](https://github.com/getsentry/sentry/pull/104317)\n\n#### Explorer\n\n- fix(explorer): handle issues w 1 event and fix start/end validation by @aliu39 in [#104869](https://github.com/getsentry/sentry/pull/104869)\n- fix(explorer): allow clicks on links by @roaga in [#104919](https://github.com/getsentry/sentry/pull/104919)\n- fix(explorer): handle failed issue tool link by @aliu39 in [#104868](https://github.com/getsentry/sentry/pull/104868)\n- fix(explorer): just use clickable links and fix wobble by @roaga in [#104709](https://github.com/getsentry/sentry/pull/104709)\n- fix(explorer): bucket on page charts by @roaga in [#104653](https://github.com/getsentry/sentry/pull/104653)\n- fix(explorer): fix group bys in nav links by @roaga in [#104660](https://github.com/getsentry/sentry/pull/104660)\n- fix(explorer): allow None file patches and log error by @roaga in [#104559](https://github.com/getsentry/sentry/pull/104559)\n- fix(explorer): strip Z for abs time nav links by @aliu39 in [#104525](https://github.com/getsentry/sentry/pull/104525)\n- fix(explorer): use right dataset for issue event stats by @roaga in [#104308](https://github.com/getsentry/sentry/pull/104308)\n- fix(explorer): fix copy and add nav for log/metric by trace tools by @aliu39 in [#104226](https://github.com/getsentry/sentry/pull/104226)\n\n#### Flamegraph\n\n- fix(flamegraph): Fix continuous flamegraph non call order by @Zylphrex in [#104582](https://github.com/getsentry/sentry/pull/104582)\n- fix(flamegraph): Only dispatch checkpoint when finishing flamegraph i… by @Zylphrex in [#104564](https://github.com/getsentry/sentry/pull/104564)\n\n- fix(group_update): Handle last_seen integer overflow on groups by @yuvmen in [#104297](https://github.com/getsentry/sentry/pull/104297)\n\n#### Grouping\n\n- fix(grouping): Fix grouphash caching metric cache expiry tagging by @lobsterkatie in [#104537](https://github.com/getsentry/sentry/pull/104537)\n- fix(grouping): Use underscores in test hash values by @lobsterkatie in [#104220](https://github.com/getsentry/sentry/pull/104220)\n\n#### Infra\n\n- fix(infra): Fix test ID sequencing flake by @rbro112 in [#104834](https://github.com/getsentry/sentry/pull/104834)\n- fix(infra): Fix test_dual_write test pollution causing flakes by @rbro112 in [#104741](https://github.com/getsentry/sentry/pull/104741)\n- fix(infra): Fix span convert test pollution by @rbro112 in [#104661](https://github.com/getsentry/sentry/pull/104661)\n\n- fix(issue-details): Always attach lineno to Java frames in 'raw' view by @romtsn in [#104387](https://github.com/getsentry/sentry/pull/104387)\n\n- fix(issue-timeseries): Unfilled buckets when ts aren't aligned by @wmak in [#103771](https://github.com/getsentry/sentry/pull/103771)\n\n#### Issues\n\n- fix(issues): Handle None users in GroupSearchView serializer by @evanpurkhiser in [#104178](https://github.com/getsentry/sentry/pull/104178)\n- fix(issues): Fix `auto_ongoing_issues` task timeouts by @yuvmen in [#104036](https://github.com/getsentry/sentry/pull/104036)\n- fix(issues): Handle null starred issue views by @malwilley in [#104169](https://github.com/getsentry/sentry/pull/104169)\n\n- fix(java): Allow frame removals during symbolication by @romtsn in [#104319](https://github.com/getsentry/sentry/pull/104319)\n\n- fix(llm-detector): Add better platform parsing  by @roggenkemper in [#104475](https://github.com/getsentry/sentry/pull/104475)\n\n#### Np\n\n- fix(np): Add dto for notification target by @Christinarlong in [#104775](https://github.com/getsentry/sentry/pull/104775)\n- fix(np): Remove frozen dataclass due to task/dict behavior by @Christinarlong in [#104643](https://github.com/getsentry/sentry/pull/104643)\n\n- fix(options): Fix and improve type coverage by @kcons in [#104474](https://github.com/getsentry/sentry/pull/104474)\n\n- fix(ourlogs): Add more logging around autorefresh by @k-fish in [#104472](https://github.com/getsentry/sentry/pull/104472)\n\n#### Preprod\n\n- fix(preprod): Remove invalid tag (organization_id) by @chromy in [#104747](https://github.com/getsentry/sentry/pull/104747)\n- fix(preprod): Handle missing date_built in UI and backend (EME-671) by @runningcode in [#104444](https://github.com/getsentry/sentry/pull/104444)\n\n#### Profiling\n\n- fix(profiling): Maximum update depth exceeded error on flamegraphs by @Zylphrex in [#104544](https://github.com/getsentry/sentry/pull/104544)\n- fix(profiling): Round continuous profile timestamps appropriately by @Zylphrex in [#104541](https://github.com/getsentry/sentry/pull/104541)\n\n#### Replay\n\n- fix(Replay): Normalize Project ID Typing To Int For Frontend by @cliffordxing in [#104358](https://github.com/getsentry/sentry/pull/104358)\n- fix(Replay): Use Sentry Prefix for Project_id by @cliffordxing in [#104296](https://github.com/getsentry/sentry/pull/104296)\n- fix(Replay): Query Timestamp as Double then Convert to ISO by @cliffordxing in [#104191](https://github.com/getsentry/sentry/pull/104191)\n\n- fix(reprocessing): require `event:admin` when deleting remaining events by @oioki in [#104313](https://github.com/getsentry/sentry/pull/104313)\n\n- fix(rules): Skip none on combined rule serialization by @ceorourke in [#104196](https://github.com/getsentry/sentry/pull/104196)\n\n#### Scraps\n\n- fix(scraps): add top/left/bottom/right positions to container by @TkDodo in [#104951](https://github.com/getsentry/sentry/pull/104951)\n- fix(scraps): turn of focus-visible styles for LinkButton applied by link by @TkDodo in [#104954](https://github.com/getsentry/sentry/pull/104954)\n- fix(scraps): allow `font-weight: 500` for Rubik Medium by @natemoo-re in [#104620](https://github.com/getsentry/sentry/pull/104620)\n\n#### Seer\n\n- fix(seer): Iterate on the seer autofix settings apis by @ryan953 in [#104929](https://github.com/getsentry/sentry/pull/104929)\n- fix(seer): Avoid nested links in the Seer>Project settings list by @ryan953 in [#104910](https://github.com/getsentry/sentry/pull/104910)\n- 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)\n- 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)\n- fix(seer): Fix simple organization seer rpcs by @Zylphrex in [#104483](https://github.com/getsentry/sentry/pull/104483)\n- fix(seer): Allow org read permissions on seer public rpc by @Zylphrex in [#104473](https://github.com/getsentry/sentry/pull/104473)\n\n- 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)\n\n- fix(seer-rpc): map org id for get_attributes_for_span by @aliu39 in [#104486](https://github.com/getsentry/sentry/pull/104486)\n\n#### Settings\n\n- fix(settings): Remove deprecated route props from auth token by @scttcper in [#104870](https://github.com/getsentry/sentry/pull/104870)\n- fix(settings): Prevent error on Undo allowed domain change by @scttcper in [#104721](https://github.com/getsentry/sentry/pull/104721)\n\n#### Spans Migration\n\n- fix(spans-migration): query for `updating` query subscriptions by @nikkikapadia in [#104866](https://github.com/getsentry/sentry/pull/104866)\n- fix(spans-migration): add count params to query instead by @nikkikapadia in [#104624](https://github.com/getsentry/sentry/pull/104624)\n- fix(spans-migration): commit changes once everything passes by @nikkikapadia in [#104580](https://github.com/getsentry/sentry/pull/104580)\n- fix(spans-migration): add fixes for alerts rollback migration by @nikkikapadia in [#104469](https://github.com/getsentry/sentry/pull/104469)\n- fix(spans-migration): error handling for nonexistent data source by @nikkikapadia in [#104342](https://github.com/getsentry/sentry/pull/104342)\n- 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)\n\n- fix(tagstore): Add referrer by @thetruecpaul in [#104833](https://github.com/getsentry/sentry/pull/104833)\n\n- fix(theme): adjust theme.level tokens for new palette by @natemoo-re in [#104806](https://github.com/getsentry/sentry/pull/104806)\n\n- fix(trace): Set a limit on the trace query by @wmak in [#104532](https://github.com/getsentry/sentry/pull/104532)\n\n#### Tracemetrics\n\n- fix(tracemetrics): Make scroll-to-top appear earlier by @k-fish in [#104639](https://github.com/getsentry/sentry/pull/104639)\n- fix(tracemetrics): Improve metrics analytics by @k-fish in [#104495](https://github.com/getsentry/sentry/pull/104495)\n- fix(tracemetrics): pageload event should fire when creating a new metric by @k-fish in [#104269](https://github.com/getsentry/sentry/pull/104269)\n- fix(tracemetrics): Stop double metric events from firing by @k-fish in [#104222](https://github.com/getsentry/sentry/pull/104222)\n\n- fix(traige signals): Fix rare fixability failure issue by @Mihir-Mavalankar in [#104438](https://github.com/getsentry/sentry/pull/104438)\n\n- fix(triage signals): Return False if feature flag can't be checked by @Mihir-Mavalankar in [#104814](https://github.com/getsentry/sentry/pull/104814)\n\n- fix(types): Fix return type of `update_with_returning` by @lobsterkatie in [#104225](https://github.com/getsentry/sentry/pull/104225)\n\n#### Typing\n\n- fix(typing): Add types to eventstream tests by @thetruecpaul in [#104266](https://github.com/getsentry/sentry/pull/104266)\n- fix(typing): Add types to sentry.eventtypes by @thetruecpaul in [#104258](https://github.com/getsentry/sentry/pull/104258)\n\n#### Ui\n\n- fix(ui): DesyncedFilterIndicator positioning by @TkDodo in [#104942](https://github.com/getsentry/sentry/pull/104942)\n- fix(ui): align dashboard button sizes with PageFilterBar by @TkDodo in [#104939](https://github.com/getsentry/sentry/pull/104939)\n- fix(ui): Button's label clipped by @priscilawebdev in [#104849](https://github.com/getsentry/sentry/pull/104849)\n- fix(ui): Make detector list visualizations more prominent by @evanpurkhiser in [#104703](https://github.com/getsentry/sentry/pull/104703)\n- fix(ui): fallback selector for compactSelect boundary by @TkDodo in [#104388](https://github.com/getsentry/sentry/pull/104388)\n- fix(ui): replace static gray with theme tokens in integrations settings by @TkDodo in [#104311](https://github.com/getsentry/sentry/pull/104311)\n- fix(ui): Size limitations ai spans message by @matejminar in [#104315](https://github.com/getsentry/sentry/pull/104315)\n- fix(ui): constrain compactSelect to the main section per default by @TkDodo in [#104245](https://github.com/getsentry/sentry/pull/104245)\n\n- fix(uptime): Allow strings in config thresholds by @evanpurkhiser in [#104706](https://github.com/getsentry/sentry/pull/104706)\n\n#### Usage Overview\n\n- fix(usage overview): Correct overflows by @isabellaenriquez in [#104566](https://github.com/getsentry/sentry/pull/104566)\n- fix(usage overview): Display add-on categories with reserved volume by @isabellaenriquez in [#104465](https://github.com/getsentry/sentry/pull/104465)\n\n- fix(waterfall): Prefer specific root events in trace root lookup by @Lms24 in [#104050](https://github.com/getsentry/sentry/pull/104050)\n\n- fix: Remove `open` prop of `SlideOverPanel` by @gggritso in [#104627](https://github.com/getsentry/sentry/pull/104627)\n- fix(prompts) Handle string organization id values by @markstory in [#104543](https://github.com/getsentry/sentry/pull/104543)\n- fix(cells) Add an internal annotation to preprod endpoint by @markstory in [#104397](https://github.com/getsentry/sentry/pull/104397)\n- fix: make sentry-feedback widget look more like UI2 by @TkDodo in [#104399](https://github.com/getsentry/sentry/pull/104399)\n- fix(logs) Disable logging for the CSSUTILS logger by @markstory in [#104324](https://github.com/getsentry/sentry/pull/104324)\n- fix: always use chonkDarkTheme in gsAdmin by @TkDodo in [#104338](https://github.com/getsentry/sentry/pull/104338)\n- fix/iconSizes/issuesAndFeedback by @Jesse-Box in [#104239](https://github.com/getsentry/sentry/pull/104239)\n- fix(tests) Unskip test that was previously flaky by @markstory in [#104162](https://github.com/getsentry/sentry/pull/104162)\n\n### Build / dependencies / internal 🔧\n\n#### Aci\n\n- chore(ACI): Remove more unused flags by @ceorourke in [#104727](https://github.com/getsentry/sentry/pull/104727)\n- chore(aci): Old flag clean-up by @kcons in [#104484](https://github.com/getsentry/sentry/pull/104484)\n- chore(ACI): Remove more unused flags by @ceorourke in [#104704](https://github.com/getsentry/sentry/pull/104704)\n- chore(ACI): Remove unused flag by @ceorourke in [#104637](https://github.com/getsentry/sentry/pull/104637)\n- chore(aci): New feature flag for opting out of redirects by @malwilley in [#104646](https://github.com/getsentry/sentry/pull/104646)\n- chore(ACI): Remove GA'd metric issue flags by @ceorourke in [#104652](https://github.com/getsentry/sentry/pull/104652)\n- chore(aci): set event_id when creating open period by @mifu67 in [#104558](https://github.com/getsentry/sentry/pull/104558)\n- chore(ACI): add event_id column to group open period model by @mifu67 in [#104549](https://github.com/getsentry/sentry/pull/104549)\n- chore(aci): add alert creation + success analytics by @ameliahsu in [#104403](https://github.com/getsentry/sentry/pull/104403)\n- chore(aci): only include GOPAs that start within date range by @mifu67 in [#104000](https://github.com/getsentry/sentry/pull/104000)\n- chore(aci): log created WAGS action ids by @cathteng in [#104209](https://github.com/getsentry/sentry/pull/104209)\n- chore(ACI): Remove temporary fallthrough type logic by @ceorourke in [#103996](https://github.com/getsentry/sentry/pull/103996)\n\n- chore(admin): update invoice details to use new cell routing by @klochek in [#104794](https://github.com/getsentry/sentry/pull/104794)\n\n- chore(agents): add capture message for missing required gen_ai attributes by @shellmayr in [#104309](https://github.com/getsentry/sentry/pull/104309)\n\n- chore(anomaly detection): improve graph details  by @shayna-ch in [#104195](https://github.com/getsentry/sentry/pull/104195)\n\n- chore(anomaly-detection): Clean up some dead code by @thetruecpaul in [#104281](https://github.com/getsentry/sentry/pull/104281)\n\n#### Api\n\n- chore(API): Remove unused AM2 compatibility check endpoint by @ceorourke in [#104288](https://github.com/getsentry/sentry/pull/104288)\n- chore(API): Remove unused grouping configs endpoint by @ceorourke in [#104303](https://github.com/getsentry/sentry/pull/104303)\n- chore(API): Remove old unused symbol sources url path by @ceorourke in [#104298](https://github.com/getsentry/sentry/pull/104298)\n- chore(API): Remove unused sentry app requests endpoint by @ceorourke in [#104293](https://github.com/getsentry/sentry/pull/104293)\n- chore(API): Remove unused AM2 compatibility check by @ceorourke in [#104287](https://github.com/getsentry/sentry/pull/104287)\n\n#### Autofix\n\n- chore(autofix): tweak solution prompt by @roaga in [#104915](https://github.com/getsentry/sentry/pull/104915)\n- chore(autofix): add more fields to suspect commit schema by @roaga in [#104889](https://github.com/getsentry/sentry/pull/104889)\n- chore(autofix): more UI to bring v2 to parity by @roaga in [#104882](https://github.com/getsentry/sentry/pull/104882)\n\n#### Billing\n\n- chore(billing): remove grace period from user-facing frontend components by @dashed in [#104361](https://github.com/getsentry/sentry/pull/104361)\n- chore(billing): remove grace period from admin by @dashed in [#104365](https://github.com/getsentry/sentry/pull/104365)\n\n- chore(cells): Fix cell deprecation date by @kcons in [#104602](https://github.com/getsentry/sentry/pull/104602)\n\n- chore(code-review): Register feature flag by @suejung-sentry in [#104742](https://github.com/getsentry/sentry/pull/104742)\n\n#### Codeowners\n\n- chore(codeowners): update ai insights by @obostjancic in [#104669](https://github.com/getsentry/sentry/pull/104669)\n- meta(codeowners): Update ecosystem ownership by @leeandher in [#104523](https://github.com/getsentry/sentry/pull/104523)\n\n- chore(cross-events): Render disabled search bars and an error toast by @nsdeschenes in [#104576](https://github.com/getsentry/sentry/pull/104576)\n\n- chore(dashboards): Update query formatter by @nsdeschenes in [#104797](https://github.com/getsentry/sentry/pull/104797)\n\n- chore(data-forwading): Publish endpoints and better docs by @leeandher in [#104520](https://github.com/getsentry/sentry/pull/104520)\n\n#### Data Forwarding\n\n- chore(data-forwarding): nicer icon, better error message by @leeandher in [#104521](https://github.com/getsentry/sentry/pull/104521)\n- chore(data-forwarding): Allow clearing empty overrides, examples for endpoints, typo by @leeandher in [#104479](https://github.com/getsentry/sentry/pull/104479)\n\n- chore(deletions): Improve cleanup multiprocess worker logging by @yuvmen in [#104228](https://github.com/getsentry/sentry/pull/104228)\n\n#### Deps\n\n- chore(deps): Bump React to 19.2.3 by @JPeer264 in [#104848](https://github.com/getsentry/sentry/pull/104848)\n- chore(deps): Bump React to 19.2.2 by @nsdeschenes in [#104809](https://github.com/getsentry/sentry/pull/104809)\n\n- chore(detector): Remove frontend flag usage by @roggenkemper in [#104429](https://github.com/getsentry/sentry/pull/104429)\n\n#### Detectors\n\n- chore(detectors): Remove experimental settings by @roggenkemper in [#104427](https://github.com/getsentry/sentry/pull/104427)\n- chore(detectors): Remove experimental rollout flags  by @roggenkemper in [#104428](https://github.com/getsentry/sentry/pull/104428)\n- chore(detectors): Fully replace N+1 Detectors with updated versions by @roggenkemper in [#104199](https://github.com/getsentry/sentry/pull/104199)\n\n#### Eap\n\n- chore(eap): Add docstrings by @thetruecpaul in [#104838](https://github.com/getsentry/sentry/pull/104838)\n- chore(eap): increase max rollup points to match snuba buckets by @nikkikapadia in [#104411](https://github.com/getsentry/sentry/pull/104411)\n\n- chore(eco): remove halt for unfurlable link by @cathteng in [#104168](https://github.com/getsentry/sentry/pull/104168)\n\n#### Explore\n\n- chore(explore): Update timeseries request referrers by @gggritso in [#104355](https://github.com/getsentry/sentry/pull/104355)\n- chore(explore): Remove declaration of Explore `/events-timeseries/` spot check flag by @gggritso in [#104356](https://github.com/getsentry/sentry/pull/104356)\n\n#### Explorer\n\n- chore(explorer): set failure status on error metadata by @roaga in [#104836](https://github.com/getsentry/sentry/pull/104836)\n- chore(explorer): add pause button by @roaga in [#104811](https://github.com/getsentry/sentry/pull/104811)\n- chore(explorer): remove user cursor from context by @roaga in [#104832](https://github.com/getsentry/sentry/pull/104832)\n- chore(explorer): better file approval UI by @roaga in [#104332](https://github.com/getsentry/sentry/pull/104332)\n\n- chore(grouping): Clean up embeddings utils by @thetruecpaul in [#104286](https://github.com/getsentry/sentry/pull/104286)\n\n#### Inbound Filters\n\n- chore(inbound-filters): Update serializer help text to reflect new filter by @roggenkemper in [#104250](https://github.com/getsentry/sentry/pull/104250)\n- chore(inbound-filters): Update Legacy Browser Inbound Filter by @roggenkemper in [#102518](https://github.com/getsentry/sentry/pull/102518)\n\n#### Infra\n\n- chore(infra): Fix WorkflowEventContext test pollution by @rbro112 in [#104641](https://github.com/getsentry/sentry/pull/104641)\n- chore(infra): Add test reporting to shuffle-tests workflow by @rbro112 in [#104560](https://github.com/getsentry/sentry/pull/104560)\n\n- chore(insights): Sets web vitals issue group type to released by @edwardgou-sentry in [#103853](https://github.com/getsentry/sentry/pull/103853)\n\n#### Llm Detector\n\n- chore(llm-detector): Add logs for category by @roggenkemper in [#104885](https://github.com/getsentry/sentry/pull/104885)\n- chore(llm-detector): Add delay to spawned tasks by @roggenkemper in [#104883](https://github.com/getsentry/sentry/pull/104883)\n- chore(llm-detector): Increase LLM Detection task timeout by @roggenkemper in [#104807](https://github.com/getsentry/sentry/pull/104807)\n- chore(llm-detector): Update time window for trace retrieval  by @roggenkemper in [#104404](https://github.com/getsentry/sentry/pull/104404)\n- chore(llm-detector): Increase limits for LLM Issue Detection by @roggenkemper in [#104400](https://github.com/getsentry/sentry/pull/104400)\n- chore(llm-detector): Update issue config to allow for Seer  by @roggenkemper in [#104180](https://github.com/getsentry/sentry/pull/104180)\n\n- chore(logs): Expand logs field definitions by @nsdeschenes in [#104464](https://github.com/getsentry/sentry/pull/104464)\n\n#### Np\n\n- chore(np): More logs catDespair by @Christinarlong in [#104553](https://github.com/getsentry/sentry/pull/104553)\n- chore(np): Add logs to debug sending by @Christinarlong in [#104461](https://github.com/getsentry/sentry/pull/104461)\n- chore(np): Onboard custom rule notifs v2 by @Christinarlong in [#103840](https://github.com/getsentry/sentry/pull/103840)\n- chore(np): Migrate del repo notification to platform by @Christinarlong in [#104396](https://github.com/getsentry/sentry/pull/104396)\n\n#### Preprod\n\n- chore(preprod): add date to build list backend by @mtopo27 in [#104374](https://github.com/getsentry/sentry/pull/104374)\n- chore(preprod): empty state for no git details (EME-637) by @mtopo27 in [#104273](https://github.com/getsentry/sentry/pull/104273)\n\n- chore(releases): add mobile build tab analytic event by @mtopo27 in [#104861](https://github.com/getsentry/sentry/pull/104861)\n\n#### Replay\n\n- chore(replay): add feature flag for granular replay permissions by @shellmayr in [#104441](https://github.com/getsentry/sentry/pull/104441)\n- refactor(replay): update replay components to use linkQuery for navigation by @jerryzhou196 in [#104247](https://github.com/getsentry/sentry/pull/104247)\n- refactor(replay): remove unused components in platform icons by @jerryzhou196 in [#104135](https://github.com/getsentry/sentry/pull/104135)\n\n- chore(search): Use fuzzy search on raw text values with spaces by @nsdeschenes in [#104405](https://github.com/getsentry/sentry/pull/104405)\n\n#### Search Bar\n\n- chore(search-bar): Tidy up search query builder flags by @nsdeschenes in [#104335](https://github.com/getsentry/sentry/pull/104335)\n- chore(search-bar): Remove auto replacement on paste by @nsdeschenes in [#103718](https://github.com/getsentry/sentry/pull/103718)\n\n#### Seer\n\n- chore(seer): Update check for support repo types by looking at repo.id by @ryan953 in [#104817](https://github.com/getsentry/sentry/pull/104817)\n- 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)\n- chore(seer): Tag method name for seer rpcs by @Zylphrex in [#104605](https://github.com/getsentry/sentry/pull/104605)\n- chore(seer): codeowner for tests by @aliu39 in [#104494](https://github.com/getsentry/sentry/pull/104494)\n- chore(seer): Remove extra calls to invalidateQueries, useUpdateProjectSeerPreferences does it automatically by @ryan953 in [#104359](https://github.com/getsentry/sentry/pull/104359)\n\n- chore(seer onboarding): Set api owner of OrganizationSeerOnboardingCheck to Coding Workflows by @srest2021 in [#104876](https://github.com/getsentry/sentry/pull/104876)\n\n#### Seer Rpc\n\n- chore(seer rpc): Register search agent rpcs by @aayush-se in [#104551](https://github.com/getsentry/sentry/pull/104551)\n- chore(seer rpc): Add missing endpoints by @aayush-se in [#104526](https://github.com/getsentry/sentry/pull/104526)\n\n- chore(segment-enhancement): Add tracing to segment name normalization by @mjq in [#104395](https://github.com/getsentry/sentry/pull/104395)\n\n- chore(sentry apps): Token id and info in logs for failing refresh by @Christinarlong in [#104282](https://github.com/getsentry/sentry/pull/104282)\n\n- chore(slack): improve performance of /sentry link command by @cathteng in [#104019](https://github.com/getsentry/sentry/pull/104019)\n\n- chore(top-issues): add more actions  by @cvxluo in [#104467](https://github.com/getsentry/sentry/pull/104467)\n\n- chore(trace-query-builder): Improve the DX around span search bars by @nsdeschenes in [#104757](https://github.com/getsentry/sentry/pull/104757)\n\n#### Triage Signals\n\n- chore(triage signals): Set org level default to medium too by @Mihir-Mavalankar in [#104621](https://github.com/getsentry/sentry/pull/104621)\n- chore(triage signals): Log cleanup by @Mihir-Mavalankar in [#104609](https://github.com/getsentry/sentry/pull/104609)\n\n- chore: Add back parallelization, try different orderby by @shruthilayaj in [#104890](https://github.com/getsentry/sentry/pull/104890)\n- chore: remove code that was added to help debug stats endpoint by @shruthilayaj in [#104804](https://github.com/getsentry/sentry/pull/104804)\n- chore: logging to debug anomaly detection by @shruthilayaj in [#104766](https://github.com/getsentry/sentry/pull/104766)\n- chore: split up some seer referrers by @shruthilayaj in [#104610](https://github.com/getsentry/sentry/pull/104610)\n- chore: remove flags by @ryan953 in [#104578](https://github.com/getsentry/sentry/pull/104578)\n- chore(cells) Add deprecation notices for a few issue endpoints by @markstory in [#104471](https://github.com/getsentry/sentry/pull/104471)\n- chore: Remove killswitch CLI tool by @markstory in [#104261](https://github.com/getsentry/sentry/pull/104261)\n- build: Bump objectstore to 0.0.14 by @jan-auer in [#104445](https://github.com/getsentry/sentry/pull/104445)\n- chore (preprod): capitalization fix by @mtopo27 in [#104279](https://github.com/getsentry/sentry/pull/104279)\n- chore(cells) Finish adding silo annotations to View, Endpoint and functions by @markstory in [#104172](https://github.com/getsentry/sentry/pull/104172)\n- refactor(replay) - shrink top header buttons to xs by @jerryzhou196 in [#104187](https://github.com/getsentry/sentry/pull/104187)\n\n### Other\n\n- perf(rpc): Filter projects without data by @Zylphrex in [#104891](https://github.com/getsentry/sentry/pull/104891)\n- theme: remove useChonkTheme by @JonasBa in [#104911](https://github.com/getsentry/sentry/pull/104911)\n- ref(scraps): move formTheme into commonTheme by @TkDodo in [#104949](https://github.com/getsentry/sentry/pull/104949)\n- ref(scraps): remove unused tag types \"white\" and \"black\" from theme by @TkDodo in [#104946](https://github.com/getsentry/sentry/pull/104946)\n- ref(scraps): remove chart aliases from theme by @TkDodo in [#104950](https://github.com/getsentry/sentry/pull/104950)\n- ref(scraps): remove borderRadius from theme by @TkDodo in [#104948](https://github.com/getsentry/sentry/pull/104948)\n- ref(ui): do not disable eslint-plugin-query for debouncing by @TkDodo in [#103141](https://github.com/getsentry/sentry/pull/103141)\n- theme: remove theme.isChonk by @JonasBa in [#104827](https://github.com/getsentry/sentry/pull/104827)\n- 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)\n- ref(forms): Convert JsonForm to FC by @scttcper in [#104506](https://github.com/getsentry/sentry/pull/104506)\n- ref(anomaly threshold): remove feature flag check by @shayna-ch in [#104874](https://github.com/getsentry/sentry/pull/104874)\n- ref(scraps): use new typography tokens by @natemoo-re in [#104470](https://github.com/getsentry/sentry/pull/104470)\n- ref(scraps): apply typography by @natemoo-re in [#104468](https://github.com/getsentry/sentry/pull/104468)\n- ref(explorer): update issue copy by @aliu39 in [#104802](https://github.com/getsentry/sentry/pull/104802)\n- ref(segment-enrichment): Use attribute name constants from conventions by @mjq in [#104607](https://github.com/getsentry/sentry/pull/104607)\n- theme: remove iconDirection by @JonasBa in [#104617](https://github.com/getsentry/sentry/pull/104617)\n- Revert \"feat(ui): virtualization for compactSelect (#104574)\" by @JonasBa in [#104776](https://github.com/getsentry/sentry/pull/104776)\n- theme: theme.background to theme.tokens.background.primary by @JonasBa in [#104658](https://github.com/getsentry/sentry/pull/104658)\n- ref(scraps): unify theme.form by @TkDodo in [#104753](https://github.com/getsentry/sentry/pull/104753)\n- ref(scraps): replace theme.borderRadius with theme.radius.md by @TkDodo in [#104748](https://github.com/getsentry/sentry/pull/104748)\n- ref(ai-insights): switch to gen_ai.operation.name/type by @obostjancic in [#104673](https://github.com/getsentry/sentry/pull/104673)\n- ref(ui): revert hard-coded menuWidth for Group By compactSelect by @TkDodo in [#104746](https://github.com/getsentry/sentry/pull/104746)\n- ref(explorer): issues rpc revamp by @aliu39 in [#104712](https://github.com/getsentry/sentry/pull/104712)\n- Skip flaky test: test_resetting_context by @devinfra-flakiness in [#104684](https://github.com/getsentry/sentry/pull/104684)\n\n_Plus 99 more_","publishedAt":"2025-12-15T18:42:00.000Z","fetchedAt":"2026-03-31T14:09:58.158Z","url":"https://github.com/getsentry/sentry/releases/tag/25.12.0","media":[],"coverageCount":0},{"id":"rel_wUWlFmRPNOVsdQ4ZuDCTo","version":"25.11.1","type":"feature","title":"25.11.1","summary":"### New Features ✨\n\n- feat(traces): Add cross event dropdown functionality by @nsdeschenes in [#104100](https://github.com/getsentry/sentry/pull/10410...","titleGenerated":null,"titleShort":null,"content":"### New Features ✨\n\n- feat(traces): Add cross event dropdown functionality by @nsdeschenes in [#104100](https://github.com/getsentry/sentry/pull/104100)\n- feat: Set Default max pickable days by @Zylphrex in [#104109](https://github.com/getsentry/sentry/pull/104109)\n- feat(symbols): Add platform-restricted builtin symbol sources with org access control by @vaind in [#102013](https://github.com/getsentry/sentry/pull/102013)\n- feat(alerts): Allow bumping max snuba subscription limit by @shruthilayaj in [#104126](https://github.com/getsentry/sentry/pull/104126)\n- feat(dashboards): add details widget to query summary page by @DominikB2014 in [#104112](https://github.com/getsentry/sentry/pull/104112)\n- 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)\n- feat(symbols): Pass project platform to builtin symbol sources API (frontend) by @vaind in [#104116](https://github.com/getsentry/sentry/pull/104116)\n- feat(dashboards): Add duplicate control for prebuilt dashboards by @DominikB2014 in [#104103](https://github.com/getsentry/sentry/pull/104103)\n- feat(dashboards): Prevents rendering edit and save ui on prebuilt insights dashboards by @edwardgou-sentry in [#104101](https://github.com/getsentry/sentry/pull/104101)\n- feat(dashboards): Add wildcard operators to global filters by @Ahmed-Labs in [#104070](https://github.com/getsentry/sentry/pull/104070)\n- feat(dashboards): add details widget type by @DominikB2014 in [#104059](https://github.com/getsentry/sentry/pull/104059)\n- 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)\n- feat(dashboards): misc fixes to query prebuilt dashboards by @DominikB2014 in [#104099](https://github.com/getsentry/sentry/pull/104099)\n- feat(dashboards): register \"details\" widget as valid widget on the backend by @DominikB2014 in [#104062](https://github.com/getsentry/sentry/pull/104062)\n- feat(vitals): Add analytics for primary and secondary release selection by @markushi in [#103960](https://github.com/getsentry/sentry/pull/103960)\n- feat(onboarding): Add log drain docs to logs onboarding by @AbhiPrasad in [#104084](https://github.com/getsentry/sentry/pull/104084)\n- feat(playstation): Always fetch dumps from tempest by @mujacica in [#104040](https://github.com/getsentry/sentry/pull/104040)\n- feat(objectstore): Improve host rewriting by @lcian in [#103964](https://github.com/getsentry/sentry/pull/103964)\n- feat(agents): Show agent names in traces table by @ArthurKnaus in [#104079](https://github.com/getsentry/sentry/pull/104079)\n- feat: Remove adjacent tracing feature flag by @JPeer264 in [#103891](https://github.com/getsentry/sentry/pull/103891)\n- feat(eap): Support reading boolean attributes from response by @phacops in [#104063](https://github.com/getsentry/sentry/pull/104063)\n- 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)\n- feat(vercel): Remove `get_env_var_map` helper by @AbhiPrasad in [#104068](https://github.com/getsentry/sentry/pull/104068)\n- feat(explore): Hook to respect new downsampled retention by @Zylphrex in [#104013](https://github.com/getsentry/sentry/pull/104013)\n- feat(vercel): Add drain env variables to Vercel integration by @AbhiPrasad in [#103986](https://github.com/getsentry/sentry/pull/103986)\n- feat(issues): Allow disabling of filters in top group demo, add tags by @scttcper in [#104037](https://github.com/getsentry/sentry/pull/104037)\n- feat(aci): redirect incidents to metric issue details by @ameliahsu in [#104001](https://github.com/getsentry/sentry/pull/104001)\n- feat(crons): Always create detectors for all monitors in MonitorValidator by @evanpurkhiser in [#104004](https://github.com/getsentry/sentry/pull/104004)\n- feat(preprod): record if the status check failed by @trevor-e in [#104039](https://github.com/getsentry/sentry/pull/104039)\n- feat(explorer): rpcs for getting log/metric attrs for a trace id + substring by @aliu39 in [#103875](https://github.com/getsentry/sentry/pull/103875)\n- feat(aci): Format percentage based thresholds/data by @scttcper in [#104035](https://github.com/getsentry/sentry/pull/104035)\n- feat(explore): Enabling searching attributes on group by by @nsdeschenes in [#104003](https://github.com/getsentry/sentry/pull/104003)\n- feat(dashboards): loosen unique title db constraint on dashboards by @DominikB2014 in [#104046](https://github.com/getsentry/sentry/pull/104046)\n- feat(issues): allow pasting json top issues by @cvxluo in [#104022](https://github.com/getsentry/sentry/pull/104022)\n- feat(billing): use Subscription.orgRetention in customerOverview by @vbro in [#103124](https://github.com/getsentry/sentry/pull/103124)\n- feat(issues): more functionality for different team viewing in top issues by @cvxluo in [#103947](https://github.com/getsentry/sentry/pull/103947)\n- feat(dashboards): Adds action menu to prebuilt dashboard widgets by @edwardgou-sentry in [#103976](https://github.com/getsentry/sentry/pull/103976)\n- feat(aci): Move threshold info into detect section of metric monitor details by @malwilley in [#103926](https://github.com/getsentry/sentry/pull/103926)\n- feat(logs): Without chart data when table is empty by @Zylphrex in [#103930](https://github.com/getsentry/sentry/pull/103930)\n- feat(deletions): Retry timed out tasks by @armenzg in [#103966](https://github.com/getsentry/sentry/pull/103966)\n- feat(explore): Add hooks for date page filter props based on data cat… by @Zylphrex in [#103931](https://github.com/getsentry/sentry/pull/103931)\n- feat(billing): Update quota endpoints for Seer by @brendanhsentry in [#103948](https://github.com/getsentry/sentry/pull/103948)\n- feat: no-token-import rule by @TkDodo in [#103889](https://github.com/getsentry/sentry/pull/103889)\n- feat(settings): Remove vercel log drain feature flag by @AbhiPrasad in [#103940](https://github.com/getsentry/sentry/pull/103940)\n- feat(dashboards): ensure global filters carryforward when clicking view span samples on table by @DominikB2014 in [#103860](https://github.com/getsentry/sentry/pull/103860)\n- feat(devservices): Add symbolicator-tests mode by @loewenheim in [#103959](https://github.com/getsentry/sentry/pull/103959)\n- feat(aci): Display apdex option for spans by @scttcper in [#103791](https://github.com/getsentry/sentry/pull/103791)\n- feat(tests): Add helper to count mock calls by @lobsterkatie in [#103941](https://github.com/getsentry/sentry/pull/103941)\n- feat(explorer): send interactivity flag in client by @roaga in [#103934](https://github.com/getsentry/sentry/pull/103934)\n- feat(grouping): Add options to control grouphash caching by @lobsterkatie in [#103943](https://github.com/getsentry/sentry/pull/103943)\n- feat(eap): Always log the rpc query instead of only at debug by @wmak in [#103922](https://github.com/getsentry/sentry/pull/103922)\n- feat(issues): add summary to top issue card by @cvxluo in [#103880](https://github.com/getsentry/sentry/pull/103880)\n- feat(Replay): Update Query Archived Alias by @cliffordxing in [#103914](https://github.com/getsentry/sentry/pull/103914)\n- feat(tracemetrics): Copy previous metric instead of using defaults by @Zylphrex in [#103917](https://github.com/getsentry/sentry/pull/103917)\n- feat(explore): Add hooks for date page filter props based on data cat… by @Zylphrex in [#103822](https://github.com/getsentry/sentry/pull/103822)\n- feat: migrations should noop faster by @joshuarli in [#103795](https://github.com/getsentry/sentry/pull/103795)\n- feat(explorer): add config for intelligence level to client by @roaga in [#103873](https://github.com/getsentry/sentry/pull/103873)\n- feat: Add support for extrapolation modes in entity subscription by @shruthilayaj in [#103834](https://github.com/getsentry/sentry/pull/103834)\n- feat(aci): Replace detector type in url, add default by @scttcper in [#103837](https://github.com/getsentry/sentry/pull/103837)\n- feat(replay): Add sticky header support to replay table and header components by @jerryzhou196 in [#103825](https://github.com/getsentry/sentry/pull/103825)\n- feat(aci): redirect alert rules to detectors by @ameliahsu in [#103682](https://github.com/getsentry/sentry/pull/103682)\n- feat(charts): Adding new chart range selection hook by @Abdkhan14 in [#103748](https://github.com/getsentry/sentry/pull/103748)\n- feat(prevent): Remove seer app bullet from onboarding by @suejung-sentry in [#103421](https://github.com/getsentry/sentry/pull/103421)\n- feat(deletions): Retry task on timeout by @armenzg in [#103894](https://github.com/getsentry/sentry/pull/103894)\n- feat(replay): Add loading state to ReplayPlaylistProvider and update usage in related components by @jerryzhou196 in [#103835](https://github.com/getsentry/sentry/pull/103835)\n- feat(sdk): Trial higher envelope serialization limits by @alexander-alderman-webb in [#103882](https://github.com/getsentry/sentry/pull/103882)\n- feat(deletions): Cleanup more groups per project by @armenzg in [#103851](https://github.com/getsentry/sentry/pull/103851)\n- feat(perforce): Add Perforce integration infrastructure and stubs by @mujacica in [#103287](https://github.com/getsentry/sentry/pull/103287)\n- feat(perforce): Add frontend support for Perforce integration by @mujacica in [#103172](https://github.com/getsentry/sentry/pull/103172)\n- feat(symbolication): Make frame order explicit by @loewenheim in [#103638](https://github.com/getsentry/sentry/pull/103638)\n- feat(issues): top issues experiment by @cvxluo in [#103773](https://github.com/getsentry/sentry/pull/103773)\n- feat(aci): add Incident to GroupOpenPeriod lookup endpoint by @ameliahsu in [#103782](https://github.com/getsentry/sentry/pull/103782)\n- feat(dashboards): automatically populate dashboard ids in prebuilt dashboards by @DominikB2014 in [#103738](https://github.com/getsentry/sentry/pull/103738)\n- feat(charts): Custom icons for legends by @evanpurkhiser in [#103800](https://github.com/getsentry/sentry/pull/103800)\n- feat(Replay): Strip Dash Before EAP Replay Query by @cliffordxing in [#103793](https://github.com/getsentry/sentry/pull/103793)\n- 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)\n- feat(aci): Add serialized data source to issue occurrence evidence data by @malwilley in [#103549](https://github.com/getsentry/sentry/pull/103549)\n- feat(explore): Limit explore visualizes to 8 by @Zylphrex in [#103826](https://github.com/getsentry/sentry/pull/103826)\n- feat(aci): Edit connected alerts directly from monitor details by @malwilley in [#103757](https://github.com/getsentry/sentry/pull/103757)\n- feat: Remove extrapolation modes from alerts translation by @shruthilayaj in [#103823](https://github.com/getsentry/sentry/pull/103823)\n- feat(deletions): Schedule task to delete pending deletions groups by @armenzg in [#103820](https://github.com/getsentry/sentry/pull/103820)\n- feat(aci): Make Workflow.when_condition_group unique by @kcons in [#103768](https://github.com/getsentry/sentry/pull/103768)\n- feat: Use extrapolation mode in alerts by @shruthilayaj in [#103731](https://github.com/getsentry/sentry/pull/103731)\n- feat: Add url_names option to deprecated() by @markstory in [#103758](https://github.com/getsentry/sentry/pull/103758)\n- feat(dashboards): add legend to queries module charts by @DominikB2014 in [#103752](https://github.com/getsentry/sentry/pull/103752)\n- feat(prevent): Enable EU for ai code review by @suejung-sentry in [#103420](https://github.com/getsentry/sentry/pull/103420)\n- feat(dashboards): allow a single equation on a chart by @bcoe in [#103783](https://github.com/getsentry/sentry/pull/103783)\n- feat: Add modal for binaries without dsyms by @noahsmartin in [#103554](https://github.com/getsentry/sentry/pull/103554)\n- feat(explore): Add saved queries to title for logs and metrics by @nsdeschenes in [#103644](https://github.com/getsentry/sentry/pull/103644)\n- feat(objectstore): Add a (no-op) Objectstore endpoint by @lcian in [#103468](https://github.com/getsentry/sentry/pull/103468)\n- feat(settings): Remove deprecated route props from SentryApplicationDetails by @scttcper in [#103797](https://github.com/getsentry/sentry/pull/103797)\n- feat(billing): update org retention settings in \\_admin by @vbro in [#103126](https://github.com/getsentry/sentry/pull/103126)\n- feat(issues): top issues ui flag by @cvxluo in [#103776](https://github.com/getsentry/sentry/pull/103776)\n- feat(billing): add orgRetention to Subscription type by @vbro in [#103118](https://github.com/getsentry/sentry/pull/103118)\n- feat(eventstream): Synchronously write occurrences to EAP from the `SnubaEventStream` by @shashjar in [#103566](https://github.com/getsentry/sentry/pull/103566)\n- feat(events): Add logging to debug queries by @wmak in [#103766](https://github.com/getsentry/sentry/pull/103766)\n- feat(events): Add rpc request even on error by @wmak in [#103678](https://github.com/getsentry/sentry/pull/103678)\n- 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)\n- feat(insights): Updates Web Vital Issue detection titles by @edwardgou-sentry in [#103657](https://github.com/getsentry/sentry/pull/103657)\n- feat(preprod): Add codesigning type to check for updates filter by @noahsmartin in [#103727](https://github.com/getsentry/sentry/pull/103727)\n- feat(explore): Update confidence footer again by @Zylphrex in [#103680](https://github.com/getsentry/sentry/pull/103680)\n- feat(scraps): add tokens by @natemoo-re in [#103685](https://github.com/getsentry/sentry/pull/103685)\n- feat(settings): Disable AI settings when gen-ai-features flag is off by @JoshFerge in [#103387](https://github.com/getsentry/sentry/pull/103387)\n- feat(aci): Add monitor created/updated analytics by @scttcper in [#103279](https://github.com/getsentry/sentry/pull/103279)\n- feat(eap): Enable deletion from EAP by default, with a killswitch option by @shashjar in [#102808](https://github.com/getsentry/sentry/pull/102808)\n- feat(explorer): support caseInsensitive param by @aliu39 in [#103494](https://github.com/getsentry/sentry/pull/103494)\n- feat(deletions): Re-attempt deletions after 6 hours by @armenzg in [#103643](https://github.com/getsentry/sentry/pull/103643)\n- feat(aci): redirect rules to automations with UI FF by @ameliahsu in [#103322](https://github.com/getsentry/sentry/pull/103322)\n- feat(insights): Adds metrics to web vitals issue detection task by @edwardgou-sentry in [#103538](https://github.com/getsentry/sentry/pull/103538)\n- feat(dashboards): link query overview to summary by @DominikB2014 in [#103530](https://github.com/getsentry/sentry/pull/103530)\n- feat(ACI): Delete data in Seer when dynamic detector type is changed by @ceorourke in [#103323](https://github.com/getsentry/sentry/pull/103323)\n- feat(dashboards): query dashboards by prebuilt id in api by @DominikB2014 in [#103557](https://github.com/getsentry/sentry/pull/103557)\n- feat(seer): better surface coding agent integration errors by @jennmueng in [#103302](https://github.com/getsentry/sentry/pull/103302)\n- feat(traces): Set page title to saved query name by @nsdeschenes in [#103633](https://github.com/getsentry/sentry/pull/103633)\n- feat(encryption): Add metrics for encrypted field by @vgrozdanic in [#103630](https://github.com/getsentry/sentry/pull/103630)\n- feat(encryption): Use EncryptedCharField in TempestCredentials by @vgrozdanic in [#103515](https://github.com/getsentry/sentry/pull/103515)\n- feat(aci): Add basic automation analytics by @scttcper in [#103416](https://github.com/getsentry/sentry/pull/103416)\n- feat(aci): Ensure DetectorGroup for recurring Groups by @kcons in [#103419](https://github.com/getsentry/sentry/pull/103419)\n- feat(detectors): Add detector type to breadcrumbs by @evanpurkhiser in [#103560](https://github.com/getsentry/sentry/pull/103560)\n- feat(aci): Disable error monitor create button by @malwilley in [#103544](https://github.com/getsentry/sentry/pull/103544)\n- feat(insights): register query module prebuilt dashboards by @DominikB2014 in [#103531](https://github.com/getsentry/sentry/pull/103531)\n- feat(aci): Allow empty monitor/alert names by @scttcper in [#103350](https://github.com/getsentry/sentry/pull/103350)\n- feat(aci): Rewire insights crons/uptime links to go to Monitors by @malwilley in [#103129](https://github.com/getsentry/sentry/pull/103129)\n- feat(spans): Allow integers in count if conditions by @Zylphrex in [#103526](https://github.com/getsentry/sentry/pull/103526)\n- feat(encrryption): Add Fernet Key Store by @vgrozdanic in [#103511](https://github.com/getsentry/sentry/pull/103511)\n- feat(ai): Normalize model names for a better cost calculation by @vgrozdanic in [#103508](https://github.com/getsentry/sentry/pull/103508)\n- feat(preprod): add cards to build details by @mtopo27 in [#103470](https://github.com/getsentry/sentry/pull/103470)\n- feat(seer): Add separate scanner acknowledgement function with rollout rate by @JoshFerge in [#103496](https://github.com/getsentry/sentry/pull/103496)\n- feat(explorer): copy for metric viewing tool by @roaga in [#103430](https://github.com/getsentry/sentry/pull/103430)\n- feat(config): Remove log for tz mismatch by @billyvg in [#103492](https://github.com/getsentry/sentry/pull/103492)\n- feat(explorer): highlight nav links and smooth scroll by @roaga in [#103432](https://github.com/getsentry/sentry/pull/103432)\n- feat(ui): Disable Amplitude console logging by @billyvg in [#103452](https://github.com/getsentry/sentry/pull/103452)\n- feat(onboarding): Simplify metrics onboarding for the Python SDK by @alexander-alderman-webb in [#103354](https://github.com/getsentry/sentry/pull/103354)\n- feat(explorer): add rpc to wrap trace-items endpoint by @roaga in [#103429](https://github.com/getsentry/sentry/pull/103429)\n- feat(Replay): Add Flag for EAP Query for Replay Details Page by @cliffordxing in [#103278](https://github.com/getsentry/sentry/pull/103278)\n- feat(billing): Add notification setting for seer users by @brendanhsentry in [#103411](https://github.com/getsentry/sentry/pull/103411)\n- feat: Add feature flag for downsampled date page filter by @Zylphrex in [#103403](https://github.com/getsentry/sentry/pull/103403)\n- feat(dashboards): Use a single value selector for boolean filters by @Ahmed-Labs in [#102792](https://github.com/getsentry/sentry/pull/102792)\n- feat: Consolidate adjacent traces & move next to search by @JPeer264 in [#102472](https://github.com/getsentry/sentry/pull/102472)\n\n### Bug Fixes 🐛\n\n- fix(snuba): add missing api.metrics.totals.second_query to Referrer enum by @constantinius in [#104155](https://github.com/getsentry/sentry/pull/104155)\n- 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)\n- fix(playstation): Show warning when connection is good, but no errors by @mujacica in [#104097](https://github.com/getsentry/sentry/pull/104097)\n- fix(playstation): Show warning when connection is good, but no errors by @mujacica in [#104096](https://github.com/getsentry/sentry/pull/104096)\n- fix(dashboards): Filter out prebuilt dashboards from add to dashboard dropdown options by @edwardgou-sentry in [#104132](https://github.com/getsentry/sentry/pull/104132)\n- fix(sdk): Remove higher envelope serialization limits by @alexander-alderman-webb in [#104118](https://github.com/getsentry/sentry/pull/104118)\n- fix(explore): Bandaid to escape brackets  by @nsdeschenes in [#104108](https://github.com/getsentry/sentry/pull/104108)\n- fix(dashboards): Fix trigger for single value global filter selector by @Ahmed-Labs in [#104107](https://github.com/getsentry/sentry/pull/104107)\n- fix(dashboards): can't save details widget by @DominikB2014 in [#104106](https://github.com/getsentry/sentry/pull/104106)\n- fix(aci): accept str instead of int for extrapolation mode in validator by @nikkikapadia in [#104015](https://github.com/getsentry/sentry/pull/104015)\n- fix(waterfall): Search for previous and next traces across environments by @Lms24 in [#104095](https://github.com/getsentry/sentry/pull/104095)\n- fix(playstation): Remove option to not fetch prospero dumps from tempest by @mujacica in [#104042](https://github.com/getsentry/sentry/pull/104042)\n- fix(waterfall): Relax \"next_trace\" lookup to just the trace id by @Lms24 in [#104047](https://github.com/getsentry/sentry/pull/104047)\n- fix(dashboards): Updates dashboard quota to not count prebuilt dashboards by @edwardgou-sentry in [#103985](https://github.com/getsentry/sentry/pull/103985)\n- fix(billing): Check self serve partner value in hasBillingInfo by @brendanhsentry in [#104066](https://github.com/getsentry/sentry/pull/104066)\n- fix(Replay): Include Timestamp Attribute in Trace Item by @cliffordxing in [#104030](https://github.com/getsentry/sentry/pull/104030)\n- fix(aci): use aggregate output type for % change detection charts by @scttcper in [#104061](https://github.com/getsentry/sentry/pull/104061)\n- fix(ACI): Fix adding sentry app action to a workflow by @ceorourke in [#103790](https://github.com/getsentry/sentry/pull/103790)\n- fix(aci): handle fake alert rule ids in AlertRuleDetector lookup by @ameliahsu in [#104031](https://github.com/getsentry/sentry/pull/104031)\n- fix(aci): Disable highlighting series on hover by @scttcper in [#103950](https://github.com/getsentry/sentry/pull/103950)\n- fix(billing): Let backend handle dynamic validation by @isabellaenriquez in [#103977](https://github.com/getsentry/sentry/pull/103977)\n- fix(ui): Fix typo in Laravel onboarding text by @romeopopescu in [#103896](https://github.com/getsentry/sentry/pull/103896)\n- fix(settings): Prevent infinite requests in forward stats by @scttcper in [#104032](https://github.com/getsentry/sentry/pull/104032)\n- 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)\n- fix(aci): Multiply release data values by 100 by @scttcper in [#103981](https://github.com/getsentry/sentry/pull/103981)\n- fix(db): Avoid project db query by accessing just its id by @beezz in [#104008](https://github.com/getsentry/sentry/pull/104008)\n- fix(ourlogs): Add drawer QP and fix scroll by @k-fish in [#103979](https://github.com/getsentry/sentry/pull/103979)\n- fix(monitors): Allow editing cron monitor detectors with existing slug by @evanpurkhiser in [#103846](https://github.com/getsentry/sentry/pull/103846)\n- fix(tracemetrics): Wait for datascanned by @k-fish in [#103993](https://github.com/getsentry/sentry/pull/103993)\n- fix(preprod): fix positioning of app size tooltip by @trevor-e in [#103978](https://github.com/getsentry/sentry/pull/103978)\n- fix(misc): Fix getExactDuration behaviour when given a precision parameter by @kenzoengineer in [#103958](https://github.com/getsentry/sentry/pull/103958)\n- fix(aci): support notifications for non-dual written metric detectors by @mifu67 in [#103938](https://github.com/getsentry/sentry/pull/103938)\n- fix(aci): correctly query open periods within date range by @ameliahsu in [#103924](https://github.com/getsentry/sentry/pull/103924)\n- fix(tracemetrics): Fix analytics firing by @k-fish in [#103982](https://github.com/getsentry/sentry/pull/103982)\n- fix(ACI): Migrate fallthroughType to fallthrough_type by @ceorourke in [#103764](https://github.com/getsentry/sentry/pull/103764)\n- fix(performance): Fixes web vital issue trace links not working sometimes by @edwardgou-sentry in [#103859](https://github.com/getsentry/sentry/pull/103859)\n- fix(billing): Handle emirates by @isabellaenriquez in [#103973](https://github.com/getsentry/sentry/pull/103973)\n- fix: Code signature error list missing newlines by @noahsmartin in [#103969](https://github.com/getsentry/sentry/pull/103969)\n- fix(profiling): Link event id for profiles in trace view by @Zylphrex in [#103921](https://github.com/getsentry/sentry/pull/103921)\n- fix(aci): Try our best in Project.transfer_to by @kcons in [#103704](https://github.com/getsentry/sentry/pull/103704)\n- fix(issues): resolve column styling problems in top issues by @cvxluo in [#103946](https://github.com/getsentry/sentry/pull/103946)\n- fix(aci): always combine rule and workflow fire history in API by @cathteng in [#103945](https://github.com/getsentry/sentry/pull/103945)\n- fix(Replay): Update Timestamp Start Query by @cliffordxing in [#103942](https://github.com/getsentry/sentry/pull/103942)\n- fix(issues): Fix issue search single page count inaccuracy by @yuvmen in [#103865](https://github.com/getsentry/sentry/pull/103865)\n- fix(aci): simplify DetectorWorkflow connection permission requirements by @ameliahsu in [#103799](https://github.com/getsentry/sentry/pull/103799)\n- fix(alerts): filter out orphaned metric alerts when checking limit by @cathteng in [#103912](https://github.com/getsentry/sentry/pull/103912)\n- fix(mcp): Use mutable search in mcp link generation by @Zylphrex in [#103911](https://github.com/getsentry/sentry/pull/103911)\n- fix(ACI): Accept fallthrough type in actions by @ceorourke in [#103694](https://github.com/getsentry/sentry/pull/103694)\n- fix(aci): prevent deletion of system-created monitors in API by @ameliahsu in [#103843](https://github.com/getsentry/sentry/pull/103843)\n- fix(deletions): Fix MonitorCheckIn direct deletion by @yuvmen in [#103907](https://github.com/getsentry/sentry/pull/103907)\n- fix(aci): Immediate deletion of workflow-detector connections in DELETE endpoints by @malwilley in [#103869](https://github.com/getsentry/sentry/pull/103869)\n- fix(aci): Snake casing for data sources in evidence data by @malwilley in [#103858](https://github.com/getsentry/sentry/pull/103858)\n- fix(aci): add back logic to create IGOP associations for long-standing incidents by @mifu67 in [#103778](https://github.com/getsentry/sentry/pull/103778)\n- fix(explorer): set correct thread id in metadata by @roaga in [#103876](https://github.com/getsentry/sentry/pull/103876)\n- fix(tracemetrics): Add metric button not working by @Zylphrex in [#103900](https://github.com/getsentry/sentry/pull/103900)\n- fix(ui): point hardcoded dark background colors to UI2 theme token values by @TkDodo in [#103886](https://github.com/getsentry/sentry/pull/103886)\n- fix(ui2): align OperationDot by @TkDodo in [#103819](https://github.com/getsentry/sentry/pull/103819)\n- fix(explorer): accept trace id for flamegraph tool by @roaga in [#103818](https://github.com/getsentry/sentry/pull/103818)\n- fix(eap): Update attribute key name provided in `DeleteTraceItemsRequest` RPCs by @shashjar in [#103867](https://github.com/getsentry/sentry/pull/103867)\n- fix(eventstream): Fix trace item inserts to EAP via Snuba HTTP backend by @shashjar in [#103857](https://github.com/getsentry/sentry/pull/103857)\n- fix(aci): prevent deletion of system-created monitors in UI by @ameliahsu in [#103838](https://github.com/getsentry/sentry/pull/103838)\n- fix(aci): json.dump sentry app settings value fields by @cathteng in [#103845](https://github.com/getsentry/sentry/pull/103845)\n- fix(eap): Update the filter provided when issuing `DeleteTraceItemsRequest` RPCs by @shashjar in [#103848](https://github.com/getsentry/sentry/pull/103848)\n- 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)\n- fix(ui): Remove span wrapping avatar near commit author by @evanpurkhiser in [#103824](https://github.com/getsentry/sentry/pull/103824)\n- fix(aci): Retry failed Seer anomaly data fetches by @kcons in [#103788](https://github.com/getsentry/sentry/pull/103788)\n- fix(deletion): Fix MonitorCheckIn deletion failures by @yuvmen in [#103786](https://github.com/getsentry/sentry/pull/103786)\n- fix(aci): Hide failure rate and hide string options for p50 by @scttcper in [#103697](https://github.com/getsentry/sentry/pull/103697)\n- fix(eap): Pass `trace_item_type` in `RequestMeta` for `DeleteTraceItemsRequest` RPC by @shashjar in [#103784](https://github.com/getsentry/sentry/pull/103784)\n- fix(preprod): update frontend to new missing_dsym_binaries field by @trevor-e in [#103735](https://github.com/getsentry/sentry/pull/103735)\n- fix(eap): Provide correct endpoint name when deleting trace items from EAP by @shashjar in [#103749](https://github.com/getsentry/sentry/pull/103749)\n- fix(aci): remove email targetDisplay from UI POST request by @ameliahsu in [#103679](https://github.com/getsentry/sentry/pull/103679)\n- fix(integrations): update usage of is_enabled data forwarding by @liuirene256 in [#103584](https://github.com/getsentry/sentry/pull/103584)\n- fix(slack): Truncate blocks to be less than 50 for digest notifications by @Christinarlong in [#103498](https://github.com/getsentry/sentry/pull/103498)\n- fix(tracemetrics): Add 'new query' for save-as behaviour by @k-fish in [#103734](https://github.com/getsentry/sentry/pull/103734)\n- fix(explorer): new copy for metric attrs tool by @roaga in [#103728](https://github.com/getsentry/sentry/pull/103728)\n- fix(replay): Adjust placeholder height in user badge component by @jerryzhou196 in [#103726](https://github.com/getsentry/sentry/pull/103726)\n- fix(replay): Fix infinite re-render in breadcrumbs by @billyvg in [#103373](https://github.com/getsentry/sentry/pull/103373)\n- 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)\n- fix(explorer): better profile thread selection logic by @roaga in [#103656](https://github.com/getsentry/sentry/pull/103656)\n- fix(explorer): stricter short ID regex by @roaga in [#103721](https://github.com/getsentry/sentry/pull/103721)\n- fix(tracemetrics): Validate aggregate sort bys for metrics by @Zylphrex in [#103555](https://github.com/getsentry/sentry/pull/103555)\n- 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)\n- fix(encryption): Improve log message when we load 0 keys by @vgrozdanic in [#103715](https://github.com/getsentry/sentry/pull/103715)\n- fix(eu_data_export): fixes sts transfer job schedule by @viglia in [#103712](https://github.com/getsentry/sentry/pull/103712)\n- 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)\n- fix(timeseries): Handle orderbys not in groupby by @wmak in [#103547](https://github.com/getsentry/sentry/pull/103547)\n- fix(checkout): Use correct unit for attachments by @isabellaenriquez in [#103647](https://github.com/getsentry/sentry/pull/103647)\n- fix(aci): Filter connected monitors drawer by project by @malwilley in [#103572](https://github.com/getsentry/sentry/pull/103572)\n- fix(aci): close IGOP relationships in more cases and heal broken relationships by @mifu67 in [#103407](https://github.com/getsentry/sentry/pull/103407)\n- fix(ourlogs): Add error event to log list by @k-fish in [#103649](https://github.com/getsentry/sentry/pull/103649)\n- fix(dashboards): Fix incorrect URL construction for \"Open in Explore\" for Logs widgets by @gggritso in [#103642](https://github.com/getsentry/sentry/pull/103642)\n- fix(issues): Remove sentry logging on invalid url by @scttcper in [#103574](https://github.com/getsentry/sentry/pull/103574)\n- fix(feedback): remove feature badge for AI summaries & categories by @srest2021 in [#103571](https://github.com/getsentry/sentry/pull/103571)\n- fix(detectors): Navigate to detector type list page after deletion by @evanpurkhiser in [#103562](https://github.com/getsentry/sentry/pull/103562)\n- fix(aci): Apply chart zoom on automation history by @scttcper in [#103392](https://github.com/getsentry/sentry/pull/103392)\n- fix(aci): Autosize description, remove padding by @scttcper in [#103546](https://github.com/getsentry/sentry/pull/103546)\n- fix(issues): Attribute error in issue details thrown on None tag values by @yuvmen in [#103500](https://github.com/getsentry/sentry/pull/103500)\n- fix(replay): fix buttons from being cutoff by @jerryzhou196 in [#103522](https://github.com/getsentry/sentry/pull/103522)\n- fix(deletions): Fix Monitor deletion timeouts by @yuvmen in [#103495](https://github.com/getsentry/sentry/pull/103495)\n- fix(checkout): Insights on Team by @isabellaenriquez in [#103514](https://github.com/getsentry/sentry/pull/103514)\n- fix(replay): move hover to be over buttons by @jerryzhou196 in [#103524](https://github.com/getsentry/sentry/pull/103524)\n- fix(aci): update hits count for workflow fire history by @ameliahsu in [#103400](https://github.com/getsentry/sentry/pull/103400)\n- fix(crons): Add trailing slash to monitor environment detail endpoints by @evanpurkhiser in [#103480](https://github.com/getsentry/sentry/pull/103480)\n- fix(replay): validate replay start/end for summaries by @michellewzhang in [#103388](https://github.com/getsentry/sentry/pull/103388)\n- fix(issues): use correct tz for absolute date picker by @cvxluo in [#103423](https://github.com/getsentry/sentry/pull/103423)\n- fix(timeseries): Remove unwanted `groupBy` parameter by @gggritso in [#103482](https://github.com/getsentry/sentry/pull/103482)\n- fix(tracemetrics): Don't show metrics on error by @k-fish in [#103516](https://github.com/getsentry/sentry/pull/103516)\n- fix(seer): Increase lock duration for issue summary generation by @seer-by-sentry in [#103477](https://github.com/getsentry/sentry/pull/103477)\n- fix(grouping): Ensure custom titles use the correct frame by @lobsterkatie in [#103425](https://github.com/getsentry/sentry/pull/103425)\n- fix(loader): respect `prefers-reduced-motion` by @natemoo-re in [#103461](https://github.com/getsentry/sentry/pull/103461)\n- fix(integrations): data forwarding bug fixes by @liuirene256 in [#103393](https://github.com/getsentry/sentry/pull/103393)\n- fix(ui): Do not add extranious height to AI insights onboarding by @evanpurkhiser in [#103451](https://github.com/getsentry/sentry/pull/103451)\n- fix(dashboards): set widget to loading before adding to queue by @DominikB2014 in [#103449](https://github.com/getsentry/sentry/pull/103449)\n- fix(explorer): set thread id in profile navigation by @roaga in [#103427](https://github.com/getsentry/sentry/pull/103427)\n- fix(explorer): fix profile thread selection by @roaga in [#103426](https://github.com/getsentry/sentry/pull/103426)\n- fix(dashboards): queue doesn't apply to all datasets by @DominikB2014 in [#103444](https://github.com/getsentry/sentry/pull/103444)\n- fix(search): Fix handle backslashes in wildcard operators by @Zylphrex in [#103379](https://github.com/getsentry/sentry/pull/103379)\n- fix(explorer): only return active projects by @roaga in [#103434](https://github.com/getsentry/sentry/pull/103434)\n- fix(spans): Shim more fields for issue detectors by @jjbayer in [#103353](https://github.com/getsentry/sentry/pull/103353)\n\n### Build / dependencies / internal 🔧\n\n- ref(eap): Remove AnyResolved type by @Zylphrex in [#104130](https://github.com/getsentry/sentry/pull/104130)\n- chore(explore): Remove used explore flag backend by @Zylphrex in [#104021](https://github.com/getsentry/sentry/pull/104021)\n- chore(explore): Add in cross event query param by @nsdeschenes in [#103666](https://github.com/getsentry/sentry/pull/103666)\n- ref(explorer): add copy and nav for errors search by @aliu39 in [#104078](https://github.com/getsentry/sentry/pull/104078)\n- ref(explorer): update log tool copy by @aliu39 in [#104065](https://github.com/getsentry/sentry/pull/104065)\n- chore(aci): bump offset for fake IDs by @mifu67 in [#104051](https://github.com/getsentry/sentry/pull/104051)\n- chore: Remove vercel logs feature flag from backend by @AbhiPrasad in [#103975](https://github.com/getsentry/sentry/pull/103975)\n- ref(issues): move top issues tab to top by @cvxluo in [#104056](https://github.com/getsentry/sentry/pull/104056)\n- chore(tests): skip flaky test by @mifu67 in [#104057](https://github.com/getsentry/sentry/pull/104057)\n- chore(logs): Remove ourlogs-high-fidelity feature flag frontend by @Zylphrex in [#104016](https://github.com/getsentry/sentry/pull/104016)\n- chore(dashboards): Address global filter UI feedback by @Ahmed-Labs in [#103902](https://github.com/getsentry/sentry/pull/103902)\n- chore(explore): Remove visibility-explore-aggregate-editor flag frontend by @Zylphrex in [#104020](https://github.com/getsentry/sentry/pull/104020)\n- chore(logs): Remove ourlogs-high-fidelity feature flag backend by @Zylphrex in [#104017](https://github.com/getsentry/sentry/pull/104017)\n- ref(issues): delete top issue breadcrumbs by @cvxluo in [#104028](https://github.com/getsentry/sentry/pull/104028)\n- chore(feedback): Prefer <FeedbackButton> over useFeedbackForm() by @ryan953 in [#103916](https://github.com/getsentry/sentry/pull/103916)\n- chore(seer): Setup new, blank, page for Seer settings to live by @ryan953 in [#103990](https://github.com/getsentry/sentry/pull/103990)\n- ref(explorer): rm old issue rpc by @aliu39 in [#103935](https://github.com/getsentry/sentry/pull/103935)\n- ref(ui): Use type-fest type for flatten by @scttcper in [#103998](https://github.com/getsentry/sentry/pull/103998)\n- 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)\n- chore(traces): Register flag for cross event querying by @nsdeschenes in [#103987](https://github.com/getsentry/sentry/pull/103987)\n- ref(events): Singularize pluralized params in the events endpoint by @wmak in [#103923](https://github.com/getsentry/sentry/pull/103923)\n- chore(deletions): Change schedule & date ranges by @armenzg in [#103897](https://github.com/getsentry/sentry/pull/103897)\n- chore(releases): fix releases tooltip width by @mtopo27 in [#103955](https://github.com/getsentry/sentry/pull/103955)\n- chore(explore): Hard code sdk name and version as span string attrs by @Zylphrex in [#103980](https://github.com/getsentry/sentry/pull/103980)\n- ref: switch to type-fest for utility types by @TkDodo in [#103961](https://github.com/getsentry/sentry/pull/103961)\n- chore(preprod): binary export insight by @mtopo27 in [#102459](https://github.com/getsentry/sentry/pull/102459)\n- ref(redis): Do not use redis-blaster for snowflake IDs generation by @beezz in [#103967](https://github.com/getsentry/sentry/pull/103967)\n- chore(preprod): fix typo in install modal by @mtopo27 in [#103968](https://github.com/getsentry/sentry/pull/103968)\n- ref(issues): clean up top issues styles by @cvxluo in [#103944](https://github.com/getsentry/sentry/pull/103944)\n- chore(aci): log missing WorkflowActionGroupStatus after bulk create by @cathteng in [#103928](https://github.com/getsentry/sentry/pull/103928)\n- chore(aci): allow feedback issues through workflow engine by @cathteng in [#100153](https://github.com/getsentry/sentry/pull/100153)\n- ref(issues): use top issues endpoint by @cvxluo in [#103899](https://github.com/getsentry/sentry/pull/103899)\n- ref(tracemetrics): Add test for metrics tab by @k-fish in [#103901](https://github.com/getsentry/sentry/pull/103901)\n- chore(replay): Cleanup zendesk feedback target in replay details by @ryan953 in [#103908](https://github.com/getsentry/sentry/pull/103908)\n- chore(preprod): amplitude events for emerge pages (EME-638) by @mtopo27 in [#103801](https://github.com/getsentry/sentry/pull/103801)\n- chore(releases): add give feedback to release details page by @mtopo27 in [#103866](https://github.com/getsentry/sentry/pull/103866)\n- chore(aci): fetch issue stream detector in process_workflows by @cathteng in [#103709](https://github.com/getsentry/sentry/pull/103709)\n- chore(traces): Swap from `useFeedbackWidget` to `useFeedbackForm()` in trace viewer by @ryan953 in [#103903](https://github.com/getsentry/sentry/pull/103903)\n- chore(aci): remove lastChecked from open period serializer by @mifu67 in [#103868](https://github.com/getsentry/sentry/pull/103868)\n- chore(billing): Add data-test-id for acceptance tests by @isabellaenriquez in [#103898](https://github.com/getsentry/sentry/pull/103898)\n- chore: Refactor FeedbackButton to accept all the feedback options by @ryan953 in [#103794](https://github.com/getsentry/sentry/pull/103794)\n- ref: set checkJs globally to true by @TkDodo in [#103890](https://github.com/getsentry/sentry/pull/103890)\n- ref(aci): remove detector usage in WorkflowFireHistory and action firing by @cathteng in [#103082](https://github.com/getsentry/sentry/pull/103082)\n- ref(taskbroker): Clarify docstring & class name by @armenzg in [#103893](https://github.com/getsentry/sentry/pull/103893)\n- ref(explorer): rpc to support issue/event detail queries with event id only by @aliu39 in [#103787](https://github.com/getsentry/sentry/pull/103787)\n- ref: bump Granian to 2.6, enable pname extra by @gi0baro in [#103817](https://github.com/getsentry/sentry/pull/103817)\n- ref(deletions): Use the same logic to schedule tasks by @armenzg in [#103836](https://github.com/getsentry/sentry/pull/103836)\n- ci: Enable Objectstore by @lcian in [#103483](https://github.com/getsentry/sentry/pull/103483)\n- chore(eco): allow deleting disabled org integrations by @cathteng in [#103785](https://github.com/getsentry/sentry/pull/103785)\n- chore(releases): remove floating feedback widget in favor of header feedback (ENG-5961) by @mtopo27 in [#103862](https://github.com/getsentry/sentry/pull/103862)\n- ref(billing): Convert CreditType to dynamic type union by @dashed in [#103815](https://github.com/getsentry/sentry/pull/103815)\n- ref(ui): Refactor EmptyMessage to use core components and simplify API by @evanpurkhiser in [#103798](https://github.com/getsentry/sentry/pull/103798)\n- chore(ACI): Pop actions off of conditions by @ceorourke in [#103755](https://github.com/getsentry/sentry/pull/103755)\n- ref(releases): Migrate release actions off deprecated route props by @scttcper in [#103705](https://github.com/getsentry/sentry/pull/103705)\n- ref(detectors): Hide environment selector for cron monitors by @evanpurkhiser in [#103841](https://github.com/getsentry/sentry/pull/103841)\n- chore(replay): Remove an extra wrapper in the Replay List page header by @ryan953 in [#103847](https://github.com/getsentry/sentry/pull/103847)\n- ref(aci): decouple detector from workflowfirehistory in API by @cathteng in [#102918](https://github.com/getsentry/sentry/pull/102918)\n- ref(explorer): support start/end for table and timeseries rpcs by @aliu39 in [#103779](https://github.com/getsentry/sentry/pull/103779)\n- ref(explore): Increase trace explorer visualization limit from 4 to 8 by @JoshFerge in [#103769](https://github.com/getsentry/sentry/pull/103769)\n- ref(seer): Update add-on enum by @isabellaenriquez in [#103695](https://github.com/getsentry/sentry/pull/103695)\n- ref(explorer): add copy for log details tool by @aliu39 in [#103765](https://github.com/getsentry/sentry/pull/103765)\n- ref(billing): Convert InvoiceItemType to dynamic type union by @dashed in [#103664](https://github.com/getsentry/sentry/pull/103664)\n- ref(seer): Introduce legacy add-on by @isabellaenriquez in [#103724](https://github.com/getsentry/sentry/pull/103724)\n- ref(compactSelect): improve clearing values by @TkDodo in [#103720](https://github.com/getsentry/sentry/pull/103720)\n- ref: short circuit post_upgrade hook for migrations-drift by @joshuarli in [#103337](https://github.com/getsentry/sentry/pull/103337)\n- ref(eap): Create a constant for the EAP insert items endpoint path by @shashjar in [#103780](https://github.com/getsentry/sentry/pull/103780)\n- ref(billing): Remove QUOTA_PREVENT_USERS notification by @brendanhsentry in [#103587](https://github.com/getsentry/sentry/pull/103587)\n- chore(replay): add new feature flag for new UI by @jerryzhou196 in [#103762](https://github.com/getsentry/sentry/pull/103762)\n- ref: bump sentry-relay to 0.9.22 by @srest2021 in [#103736](https://github.com/getsentry/sentry/pull/103736)\n- ref(feedback): move feedback empty state to /feedback by @michellewzhang in [#103763](https://github.com/getsentry/sentry/pull/103763)\n- ref(preprod): convert missing_dsym_binaries to bool by @trevor-e in [#103733](https://github.com/getsentry/sentry/pull/103733)\n- ref(crons): Simplify is_muted logic using all() instead of double negative by @evanpurkhiser in [#103732](https://github.com/getsentry/sentry/pull/103732)\n- chore(integrations): make project_ids not required by @liuirene256 in [#103747](https://github.com/getsentry/sentry/pull/103747)\n- chore(insights): Remove beta badge from Web Vitals seer suggestions by @edwardgou-sentry in [#103722](https://github.com/getsentry/sentry/pull/103722)\n- chore(issues): Remove old reference to performance category when building alert message by @malwilley in [#103580](https://github.com/getsentry/sentry/pull/103580)\n- chore(migrations): Fix up failed deletes by @wedamija in [#103703](https://github.com/getsentry/sentry/pull/103703)\n- ref(admin): Migrate ChangeDatesModal away from deprecated form by @scttcper in [#103499](https://github.com/getsentry/sentry/pull/103499)\n- ref(crons): Fix N+1 query in MonitorSerializer by removing is_muted property by @evanpurkhiser in [#103693](https://github.com/getsentry/sentry/pull/103693)\n- ref(crons): Delete Monitor.is_muted database column (stage 4) by @evanpurkhiser in [#103677](https://github.com/getsentry/sentry/pull/103677)\n- ref(aci): remove passing in detector to action.trigger attempt 2 by @cathteng in [#103099](https://github.com/getsentry/sentry/pull/103099)\n- chore(aci): create DetectorGroup with null detector if we can't find event by @cathteng in [#103700](https://github.com/getsentry/sentry/pull/103700)\n- ref: compositeSelect gets a required trigger by @TkDodo in [#103713](https://github.com/getsentry/sentry/pull/103713)\n- ref(checkout): Update route by @isabellaenriquez in [#103665](https://github.com/getsentry/sentry/pull/103665)\n- ref(eu_data_export): return list of jobs by @viglia in [#103717](https://github.com/getsentry/sentry/pull/103717)\n- chore(preprod): Use nonblocked project_id tag for other e2e metric by @NicoHinderling in [#103710](https://github.com/getsentry/sentry/pull/103710)\n- chore(deletions): Drop `sentry_incidentseen` and `sentry_incidentsubscription` leftover tables by @yuvmen in [#103559](https://github.com/getsentry/sentry/pull/103559)\n- ref(crons): Invalidate monitor query after environment muting by @evanpurkhiser in [#103692](https://github.com/getsentry/sentry/pull/103692)\n- ref(crons): Allow unmuting monitor envs when monitor \"muted\" by @evanpurkhiser in [#103689](https://github.com/getsentry/sentry/pull/103689)\n- ref(crons): Disable mute button when monitor has no environments (stage 5) by @evanpurkhiser in [#103568](https://github.com/getsentry/sentry/pull/103568)\n- chore(aci): Actually delete WorkflowFireHistory.is_single_written by @kcons in [#103683](https://github.com/getsentry/sentry/pull/103683)\n- ref(stats): Remove estimation logic for continuous profiling by @brendanhsentry in [#103658](https://github.com/getsentry/sentry/pull/103658)\n- ref(admin): Migrate change contract away from deprecated form by @scttcper in [#103503](https://github.com/getsentry/sentry/pull/103503)\n- ref(admin): Migrate end immediate action from deprecated forms by @scttcper in [#103501](https://github.com/getsentry/sentry/pull/103501)\n- chore(eco): default comment bots to off by @cathteng in [#103525](https://github.com/getsentry/sentry/pull/103525)\n- chore(insights): Removes free seer runs on Web Vitals issues by @edwardgou-sentry in [#103675](https://github.com/getsentry/sentry/pull/103675)\n- ref(dashboards): Remove spread from tags reduce by @scttcper in [#103670](https://github.com/getsentry/sentry/pull/103670)\n- ref(crons): Remove Monitor.is_muted field, make it computed (stage 3) by @evanpurkhiser in [#103567](https://github.com/getsentry/sentry/pull/103567)\n- chore(aci): update product links for LA by @ameliahsu in [#103671](https://github.com/getsentry/sentry/pull/103671)\n- chore(checkout): Add path pattern by @isabellaenriquez in [#103668](https://github.com/getsentry/sentry/pull/103668)\n- chore(aci): Remove WorkflowFireHistory.is_single_written by @kcons in [#103502](https://github.com/getsentry/sentry/pull/103502)\n- ref(scraps): make value and onChange required on compactSelect by @TkDodo in [#103654](https://github.com/getsentry/sentry/pull/103654)\n- ref: type reduce by @TkDodo in [#103631](https://github.com/getsentry/sentry/pull/103631)\n- ref(workflow_engine): Further reduce debug log size by @saponifi3d in [#103505](https://github.com/getsentry/sentry/pull/103505)\n- chore(issues): Remove reference to performance category in group has_replay by @malwilley in [#103585](https://github.com/getsentry/sentry/pull/103585)\n- chore: Tag extrapolation mode by @shruthilayaj in [#103540](https://github.com/getsentry/sentry/pull/103540)\n- ref: do not allow uncontrolled compactSelect by @TkDodo in [#103637](https://github.com/getsentry/sentry/pull/103637)\n- chore(explorer): add more debug logs for profiling by @roaga in [#103640](https://github.com/getsentry/sentry/pull/103640)\n- chore(ACI): Clean up metric issue by @ceorourke in [#103569](https://github.com/getsentry/sentry/pull/103569)\n- chore(Replay): Update EAP Flag Condition by @cliffordxing in [#103556](https://github.com/getsentry/sentry/pull/103556)\n- ref(reprocessing): Update documentation for reprocessing flow by @shashjar in [#102961](https://github.com/getsentry/sentry/pull/102961)\n- ref(ui): Use Stack over custom FormStack by @evanpurkhiser in [#103558](https://github.com/getsentry/sentry/pull/103558)\n- ref(crons): Add migration to backfill MonitorEnvironment.is_muted by @evanpurkhiser in [#103324](https://github.com/getsentry/sentry/pull/103324)\n- chore: Update API owners for Data Browsing by @gggritso in [#103542](https://github.com/getsentry/sentry/pull/103542)\n- ref(crons): Show processing errors on cron detectors list by @evanpurkhiser in [#103527](https://github.com/getsentry/sentry/pull/103527)\n- 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)\n- ref: bump sentry-relay to 0.9.21 by @brendanhsentry in [#103474](https://github.com/getsentry/sentry/pull/103474)\n- ref(performance): Improve web vitals issue check using occurrence type instead by @edwardgou-sentry in [#103471](https://github.com/getsentry/sentry/pull/103471)\n- chore(codeowners): adds data-browsing as owner by @alexjillard in [#102998](https://github.com/getsentry/sentry/pull/102998)\n- ref(replay): filter out events before replay start for log messages by @michellewzhang in [#102931](https://github.com/getsentry/sentry/pull/102931)\n- chore(aci): backfill detectorgroup for metric issues by @cathteng in [#103399](https://github.com/getsentry/sentry/pull/103399)\n- ref: cleanup intent-preloading feature flag by @TkDodo in [#103517](https://github.com/getsentry/sentry/pull/103517)\n- ref: bump objectstore-client to 0.0.11 by @getsentry-bot in [#103510](https://github.com/getsentry/sentry/pull/103510)\n- chore: disable flakey test by @JoshFerge in [#103497](https://github.com/getsentry/sentry/pull/103497)\n- ref(explorer): clean up old trace rpcs and auto-select sort field by @aliu39 in [#103491](https://github.com/getsentry/sentry/pull/103491)\n- ref(explorer): useSessionStorage to persist current run id by @aliu39 in [#103467](https://github.com/getsentry/sentry/pull/103467)\n- chore(explorer): add logs to profile tool by @roaga in [#103479](https://github.com/getsentry/sentry/pull/103479)\n- ref(conduit): Adjust permissions for conduit demo by @IanWoodard in [#103475](https://github.com/getsentry/sentry/pull/103475)\n- chore(preprod): abstract metric cards for build comparison by @mtopo27 in [#103469](https://github.com/getsentry/sentry/pull/103469)\n- ref(autofix): Reuse existing prism language map by @scttcper in [#103476](https://github.com/getsentry/sentry/pull/103476)\n- chore(preprod): fix casing by @mtopo27 in [#103472](https://github.com/getsentry/sentry/pull/103472)\n- ref(issues): Clarify markdown copy button label and show line count by @evanpurkhiser in [#103448](https://github.com/getsentry/sentry/pull/103448)\n- ref(workflow_engine): Make logs not insanely expensive by @saponifi3d in [#103464](https://github.com/getsentry/sentry/pull/103464)\n- ref(seer): Rename billing flag by @isabellaenriquez in [#103447](https://github.com/getsentry/sentry/pull/103447)\n- ref(checkout): Cleanup file structure by @isabellaenriquez in [#103378](https://github.com/getsentry/sentry/pull/103378)\n- ref(objectstore): Upgrade client to 0.0.10 by @lcian in [#103365](https://github.com/getsentry/sentry/pull/103365)\n- ref(profiling): remove flamegraph chunked query strategy feature flag by @viglia in [#103284](https://github.com/getsentry/sentry/pull/103284)\n\n### Documentation 📚\n\n- docs: Add update-migration script to AGENTS.md by @kcons in [#103770](https://github.com/getsentry/sentry/pull/103770)\n\n### Other\n\n- typing: Remove organization_events_meta from soft list by @armenzg in [#104102](https://github.com/getsentry/sentry/pull/104102)\n- feat(explore-attr-breakdowns): Removing hovering CTA by @Abdkhan14 in [#104144](https://github.com/getsentry/sentry/pull/104144)\n- Revert setting extrapolation mode to sample weighted by @shruthilayaj in [#104136](https://github.com/getsentry/sentry/pull/104136)\n- ref(redis) Don't use redis-blaster for snowflake ids v3 by @markstory in [#104114](https://github.com/getsentry/sentry/pull/104114)\n- fix(mcp-onboarding): Support fullstack JS platforms by @ArthurKnaus in [#104153](https://github.com/getsentry/sentry/pull/104153)\n- add copy as markdown to user feedback by @mtopo27 in [#103954](https://github.com/getsentry/sentry/pull/103954)\n- ref(✂️): update knip and address new findings by @TkDodo in [#104151](https://github.com/getsentry/sentry/pull/104151)\n- flags(size): Add new flag to gate size issue reporting by @chromy in [#104122](https://github.com/getsentry/sentry/pull/104122)\n- ref(dynamic-sampling): simplify bias combination logic by @shellmayr in [#104119](https://github.com/getsentry/sentry/pull/104119)\n- deps(js): Upgrade sentry js sdk deps to `10.27.0` by @AbhiPrasad in [#104110](https://github.com/getsentry/sentry/pull/104110)\n- fix(date-page-filter): Fallback to max pickable days when absolute ra… by @Zylphrex in [#104111](https://github.com/getsentry/sentry/pull/104111)\n- feat(cells) Add date_updated to organizationmapping v2 by @markstory in [#103915](https://github.com/getsentry/sentry/pull/103915)\n- Icon SlashForward Replacing Chevron in Breadcrumbs by @Jesse-Box in [#104120](https://github.com/getsentry/sentry/pull/104120)\n- typing(tests): Minor changes by @armenzg in [#104105](https://github.com/getsentry/sentry/pull/104105)\n- feat(explore-attr-breakdowns): Adding error and empty search state UI by @Abdkhan14 in [#104012](https://github.com/getsentry/sentry/pull/104012)\n-  feature(explore-attr-breakdowns): Removing yAxis heuristic from selection hint by @Abdkhan14 in [#104087](https://github.com/getsentry/sentry/pull/104087)\n- fix(uptime) Add a missing task import for uptime by @markstory in [#104104](https://github.com/getsentry/sentry/pull/104104)\n- chore(search-query-builder): Add metric for invalids and warnings by @Zylphrex in [#104076](https://github.com/getsentry/sentry/pull/104076)\n- chore(hybridcloud) Align keys used for organization snowflakeids by @markstory in [#104075](https://github.com/getsentry/sentry/pull/104075)\n- feat(cells) Add silo annotations to email, debug, and plugin views by @markstory in [#104034](https://github.com/getsentry/sentry/pull/104034)\n- ref(llm-detection): Send enhanced span data to support improved Seer analysis by @nora-shap in [#103871](https://github.com/getsentry/sentry/pull/103871)\n- chore(llm-detector): Add GenAI Consent Check  by @roggenkemper in [#104060](https://github.com/getsentry/sentry/pull/104060)\n- feat(cursor-agent): include email and key name by @jennmueng in [#103989](https://github.com/getsentry/sentry/pull/103989)\n- fix(cursor-agent): ui handling of when you have more than 1 integration by @jennmueng in [#104007](https://github.com/getsentry/sentry/pull/104007)\n\n_Plus 134 more_","publishedAt":"2025-12-01T18:13:17.000Z","fetchedAt":"2026-03-31T14:09:58.158Z","url":"https://github.com/getsentry/sentry/releases/tag/25.11.1","media":[],"coverageCount":0},{"id":"rel_c5yEmdPz9YvnIRxUIqO8b","version":"25.11.0","type":"feature","title":"25.11.0","summary":"### Various fixes & improvements\n\n- feat(explorer): custom copy and navigation for get_profile_flamegraph tool (#103314) by @roaga\n- feat(explorer): a...","titleGenerated":null,"titleShort":null,"content":"### Various fixes & improvements\n\n- feat(explorer): custom copy and navigation for get_profile_flamegraph tool (#103314) by @roaga\n- feat(explorer): add rpc for profile flamegraph tool (#103293) by @roaga\n- feat(explorer): support generic table and timeseries rpcs and migrate existing tools to them (#103413) by @aliu39\n- fix(aci): Make associate_new_group_with_detector more robust (#103418) by @kcons\n- feat(aci): redirect alerts nav to monitors (#103325) by @ameliahsu\n- fix(aci): Display correct resolution threshold (#103409) by @scttcper\n- Wire up frontend for new multiple architectures insight (#103415) by @rbro112\n- chore(performance): remove trace-view-load-more (#103011) by @cvxluo\n- fix(preprod): update dyld label (#103408) by @trevor-e\n- fix(ui2): dropdown button overlap (#103404) by @natemoo-re\n- fix(typing): add some types to tagstore (#103405) by @thetruecpaul\n- chore(events): Clean up preprocess option (3/3) (#103194) by @thetruecpaul\n- chore(aci): set DetectorGroup detector to null when it's deleted (#103348) by @cathteng\n- fix(replay): Add fallback ordering to replay index page (#103328) by @srest2021\n- feat(ai): Check gen-ai feature flag before org-level flags in Prevent AI (#103386) by @JoshFerge\n- fix(insights): Fix issues table link (#103401) by @scttcper\n- chore(preprod): Use nonblocked project_id tag for e2e metric (#103390) by @NicoHinderling\n- chore(tracemetrics): Remove unneeded trace metric from queries (#103391) by @Zylphrex\n- feat(performance): Updates Web Vitals issue detection to consolidate lcp, fcp, and ttfb into a single issue (#103272) by @edwardgou-sentry\n- fix(aci): Fix QuerySubscription deletion (#103398) by @kcons\n- feat(ACI): Send updated data to Seer on all snuba query changes (#103332) by @ceorourke\n- perf(dashboards): Fix slow re-render of ECharts objects (#103375) by @gggritso\n- fix(ui2): check `organization is not None` (#103372) by @natemoo-re\n- test(tracemetrics): Re-enable skipped trace metrics tests (#103396) by @Zylphrex\n\n_Plus 1563 more_","publishedAt":"2025-11-17T18:35:46.000Z","fetchedAt":"2026-03-31T14:09:58.158Z","url":"https://github.com/getsentry/sentry/releases/tag/25.11.0","media":[],"coverageCount":0},{"id":"rel_X-szj4cXyZZmQpMOMAoL6","version":"25.10.0","type":"feature","title":"25.10.0","summary":"### Various fixes & improvements\n\n- fix(sub v3): Rework usage and reserved columns (#101514) by @isabellaenriquez\n- feat(ai_grouping): Send token leng...","titleGenerated":null,"titleShort":null,"content":"### Various fixes & improvements\n\n- fix(sub v3): Rework usage and reserved columns (#101514) by @isabellaenriquez\n- feat(ai_grouping): Send token length metrics on stacktraces sent to Seer (#101477) by @yuvmen\n- fix(aci): conditionally show trigger logic type selector on automation edit (#100711) by @ameliahsu\n- feat(aci): Hide transactions dataset option (#101497) by @scttcper\n- perf(replays): Optimize memory usage and deserialization performance (#101195) by @cmanallen\n- fix(aci): Return empty list from open periods endpoint when detector has no linked group  (#101046) by @malwilley\n- fix(spans-migration): changed type and wording of dropped fields warnings (#101479) by @nikkikapadia\n- fix(tracemetrics): Switch experimental backend to kwarg rate (#101520) by @k-fish\n- fix(alert): Delete IncidentTrigger as child of AlertRuleTrigger (#101460) by @kcons\n- fix(replay) - fix use fetch parallel pages (#101462) by @jerryzhou196\n- feat(tracemetrics): Add extrapolation warning iff we scan partial data (#101517) by @narsaynorath\n- fix(inc-1453): Do not crash hard if end_timestamp violates the schema (#101512) by @untitaker\n- chore(timeseries): Mark `TimeSeries` meta property as optional (#101463) by @gggritso\n- fix(ai-insights): llm calls count (#101509) by @obostjancic\n- feat(tracemetrics): Update UX to separate query builder from charts (#101465) by @narsaynorath\n- fix(spans-migration): changed reason format (#101466) by @nikkikapadia\n- chore(sub v3): prep for EA (#101437) by @isabellaenriquez\n- fix(ui): Make build details more like release details (#101348) by @chromy\n- fix(sub v3): Misc feedback + bugs (#101474) by @isabellaenriquez\n- fix(sub v3): Make row clickability more obvious (#101467) by @isabellaenriquez\n- feat(agent-spans): Display used tools (#101506) by @ArthurKnaus\n- feat(sdk): Enable HTTP request source (#101502) by @alexander-alderman-webb\n- feat(auto_source): Use consistent stack trace granularity (#101432) by @armenzg\n- chore(search-bar): Default to contains for filtering strings (#101450) by @nsdeschenes\n\n_Plus 1679 more_","publishedAt":"2025-10-15T17:40:25.000Z","fetchedAt":"2026-03-31T14:09:58.158Z","url":"https://github.com/getsentry/sentry/releases/tag/25.10.0","media":[],"coverageCount":0},{"id":"rel_OltlGCLP0jf9QJjy_pH0D","version":"25.9.0","type":"feature","title":"25.9.0","summary":"### Various fixes & improvements\n\n- ref(feedback): simplify categories test coverage to be more efficient (#99451) by @aliu39\n- fix(checkout v3): Keep...","titleGenerated":null,"titleShort":null,"content":"### Various fixes & improvements\n\n- ref(feedback): simplify categories test coverage to be more efficient (#99451) by @aliu39\n- fix(checkout v3): Keep customers on current tiers (#99423) by @isabellaenriquez\n- fix(billing): Use ff for prevent notification (#99489) by @brendanhsentry\n- feat(aci): Allow specific detector types to be passed to fetching hooks (#99486) by @malwilley\n- perf(aci): Avoid unnecessary organization db load (#99487) by @kcons\n- chore(detectors): Reset noise config limit for query injection issues  (#99427) by @roggenkemper\n- feat(on-demand): Add feature flag check before cardinality check (#98726) by @narsaynorath\n- chore(issue-details): Add `num_exceptions` to issue details viewed analytics event (#99436) by @roggenkemper\n- perf(aci): Cache Group lookup for process_workflows/trigger_action (#99449) by @kcons\n- ref(search): Remove spaces from wildcard operators (#99399) by @nsdeschenes\n- feat: add explore equation to dashboards (#99404) by @shruthilayaj\n- ref(billing): remove cross-project selection upsells (#99444) by @cvxluo\n- feat(flamegraph): Cycle through flamegraph search results with enter (#99424) by @Zylphrex\n- ref: use pickle protocol 5 (#99119) by @asottile-sentry\n- ref: upgrade django-stubs and move cache hax to plugin (#99482) by @asottile-sentry\n- fix(js): Directly access process.env.NODE_ENV (#99481) by @evanpurkhiser\n- feat(tasks) Enable taskworkers by default in self-hosted (#99374) by @markstory\n- feat(analytics): log an error when an Event class was instantiated that lacks the eventclass decorator (#98922) by @constantinius\n- feat: Add taskbroker mode that doesn't start workers (#99474) by @markstory\n- ci(jest): regenerate jest-balance.json (#99453) by @getsentry-bot\n- feat(dashboards): Remove PlanFeature feature flag workaround (#99372) by @narsaynorath\n- feat(performance): Add beta badge to web vitals seer suggestions (#99476) by @edwardgou-sentry\n- chore(feedback) remove `Feedback` model (#99380) by @jerryzhou196\n- ref: upgrade pydantic (#99473) by @asottile-sentry\n\n_Plus 1112 more_","publishedAt":"2025-09-16T01:29:07.000Z","fetchedAt":"2026-03-31T14:09:58.155Z","url":"https://github.com/getsentry/sentry/releases/tag/25.9.0","media":[],"coverageCount":0},{"id":"rel_zL98v9OvwqFNkPkRs_5hA","version":"25.8.0","type":"feature","title":"25.8.0","summary":"### Various fixes & improvements\n\n- fix(ci): Push docker image on release branches (#97936) by @hubertdeng123\n- fix(explore): Insert group bys before ...","titleGenerated":null,"titleShort":null,"content":"### Various fixes & improvements\n\n- fix(ci): Push docker image on release branches (#97936) by @hubertdeng123\n- fix(explore): Insert group bys before visualizes if possible (#97923) by @Zylphrex\n- feat(logs): Support multiple visualizes and groupbys in logs (#97912) by @Zylphrex\n- ref(dashboards): make `WidgetCardChart` functional (#97885) by @lzhao-sentry\n- feat(summarization): Route s4s traffic to new pod (#97926) by @Mihir-Mavalankar\n- aci(feat): Use propagated timestamp to track triggering latency (#97612) by @kcons\n- feat(detectors): Update detection algorithm for MN+1 Experimental Detector (#97533) by @roggenkemper\n- fix(aci): Make rule/workflow redis buffer interactions non-transactional (#97917) by @kcons\n- ref: remove coreapi, use ParseError in sentry_app logic (#97913) by @JoshFerge\n- chore(cell-actions): use popper strategy fixed instead of portalling (#97593) by @lzhao-sentry\n- ref(replay): Refactor how we refresh bulk delete notifications (#97893) by @ryan953\n- feat(replay): Add a dropdown to make it easier to select replays inside stories (#97713) by @ryan953\n- feat(otlp): Collapse Trace Waterfall spans based on span name (#97706) by @gggritso\n- feat(otlp): Use `name` attribute in more spaces in the span waterfall (#97704) by @gggritso\n- ref: move codeowners endpoints into issues module (#97916) by @JoshFerge\n- ref(groupingInfo): Hide client fingerprint in Contributing Values view if it doesn't contribute (#97904) by @shayna-ch\n- ref(groupingInfo): add highlight to contributing values when All Values is set (#97812) by @shayna-ch\n- ref(issues): improve similar issues stacktrace diff (#97645) by @shayna-ch\n- chore: add good example of `SENTRY_DISALLOWED_IPS` (#97847) by @oioki\n- feat(trace-eap-waterfall): Exclude missing instrumentation nodes from FE traces (#97879) by @Abdkhan14\n- ref(cell-actions): better interactions for ID and clearer menu indication (#97888) by @lzhao-sentry\n- :running: perf(aci): measure trigger action execution time (#97918) by @iamrajjoshi\n- chore(autofix): add more copy button content (#97891) by @roaga\n- feat(autofix): Show error message when drafting PR (#97867) by @roaga\n\n_Plus 1946 more_","publishedAt":"2025-08-15T18:53:31.000Z","fetchedAt":"2026-03-31T14:09:58.155Z","url":"https://github.com/getsentry/sentry/releases/tag/25.8.0","media":[],"coverageCount":0},{"id":"rel_wrShcBV9Cn7MKvB5QnhWb","version":"25.7.0","type":"feature","title":"25.7.0","summary":"### Various fixes & improvements\n\n- ref(deletions): Remove unnecessary Seer calls in endpoint (#93541) by @armenzg\n- chore(detectors): Clean up detect...","titleGenerated":null,"titleShort":null,"content":"### Various fixes & improvements\n\n- ref(deletions): Remove unnecessary Seer calls in endpoint (#93541) by @armenzg\n- chore(detectors): Clean up detection settings  (#95561) by @roggenkemper\n- ref(stories): rename sections (to core + product) (#95562) by @natemoo-re\n- fix(Jira-Server): Adds halts, better exceptions for failed syncs (#95281) by @GabeVillalobos\n- fix(stories): adjust routing (#95442) by @natemoo-re\n- feat(taskworker): Zstd compress process profile task (#95545) by @enochtangg\n- chore(relay): update VALID_PLATFORMS from relay location comment (#95510) by @cvxluo\n- ref(ecosystem): refactor link_all_repos to bulk update repositories (#95494) by @cathteng\n- build: fix storybook types (#95556) by @JonasBa\n- feat(replay): Unify the tooltips into one for replay details os/browser (#95558) by @ryan953\n- feat(otlp): Parse JSON-looking attributes in span attributes panel (#95544) by @gggritso\n- chore(aci): setup single processing flag for issue alerts in workflow engine (#95178) by @cathteng\n- feat(otlp): Register flag for displaying span links in the trace view UI (#95549) by @gggritso\n- ref(ui): make \"md\" the new buttonBar gap default (#95551) by @TkDodo\n- feat: Add dashboard widget snapshot model (#95236) by @shruthilayaj\n- [ft] Add a enable PR review + test gen setting at an org level (#95456) by @rohitvinnakota-codecov\n- fix(explore): Only permit span.duration for eap count (#95480) by @Zylphrex\n- ref: replace space function with p.theme.space in core/button (#95414) by @TkDodo\n- chore(nextjs-insights): remove feature flag registration (#95543) by @shellmayr\n- fix(taskworker) Add a short backoff when fetching tasks (#95346) by @markstory\n- chore(ui): Increase contrast on issues chart (#95349) by @leeandher\n- feat(tours): re-implement tour with inverse theme (#95530) by @TkDodo\n- fix(explore): Prettify aggregation in saved queries (#95479) by @Zylphrex\n- :wrench: chore(aci): update `send_activity_notification` to not send notifications for metric alert resolutions (#95476) by @iamrajjoshi\n\n_Plus 670 more_","publishedAt":"2025-07-15T17:30:45.000Z","fetchedAt":"2026-03-31T14:09:58.155Z","url":"https://github.com/getsentry/sentry/releases/tag/25.7.0","media":[],"coverageCount":0}],"pagination":{"nextCursor":"2025-07-15T17:30:45.000Z|2026-03-31T14:09:58.155Z|rel_wrShcBV9Cn7MKvB5QnhWb","limit":20},"summaries":{"rolling":{"windowDays":90,"summary":"Sentry shipped steady progress on alert and workflow infrastructure, with the alerting system undergoing a significant migration from legacy rules to a new workflow-based model. The team prioritized backwards compatibility during this transition, making endpoints like ProjectRulesEndpoint and ProjectRuleDetailsEndpoint work with both old and new systems while simultaneously adding support for issue category filtering and deduplication in the new alerts UI. Autofix expanded to support user feedback loops and Slack integration for explorer workflows, while dashboards gained query validation and better pre-built widget handling.","releaseCount":5,"generatedAt":"2026-03-31T14:10:19.898Z"},"monthly":[{"year":2026,"month":2,"summary":"February focused on expanding AI-powered workflows and refining alert configuration. Autofix shipped explorer integration with Slack, enabling automated fixes directly in workflow contexts, while cmd K added DSN lookup across command palettes to speed issue navigation. Alert conditions grew to support issue category filtering, letting teams route problems with more granular control.","releaseCount":2,"generatedAt":"2026-03-31T14:10:21.652Z"}]}}