This release includes breaking changes for platform teams planning a safe upgrade.
Published 29d
Error & Performance Tracking
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
apm
crash-reporting
crash-reports
csp-report
devops
django
+8 more
error-logging
error-monitoring
fair-source
monitor
monitoring
python
sentry
tag-production
Summary
AI summaryThe provided data is a detailed changelog from a GitHub repository, specifically the Sentry project.
Full changelog
New Features ✨
Aci
- Add inline alert creation to monitor details page by @malwilley in #114395
- Hide team metric alerts triggered component in workflow engine UI by @ceorourke in #114504
Admin
- Add admin audit log tab to customer details view by @swartzrock in #113943
- Add legacy Seer migration action to customer admin by @swartzrock in #114126
Autofix
- Open autofix evidence in new tab by @Zylphrex in #114562
- Add re-run button to artifact cards by @Zylphrex in #114204
- Add evidence buttons for git_search tool by @Zylphrex in #113983
- Move evidence props resolver earlier by @Zylphrex in #113936
- Render tool calls as autofix evidence by @Zylphrex in #113832
- Conform to seer quotas for autofix by @Zylphrex in #113604
Billing
- Add product trial banners for trace metrics by @k-fish in #114078
- Add prev/next navigation to receipt details page by @swartzrock in #113688
Cmdk
- Improve search recall with people/team/project actions and keyword synonyms by @JonasBa in #114762
- Add bulk issue actions to command palette by @JonasBa in #114278
- Add settings field search to command palette on settings pages by @JonasBa in #114274
- Add copy stack trace action to issue details by @JonasBa in #114275
- Surface current project Client Keys (DSN) in Project Settings by @JonasBa in #114196
- Improve no-result query recall by @JonasBa in #114236
- Add Tab shortcut to open Seer Explorer from command palette by @JonasBa in #114119
- Treat Escape as back button by @JonasBa in #114118
- Add assigned-to-me alias to issue filter actions by @JonasBa in #114088
- Add Switch Organization action to command palette by @JonasBa in #114084
- Add keyboard shortcut hints footer to command palette by @JonasBa in #114055
- Add filter-by and sort actions to issues feed command palette by @JonasBa in #113981
- Add usage & billing settings actions to command palette by @JonasBa in #113964
- Add sort and save-view actions to Issues Feed command palette by @JonasBa in #113938
- Add docs/documentation keywords to Help > Open Documentation action by @JonasBa in #113935
- Add agent skill for implementing command palette actions by @JonasBa in #113874
- Add icons to project and org settings actions by @JonasBa in #113867
- Reset palette state on route change by @JonasBa in #113862
- Add project settings actions by @JonasBa in #113828
- Always render help search last; fix empty state during fetch by @JonasBa in #113771
Dashboards
- Add Node.js runtime metrics prebuilt dashboard UI by @chargome in #113517
- Backfill deprecated widget display types to area by @DominikB2014 in #114560
- Add Copy Widget URL icon to the widget card header by @DominikB2014 in #114594
- Default to table view on dashboards landing page by @gggritso in #114182
- Display avatarUrl in revision list item by @skaasten in #114199
- Return avatarUrl in dashboard revision createdBy response by @skaasten in #114186
- UI to preview a revision before restoring it by @skaasten in #113566
- Pass revision source for AI-assisted saves by @skaasten in #113671
- Register Node.js runtime metrics prebuilt dashboard by @chargome in #113516
Discover
- Move build query button to filters row by @priscilawebdev in #113776
- Move primary actions to filter bar in page-frame mode by @JonasBa in #113634
Dynamic Sampling
- Add per-org configuration by @shellmayr in #114837
- Add per-org activity check by @shellmayr in #114285
- Add org fan-out using buckets in redis & improve instrumentation by @shellmayr in #114042
- Add per-org scheduler telemetry gates by @shellmayr in #114031
- Add inert per-org scheduler cron by @shellmayr in #114030
Eslint
- Enable @typescript-eslint/no-unnecessary-boolean-literal-compare by @JoshuaKGoldberg in #113681
- Enable unicorn/no-useless-undefined by @JoshuaKGoldberg in #113667
- Enable @typescript-eslint/non-nullable-type-assertion-style by @JoshuaKGoldberg in #113676
- Enable @typescript-eslint/no-useless-default-assignment by @JoshuaKGoldberg in #113678
- Enable unicorn/escape-case by @JoshuaKGoldberg in #113677
- Enable unicorn/no-typeof-undefined by @JoshuaKGoldberg in #113682
- Rule that disallows explicit type parameters on getQueryData and setQueryData by @TkDodo in #113917
- Enable unicorn/no-useless-collection-argument by @JoshuaKGoldberg in #113683
- Enable @typescript-eslint/prefer-return-this-type by @JoshuaKGoldberg in #113684
- No-calling-components-as-functions by @TkDodo in #113673
Explore
- Enable column editor drop downs to search the API by @nsdeschenes in #114061
- Short circuit attribute value requests by @nsdeschenes in #114338
- Add data-browsing-heat-map-widget feature flag by @gggritso in #114717
- Save cross-event spans queries by @nsdeschenes in #113417
- Add a prebuilt-query for AI Spans by @constantinius in #111883
- Short-circuit attribute fetches when a shorter prefix returned empty by @nsdeschenes in #113295
- Add support for arrays in Occurrences dataset by @manessaraj in #113567
- Move to a sticky header layout by @nsdeschenes in #113780
- Accept metrics as a cross-event type on saved queries by @nsdeschenes in #113788
Explorer
- Stop polling on api error and show status code in empty state by @aliu39 in #114273
- Implement chat links for drawer by @aliu39 in #113849
Integrations
- Add
enabledfield to missing-members endpoint response by @evanpurkhiser in #114462 - Drop SCM toggle fields from the organization details endpoint by @evanpurkhiser in #113925
- Expose SCM toggles in integration config UI by @evanpurkhiser in #113923
- Add SCM_INTEGRATION_CONFIG_BACKFILL outbox category by @evanpurkhiser in #114160
- Read SCM toggles from OrganizationIntegration config behind feature flag by @evanpurkhiser in #113864
- Add migration to backfill SCM toggles onto OrganizationIntegration config by @evanpurkhiser in #113841
- Dual-write SCM org-option toggles onto OrganizationIntegration config by @evanpurkhiser in #113842
Issues
- Pass active thread id to raw apple crash report by @scttcper in #114258
- Allow prioritizing a thread in the Apple crash report by @scttcper in #114231
- Render referenced-in-commit activity by @JoshFerge in #114299
- Record per-branch timings for issue feed EAP double-read by @shashjar in #113876
- Wire EAP double-read into issue feed search by @shashjar in #112996
- Implement EAP group search for issue feed queries by @shashjar in #112985
- Apply issue search conditions to prev/next event navigation by default by @shashjar in #114063
- New stack trace on shared issues by @scttcper in #111686
Minidump
- Add feature for uploading minidumps to object store by @tobias-wilfert in #114851
- Add feature and option for uploading attachments to objectstore by @tobias-wilfert in #113679
Night Shift
- Hand triage findings to autofix as user_context by @trevor-e in #114276
- Add custom issue-details tool for agentic triage by @trevor-e in #113982
- Add custom event-details tool for agentic triage by @trevor-e in #113870
Nightshift
- Reorganize settings by @chromy in #114171
- Stay on page when opening explorer by @chromy in #113895
- Make table responsive by @chromy in #113896
- Hook up button to manually trigger night-shift by @chromy in #113804
- Add endpoint to manually trigger nightshift by @chromy in #113803
Notifications
- Instrument killswitch mechanism for notifications by @hobzcalvin in #114505
- Add sentry-app-webhook-disabled notification template by @Christinarlong in #114114
Onboarding
- Refine SCM connect copy and visuals for legal review by @itsdangold in #114655
- Add platform kind for SCM card display labels by @jaydgoss in #114596
- Enforce display order for SCM feature cards by @jaydgoss in #114481
- Force session replay for SCM onboarding flow by @jaydgoss in #114329
- Add SCM-specific analytics variants to SetupDocs and back actions by @jaydgoss in #113880
Ourlogs
- Switch table expando to visualizations, with collapsed chart previews by @JoshuaKGoldberg in #114433
- Add trackAnalytics calls for new export modal by @JoshuaKGoldberg in #113611
- Add export modal with row limit by @JoshuaKGoldberg in #112674
- Add trackAnalytics for logs.explorer.continue_searching_clicked by @JoshuaKGoldberg in #113668
Preprod
- Add per-category controls for snapshot PR comments (EME-1046) by @runningcode in #114302
- Add Amplitude analytics to snapshot detail page by @mtopo27 in #114767
- Add scroll wheel navigation in single snapshot view by @NicoHinderling in #114565
- Add size status check rules API by @cameroncooke in #114414
- Configure higher rate limits for image endpoint by @NicoHinderling in #114559
- Add settings link to snapshot status checks by @NicoHinderling in #114449
- Pare down snapshot search bar filters (EME-1071) by @runningcode in #114316
- Update snapshot header with approval actions by @NicoHinderling in #113959
- Complete the new snapshot viewer toolbar and controls by @NicoHinderling in #113994
- Add view mode toggle between single and list views by @NicoHinderling in #113993
- Add SnapshotListView virtualized list component by @NicoHinderling in #113992
- Surface snapshot status check toggles in project settings by @mtopo27 in #114220
- Surface install URL expiration via installInfo by @mtopo27 in #114072
- Add fail_on_changed and fail_on_renamed snapshot status check options by @mtopo27 in #114214
- Register git_* attributes in EAP attribute registry (EME-1047) by @runningcode in #114153
- Track snapshots tab and row clicks by @mtopo27 in #114067
- Add only-if-diff toggle for snapshot PR comments (EME-1046) by @runningcode in #114035
- Add snapshot types and path helper by @NicoHinderling in #113955
- Add app_info to snapshot response with prefetch by @NicoHinderling in #113960
- Add granular installable app error codes (EME-883) by @runningcode in #113440
Projects
- Remove Project Details removal banners by @gggritso in #114600
- Add create_project_key, delete_project_key, delete_project RPCs by @BYK in #113596
Releases
- Add activities for auto release resolutions by @JoshFerge in #114443
- Add referenced-in-commit activity by @JoshFerge in #114298
Replays
- Add bulk mark-as-viewed button by @JoshuaKGoldberg in #113805
- Track event and video event counts on replay load by @gggritso in #114001
- Accept events and transactions data_source on replay count by @mjq in #113557
- Add replays as an events dataset by @wmak in #113723
Repos
- Always show uninstall button, disabled without access in repos v2 by @evanpurkhiser in #114751
- Add SCM repositories v2 page behind feature flag by @evanpurkhiser in #114591
- Register scm-repositories-v2 feature flag by @evanpurkhiser in #114558
- Add ScmRepositoryTable component and useRepoSearch hook by @evanpurkhiser in #113570
- Add ConnectProviderDropdown component by @evanpurkhiser in #113568
- Add NoIntegrationsEmptyState component by @evanpurkhiser in #113569
- Track last_sync on OrganizationIntegration config by @evanpurkhiser in #113686
Search
- Add userCount filter for issue search by @isaacwang-sentry in #114814
- Add recommended sort to SortOptions enum by @mrduncan in #113740
Seer
- Add ui_tools pass-through for client-side tool definitions by @JonasBa in #114778
- Add seer-explorer-ui-tools feature flag by @JonasBa in #114779
- Hide unconfigured Autofix projects by @ryan953 in #114455
- Add structured LLM context for issue detail page by @Mihir-Mavalankar in #114743
- Add projectSlug to the response of /autofix/automation-settings/ by @ryan953 in #114457
- Add structured LLM context for issue list page by @Mihir-Mavalankar in #114493
- Expose DSN lookup through public RPC by @JoshFerge in #114514
- Allow admin night shift trigger to fan out to all orgs by @trevor-e in #114496
- When repo is disabled, keep the Seer preference but filter it out in all read spots by @srest2021 in #114326
- Open repo details in a GlobalDrawer by @ryan953 in #113878
- Add project modal for Autofix by @ryan953 in #113751
- Tag night_shift.triage_action with fixability threshold by @trevor-e in #114404
- Show more workflow detail and add Autofix shortcut by @chromy in #114340
- Default Night Shift to enabled by @chromy in #114341
- Update Night Shift "default" label to on-by-default by @chromy in #114342
- Plumb reasoning_effort through trigger_autofix_explorer by @trevor-e in #114357
- Add structured LLM context for traces explorer page by @Mihir-Mavalankar in #114347
- Log successful Slack agent triggers with referrer by @alexsohn1126 in #114264
- Trigger explorer index if missing by @shruthilayaj in #114219
- Code mode slash commands (off/on/only) by @azulus in #114074
- Accept tri-state code mode (off/on/only) in explorer chat by @azulus in #114259
- Add structured LLM context for trace details page by @Mihir-Mavalankar in #114093
- Replay deferred Slack @-mentions after identity link by @alexsohn1126 in #113940
- Allow manual night shift runs to be dry runs by @chromy in #114036
- Add experiment tweaks to NightShiftTweaks model by @chromy in #114034
- Apply night shift tweaks to org and project runs by @chromy in #113905
- Add thinking blocks toggle to explorer chat by @chromy in #113182
- Add seer-night-shift-settings feature flag by @chromy in #113909
- Add get_dsn RPC method for Seer explorer agent by @JoshFerge in #113881
- Parse night shift tweaks with a pydantic model by @chromy in #113898
- Add SeerRun and SeerAgentRun mirror tables by @trevor-e in #113483
- Add Alpha badge to Night Shift settings by @chromy in #113787
- Add organization_id to Slack Seer agent analytics by @alexsohn1126 in #113708
- Scaffold Night Shift settings section by @chromy in #113697
- Add hotkey to global Ask Seer button by @natemoo-re in #113759
- Add global
AskSeerButtoncomponent by @natemoo-re in #113727
Seer Explorer
- Add size="md" prop to TextArea components in inputSection by @aliu39 in #113873
- Disable 'New chat' button when in empty state by @aliu39 in #113840
Seer Slack
- Parse legacy attachments by @alexsohn1126 in #114212
- Add hand-off button to slack autofix triggers by @leeandher in #114089
Sentry Apps
- Enforce is_disabled at the endpoint layer by @Christinarlong in #114469
- Add is_disabled field to SentryApp model by @Christinarlong in #114263
- Expose creator_label on RpcSentryApp by @Christinarlong in #114113
Slack
- Apply dashboard global filters when unfurling widgets by @DominikB2014 in #114435
- Request extended OAuth scopes on production install by @alexsohn1126 in #114091
- Unfurl issue dashboard widgets by @DominikB2014 in #113941
- Unfurl mobile-build dashboard widgets by @DominikB2014 in #113939
- Unfurl error-events dashboard widgets by @DominikB2014 in #113937
- Add preferred organization stage for resolution by @leeandher in #113854
- Add link parsing org esolution for multi-org seer events by @leeandher in #113846
Snapshots
- Add scroll progress indicator to snapshot list toolbar by @NicoHinderling in #114484
- Add Cmd/Ctrl+Arrow shortcuts to jump to first/last image by @NicoHinderling in #114475
- Add Build Metadata modal to snapshot actions menu by @NicoHinderling in #114470
- Show tooltip on truncated sidebar item names by @NicoHinderling in #114460
Source Map Config Issues
- Switching to sentry metrics to measure cross-project impact by @Abdkhan14 in #114461
- Filtering processing errors by source… by @Abdkhan14 in #113809
Spans
- Detach subsegment when parent set is being flushed by @lvthanh03 in #114580
- Add redis lock at flush time to not produce duplicate spans by @lvthanh03 in #113850
Supergroups
- Track total supergroups viewed by @cvxluo in #114606
- Sync drawer state to a query param by @scttcper in #114116
- Add assignee summary to supergroups endpoint by @cvxluo in #113856
- Add issues-with-supergroups endpoint by @cvxluo in #113563
Tracemetrics
- Add feature flag for equations in dashboards by @narsaynorath in #114720
- Change beta flags to new flags by @narsaynorath in #114157
- Link Explore to Alerts/Detectors by @narsaynorath in #113738
- Strip equation prefix from occurrence title by @narsaynorath in #114038
- Hide special metrics keys in scrubbing dropdown by @narsaynorath in #113807
Users
- Add suspension UI to gsAdmin user details by @dashed in #114354
- Enforce account suspension across all auth paths by @dashed in #114349
- Add is_suspended field to User model by @dashed in #114328
Other
- (ai) Add output messages field renderer by @obostjancic in #114412
- (ai-agents) Show estimated cost on AI agents overview by @obostjancic in #114702
- (alerts) Add integration footer to alert action dropdown by @souredoutlook in #113944
- (analytics) Track metrics widgets on dashboards for engagement by @bcoe in #114195
- (api-docs) Document collapse query param on issue detail and short ID endpoints by @MathurAditya724 in #114279
- (broadcasts) Add sync_locked to protect admin edits from changelog sync by @rahulchhabria in #113633
- (chunk-upload) Add zstd compression support for sourcemap uploads by @BYK in #113760
- (ci) Report backend test failures cleans up stale comments by @joshuarli in #113963
- (code-review) Forward repo deletion to seer by @suejungshin in #114117
- (conversations) Show tool input params in chat tool call lines by @matejminar in #113888
- (cross-events) Support metric cross event querying by @nsdeschenes in #113703
- (data-export) Render export_format extension in button text by @JoshuaKGoldberg in #113591
- (detectors) Cache disabled Detectors in the source-based Detector cache by @kcons in #114193
- (devserver) Auto-detect free port for dev-ui by @JonasBa in #113961
- (errors) Add chart content and export/settings buttons by @nikkikapadia in #113693
- (export) Support arrays in TraceItemDetailsEndpoint by @manessaraj in #114353
- (github-enterprise) Support GitHub Enterprise Cloud (GHE.com) webhooks and API by @tnt-sentry in #113966
- (hotkey) Add
modas alternative tocmd-on-mac, elsectrlby @natemoo-re in #114198 - (issue-details) Show detector settings link for AI-detected issues by @roggenkemper in #114062
- (issue-detection) Filter projects to those with transaction data by @roggenkemper in #114716
- (llm-issue-detection) Forward plan_tier to seer budget check by @roggenkemper in #114314
- (np) Warn, don't fail on missing test email configuration by @hobzcalvin in #114506
- (oauth) Add age column to application settings by @dcramer in #114736
- (organizations) Add find_organization_id_by_option_value RPC by @dashed in #114203
- (profiling) Support span streaming on continuous profile page by @mjq in #114184
- (repositories) Add api to expose auto sync for repositories by @wedamija in #114396
- (scm) Get permissions from the GitHub App installation by @jacquev6 in #114163
- (search-query-build) Force cmd + del to reset query builder by @nsdeschenes in #114305
- (search-query-builder) Add highlighted text by @nsdeschenes in #114472
- (seer agent) Add esc as a way to stop thinking by @sehr-m in #113734
- (sentry apps) Send email when circuit breaker flips for webhook disabling by @Christinarlong in #114115
- (skills) Add django-models agent skill by @trevor-e in #113837
- (snuba) Add sample rate option for span with errors tracking by @constantinius in #113785
- (taskworker) Accept Pod Name Argument for Push Taskworker by @george-sentry in #114358
- (tokens) Make org:ci a first-class token scope by @dcramer in #113394
- (trace-waterfall) Update empty state copy by @nsdeschenes in #113815
- (uptime) Use get_detectors_by_data_source for cache by @kcons in #114216
Bug Fixes 🐛
Aci
- Change the issue stream query filter from detector to monitor by @saponifi3d in #114796
- Re-land GitHub ticket action validation (#114095) with schema and selective test fix by @joshuarli in #114500
- Surface API error detail in edit form save toast by @malwilley in #114444
- Make ACTION_TARGET_TYPE_TO_STRING complete by @kcons in #114482
- Don't show deactivated user id for detector created by by @ceorourke in #114361
- Add an extra guard to legacy alert matching when executing an action by @malwilley in #113990
- Preserve additional_data keys when serializing ticket actions by @malwilley in #113770
- Rename automation to alert by @ceorourke in #113865
- Fix bug in detector query filter when using workflow_ids by @saponifi3d in #113768
Ai Conversations
- Extract gen_ai.output.messages when value is a string by @obostjancic in #114151
- Ignore page filters on conversation detail by @obostjancic in #114148
- Order conversation messages by span start/end by @obostjancic in #114129
Alerts
- Stop writing rule environment into the metric alert URL by @malwilley in #114206
- Skip orphaned triggers during detector serialization by @kcons in #113772
Api
- Sync email_unique when primary email changes by @michelletran-sentry in #114085
- Tighten project scoping on release-thresholds index by @michelletran-sentry in #114049
- Add ViewerContextAuthentication to DRF default auth classes by @azulus in #113985
- Catch OverflowError for out-of-range timestamp params by @mrduncan in #113920
Autofix
- Handle errors in code generation better by @Zylphrex in #114423
- Fix navigating to stale location in onClose by @aliu39 in #113877
- Poll autofix state slower by @Zylphrex in #114218
- Close drawer when navigating outside of current issue by @natemoo-re in #113814
Ci
- Use current base commit to calculate type coverage by @natemoo-re in #114739
- Fix snapshots to force usage of merge-base by @rbro112 in #114519
Cmdk
- Restore Zendesk index to help search by @JonasBa in #114368
- Remove extra virtualizer padding from command palette by @JonasBa in #114257
- Preserve mouse-leave selection state by @JonasBa in #114254
- Keep virtualized keyboard focus stable by @JonasBa in #114202
- Prevent leading icon flash when clearing the input by @JonasBa in #113975
- Show flat project settings list in browse mode by @JonasBa in #113872
- Defer state reset until close animation completes by @JonasBa in #113833
Conversations
- Keep detail panels independently scrollable by @obostjancic in #114306
- Only show preview tooltips on overflow by @obostjancic in #114294
- Collapse long traces list into '+N more' dropdown by @obostjancic in #114041
- Improve trace view conversation panel UX by @obostjancic in #113661
Dashboards
- Dashboard card preview misalignment by @nikkikapadia in #114628
- Show last editor instead of creator on current version by @skaasten in #114471
- Detect text widget content changes in revision diff by @skaasten in #114479
- Use avatarType from API to render correct avatar in revision list by @skaasten in #114336
- Remove checks needed for old pre-built dashboard handling by @gggritso in #114249
- Return avatarType and correct avatarUrl in revision createdBy by @skaasten in #114221
- Filter prebuilt dashboards server-side in add to dashboard modal by @DominikB2014 in #114210
- Remove dashboard redirects to old pre-built dashboard by @gggritso in #113758
- Allow wheel widgets to save with null limit by @DominikB2014 in #114094
- Adds stacked_area to display type blocklist for generated dashboards by @edwardgou-sentry in #113934
- Add validator in dashboard generation to enforce multiqueries having the same aggregates, columns, fields, and orderby by @edwardgou-sentry in #113922
Detectors
- Clear out owners fields when transfering Detectors to a new org by @kcons in #114333
- Propagate environment to metric issue occurrences by @malwilley in #114201
- Clarify Detector status vs enabled; update code accordingly by @kcons in #113761
Discover
- Remove my /result page redirect hacks by @nikkikapadia in #113921
- Skip homepage query when discover-query is disabled by @evanpurkhiser in #113911
- Add in redirect for discover-basic homepage by @nikkikapadia in #113904
- Nav item has no redirect for discover basic users by @nikkikapadia in #113847
- Render query name inside breadcrumb by @priscilawebdev in #113656
Drawer
- Extend panel background past right edge by @evanpurkhiser in #113919
- Tighten Seer Explorer header spacing by @JonasBa in #113729
Experiments
- Skip exposure for non-experiment features by @jaydgoss in #113698
- Close Amplitude race on experiment exposure by @jaydgoss in #113635
Explore
- Avoid rendering empty Layout.Header on traces page by @nsdeschenes in #113952
- Reduce repeated trace metric requests by @nsdeschenes in #113660
Explorer
- Ensure discover errors tool link has fields by @Zylphrex in #114573
- Conversation_url should always redirect to organizationSlug subdomain by @aliu39 in #114344
- Fix slide in animation by @aliu39 in #114250
- Move tool call status to text tooltip, differentiate failed vs empty by @aliu39 in #113965
- Fix broken runId state by @aliu39 in #113748
Hotkey
- Guard against undefined event.key and skip IME composition events by @sentry in #114371
- Migrate
useHotkeystoevent.key|codeby @natemoo-re in #114192
Integrations
- Register missing GitHub project management feature flag by @kcons in #114789
- Match SCM repos by externalId by @jaydgoss in #113949
- Support multiple provider values in organization-integrations endpoint by @Christinarlong in #114393
- URL-safe quote project_id by @cmanallen in #114418
- Route Perforce install through API pipeline modal by @mujacica in #114312
- Switch SCM backfill migration to emit cell outboxes by @evanpurkhiser in #114167
- Scope serialize_repository RPC by organization_id by @michelletran-sentry in #114179
- Retry SCM backfill as a region-silo true-only scan by @evanpurkhiser in #114046
- Use cell RPC for SCM backfill option reads by @evanpurkhiser in #113908
- Return existing repo on concurrent create race by @jaydgoss in #113813
- Match installed repos by external_id by @evanpurkhiser in #113593
Issues
- When navigating issue groups, reset stack trace by @scttcper in #114801
- Use tag-aware condition resolver for seen stats badge & sparkline by @shashjar in #114245
- Use Heading in sentry app external issue modal title by @evanpurkhiser in #114748
- Load member store on issue details page by @scttcper in #114508
- Preserve clipped box reveal state by @scttcper in #114489
- Route adjacent-event lookups to Events dataset by @yuvmen in #114474
- Improve issue view title generation prompt by @scttcper in #114391
- Persist stack trace display options by @scttcper in #114256
- Thread selector dropdown order on event navigation by @scttcper in #113946
Metrics
- Stabilize metric selector hover panel by @nsdeschenes in #114162
- Use default value instead of hack by @wmak in #113731
Notifications
- Filter organization-integrations to only allowed providers by @Christinarlong in #114394
- Don't assume context.replay is not None by @kcons in #114370
- Don't use None when a dict is expected by @kcons in #114247
- Recursively serialize datetime in task arguments by @untitaker in #114048
Onboarding
- Swap to variant prop on btn by @nsdeschenes in #114842
- Add upgrade suffix to SCM metrics tooltip by @jaydgoss in #114518
- Sync SCM context with product toggles on setup-docs by @jaydgoss in #113763
Options
- Limit option logging by @klochek in #114187
- Fix system options allowlist checks by @klochek in #114181
Ourlogs
- Use default yAxisSplitNumber behavior for TimeSeriesWidgetVisualization by @JoshuaKGoldberg in #113741
- Handle collapsing row heights in infinite table measurements by @JoshuaKGoldberg in #113602
Preprod
- Derive sidebar highlight from selection state in list view by @NicoHinderling in #114744
- Stabilize scroll position in Split mode snapshot list by @NicoHinderling in #114589
- Keep snapshot group headers visible by @mtopo27 in #114468
- Show total image count in snapshot status pills by @NicoHinderling in #114561
- Detect renames when multiple files share the same content hash by @NicoHinderling in #114497
- Stabilize snapshot toolbar controls by @runningcode in #114409
- Keep snapshot diff toggle visible by @runningcode in #114415
- Enforce has_project_access on snapshot detail GET and DELETE by @michelletran-sentry in #114169
- Handle 404 gracefully in install details (EME-883) by @runningcode in #113149
Replays
- Ignore issue stream sort on issue replays by @scttcper in #114654
- Require project:write or project:admin to delete a replay by @michelletran-sentry in #114159
- Constrain logs layout with ViewportConstrainedPage by @JoshuaKGoldberg in #113899
- Disable the dataset by @wmak in #113824
Repositories
- Silence github errors when performing auto-sync by @wedamija in #114650
- Silence bitbucket errors when performing auto-sync by @wedamija in #114651
- Fix some more VSTS repository errors by @wedamija in #114643
- Silence gitlab errors when performing auto-sync by @wedamija in #114647
- Don't raise errors for broken scms in repo sync task by @wedamija in #113769
- Make sure that the repo-sync only disables tasks that haven't had any related activity for 30 days by @wedamija in #114005
- Fix repo syncing to skip deletions if we hit the pagination limit when fetching repositories by @wedamija in #113978
- Make sure we write
external_idduring auto source code mapping by @wedamija in #113695
Search
- Don't assume non-empty projects in get_teams_for_users by @kcons in #114517
- Map bare
durationtotransaction.durationin search parser by @BYK in #114473
Search Query Builder
- Cmd del not clearing free text by @nsdeschenes in #114577
- Fix semver issues and enable limiting keys to single selects by @nsdeschenes in #114290
Seer
- Honor project stopping point preference in night shift runs by @trevor-e in #114735
- Route seat-based-seer-enabled check per-org in night shift cron by @trevor-e in #114590
- Tidy up the workflows table by @trevor-e in #114545
- Persist night shift agent_run_id as soon as the run starts by @trevor-e in #114544
- Pre-filter night-shift schedule by SeerProjectRepository by @trevor-e in #114451
- Branch trigger_handoff on autofix-on-explorer flag by @leeandher in #114360
- Open metrics links with encoded query state by @isaacwang-sentry in #114237
- Responsive drawer handling by @natemoo-re in #114325
- Hardcode alt layouts for seer hotkey by @natemoo-re in #114238
- Propagate viewer_context on explorer run polling by @trevor-e in #114281
- Hide hotkey on mobile by @natemoo-re in #114176
- Clear Seer automation handoff preference atomically by @srest2021 in #114073
- Cap profile execution tree depth to prevent Pydantic recursion errors by @Mihir-Mavalankar in #114070
- Respect context engine toggle for screenshot selection by @Mihir-Mavalankar in #114008
- Normalize bulk-selection alert styles for Autofix and Code Review by @ryan953 in #113868
- Always use default variant by @natemoo-re in #113800
- Center loading and toolcall states by @natemoo-re in #113767
- Don't allow images in markdown by @chromy in #113726
- Introduce synced useSeerExplorerRunId hook by @natemoo-re in #113757
- Use animated icon for busy state by @natemoo-re in #113746
- Fix textarea autosize and scrollbar bugs by @JonasBa in #113745
- Inline explorer input action buttons by @JonasBa in #113735
- Wrap user messages by @JonasBa in #113725
Seer Agent
- Remove restart icon by @sehr-m in #113733
- Tool call changes, icon changes, messages max width by @sehr-m in #113732
Settings
- Consistently use row layout by @TkDodo in #114150
- Preserve custom integration breadcrumb title by @priscilawebdev in #114127
- Breadcrumb duplication on sentry app pages by @priscilawebdev in #113891
Slack
- Drop stale aggregateSort in explore unfurl when field is unknown by @DominikB2014 in #114334
- Prompt unlinked users to link identity for dashboards URLs by @DominikB2014 in #113590
- Prefer aggregateField over visualize in explore unfurl by @DominikB2014 in #114188
- Default dashboard unfurl to My Projects, not All Projects by @DominikB2014 in #114164
Snuba
- Migration to remove QuerySubscription.time_window column by @kcons in #114403
- Propagate referrer through trace sub-queries by @roggenkemper in #114332
Tests
- Deflake registerForm tests by @ryan953 in #114632
- Deflake projectQuickLinks tests by @ryan953 in #114631
- Deflake stackTrace tooltip URL test by @ryan953 in #114624
- Deflake customerDetails disabled permission test by @ryan953 in #114640
- Deflake react-native metrics onboarding test by @ryan953 in #114627
- Deflake timeSince tooltip timezone test by @ryan953 in #114621
- Deflake versionHoverCard render test by @ryan953 in #114623
- Fix flaky cart preview test by @dashed in #114387
Trace
- Add referrer to the trace view by @wmak in #114346
- Fix span bars rendering too far to the right when scrollbar is visible by @nsdeschenes in #113166
Tracemetrics
- Remove sorting styles from embedded table by @nsdeschenes in #114588
- Update delete metric tooltip message by @narsaynorath in #114168
- Drop 'equation|' prefix in alerts/monitors UI by @narsaynorath in #113979
- Remove optional platform check for metrics sidebar by @k-fish in #114057
- Remove filter cell actions from aggregates by @k-fish in #113973
- Cap metric queries in alerts to same as explore by @narsaynorath in #113914
- Update equation filter for chart footer total count by @narsaynorath in #113906
- Aggregates table tweaks by @nsdeschenes in #113651
Traces
- Allow the chart to shrink by @nsdeschenes in #114556
- Correct 429 and 500 help text for load failures by @JoshuaKGoldberg in #114043
Typing
- Guard None options in ReconnectingMemcache by @JoshFerge in #113928
- Narrow organization_id in from_auth by @JoshFerge in #113927
Ui
- Disable links in project selector avatars by @scttcper in #114775
- Use variant by @natemoo-re in #114602
- Render passive drawer behind tooltips and modals by @natemoo-re in #114488
- Snap-close stuck tooltips when transitioning through overlays by @obostjancic in #114032
Uptime
- Add missing audit log data by @klochek in #113794
- Add audit log when we disable broken uptime detectors by @klochek in #113722
Other
- (agents) Allow token counts to wrap when space is constrained by @ArthurKnaus in #114024
- (ai-trace) Minimize system prompts in trace input by @obostjancic in #114701
- (alerts-migration) Make sure script processes generic metrics migrated alerts by @nikkikapadia in #114612
- (api-docs) Widen dataset enum on /events/ to include discover, errors, transactions by @MathurAditya724 in #114787
- (array-attributes) Expose flag via API by @nsdeschenes in #114700
- (attachments) Delete based on date_expires in cleanup job by @matt-codecov in #111955
- (auth) Cleanly handle malformed token IDs in ApiTokenDetailsEndpoint by @kcons in #114386
- (automations) Hide value input for is set/not set match types by @malwilley in #114452
- (breadcrumbs) Align severity level label with title by @cvxluo in #114745
- (cache) Swap self-hosted to ReconnectingMemcache and ban PyMemcacheCache by @gricha in #113871
- (chartcuterie) Render all timeseries when widget has multiple aggregates by @DominikB2014 in #114436
- (charts) Guard echarts.getInstanceByDom against detached DOM nodes by @JoshuaKGoldberg in #114608
- (checkout) Remove TopBar.Slot usage from CheckoutSuccess by @JonasBa in #113754
- (cmd-k) Limit dsn lookup requests to member projects by @klochek in #114174
- (codeBlock) Contain codeblock tabs row on narrow viewports by @jaydgoss in #113455
- (CODEOWNERS) Transfer source_code_management to coding-workflows by @kcons in #114255
- (cross-events) Change metrics to application metrics by @nsdeschenes in #113969
- (csp) Allow browser.sentry-cdn.com in connect-src by @ryan953 in #114617
- (detection) Reduce trace selection batch size from 50 to 5 by @roggenkemper in #114372
- (digests) Retry deliver_digest on lock conflict by @kcons in #114383
- (eap) Preserve metadata for convention replacements by @buenaflor in #114039
- (forms) Reserve space for auto-save indicator to prevent layout shift by @TkDodo in #114292
- (grouping) Prevent DiagnosticComposeException from determining issue title by @romtsn in #114154
- (hooks) Convert Hook component to FC to prevent child remounting by @TkDodo in #114289
- (hotkeys) Prevent event.code fallback from matching wrong keys on non-QWERTY layouts by @TkDodo in #114714
- (hybridcloud) Improve invite RPC performance with caching and reduced retries by @sentry in #113503
- (intercom) Move back to user ID by @sentaur-athena in #114209
- (iswf) Fixes issue with old Sentry App rules failing to serialize when alert schema is removed by @GabeVillalobos in #113829
- (java) Remap exceptions without a module by @romtsn in #113691
- (jest) Update eventDisplay test for TanStack Query timing by @sentry in #114734
- (jest-test) Make useReplayData incremental test deterministic with fake timers by @sentry in #114733
- (legal) Prevent stored XSS via javascript: URLs in policy revision flow by @swartzrock in #114283
- (member merge) Don't perform merge if the verification token is out of date by @klochek in #114311
- (metric-alerts) Add app installations to alert serializer by @klochek in #114429
- (native) Prioritize rendered crash report thread by @scttcper in #114618
- (notification-actions) Better access control for org-wide actions by @malwilley in #113718
- (organizations) Scope delete_organization_member by organization id by @michelletran-sentry in #113793
- (pageFrame) Adjust header layout for better spacing above alert by @TkDodo in #113781
- (perforce) Add config allowlist to exclude password from get_config_data by @mujacica in #114021
- (pipeline) Guard against missing installation_id in GitHub install redirect by @evanpurkhiser in #114363
- (pr-comments) Align option default in task body with queue gate by @evanpurkhiser in #113806
- (profiles) Use EAP spans instead of Transaction event on Profile screens by @mjq in #112975
- (releases) Prevent premature issue resolution from commit messages by @JoshFerge in #107138
- (repos) Set minMatchCharLength to 1 for repo search by @evanpurkhiser in #114582
- (seer-agent) Fix showActions on hover and cleanup broken focusedBlockIndex state by @aliu39 in #113739
- (seer-explorer) Restrict block actions and copy button to assistant role only by @aliu39 in #113843
- (seer-preferences) Don't delete SeerProjectRepository on repo hide by @srest2021 in #114509
- (seer-slack) Skip subscription-gated access check in control silo by @leeandher in #113716
- (skills) Remove billing from control silo references in agent skill docs by @dashed in #114382
- (slack-seer) Ensure organization context is present for handoff storage + block kit fix by @leeandher in #114585
- (slot) Prefer graceful degradation when slot not found by @natemoo-re in #114547
- (snapshots) Hide diff overlay while image loads and deduplicate computeMaskSize by @NicoHinderling in #114450
- (spans-migration) Don't migrate homepage discover queries by @nikkikapadia in #114467
- (supergroups) Close drawer on click outside, but not modals by @scttcper in #114574
- (sync_repos) Handle string JSON in VSTS and error dicts in GitLab by @wedamija in #114656
- (trace-waterfall) Attempt to fix flaky test by @nsdeschenes in #113801
- (tracemetrics, dashboards) Render metric selector via portal by @nsdeschenes in #114604
- (types) Remove sentry.api.paginator from mypy ignore list by @kcons in #114510
- (workflow_engine) Ignore Workflow.DoesNotExist in trigger_action task by @sentry in #114385
- (workflows) Don't require Workflow.config to create by @kcons in #113859
- Flaky
test_handlerby isolating trace context in log handler tests by @joshuarli in #114491 - Handle duplicate list values in resolve_top_event_conditions by @JoshFerge in #114400
- Do not export fetchDataQuery by @TkDodo in #114408
- Reject card actions with integration is not linked to the group's org by @michelletran-sentry in #114191
- Reject options-load when integration is not liked to the group's org by @michelletran-sentry in #114185
- Normalize issues and replays to info alerts with icons by @JoshuaKGoldberg in #113687
- Revert "fix(issues): Hide line numbers on non-in-app stack trace frames (#112885)" by @getsentry-bot in 996b5654
- Revert parallel devservices startup by @joshuarli in #113755
Documentation 📚
- (agents) Mention ViewerContext identity wiring by @gricha in #113617
Internal Changes 🔧
✂️
- Drop pipeline entry point from knip config by @evanpurkhiser in #114228
- Update knip by @TkDodo in #114037
Aci
- Fix monitor form editable breadcrumb titles by @malwilley in #114726
- Add callout on inline alert form by @malwilley in #114581
- Add test coverage around valid comparison delta values by @ceorourke in #114092
- Return serialized Detector for metric alert rule POST and PUT endpoints by @ceorourke in #113816
- Return workflow response from issue alert POST and PUT endpoints by @ceorourke in #113752
- Unschedule prune_old_open_period_activity by @kcons in #113744
Autofix
- Add analytic when users click on autofix evidence by @Zylphrex in #114741
- Remove impact_assessment and triage steps by @chromy in #114572
- Remove impact_assessment and triage from Explorer next steps by @chromy in #114567
- Rollout autofix runs view with new autofix by @Zylphrex in #114315
- Remove unused Seer API get preferences helpers by @srest2021 in #114098
- Pass optional args to startStep as object by @Zylphrex in #114097
- Split AutofixCards file into multiple files by @Zylphrex in #114000
Billing
- Migrate spend notifications form to new form system by @TkDodo in #114303
- Remove Developer plan changes link from cancel banner by @souredoutlook in #114122
- Bump sentry-protos to 0.8.17 by @noahsmartin in #113773
- Bumped protos version to 0.8.16 by @brendanhsentry in #113766
Button Variant
- Remove deprecated priority prop from Button by @natemoo-re in #114756
- Cleanup core and forms by @natemoo-re in #114729
- Update docs to reference variant by @natemoo-re in #114721
- Shim downstream components for priority/variant compat by @natemoo-re in #114546
Cmdk
- Make CMDKQueryOptions generic to fix type inference by @TkDodo in #114410
- Remove projects array from identifier lookup query key by @JonasBa in #114512
- Remove cmd-k feature flags from backend by @JonasBa in #114439
- Remove cmd-k feature flag checks from frontend by @JonasBa in #114441
- Remove old cmdk implementation by @JonasBa in #114224
- Wrap bulk assign action in parent 'Assigned to' action by @JonasBa in #114374
- Eagerly load filter key sections and cap boolean attributes by @JonasBa in #114125
- Split CMDKAction rendering to avoid useQuery without a resource by @JonasBa in #114066
- Flatten modal.tsx into commandPalette.tsx by @JonasBa in #113945
Conversations
- Further decouple conversations from insights by @nsdeschenes in #113902
- Move conversations to explore layout by @nsdeschenes in #113897
Dashboards
- Inline top_n -> area conversion into widget library templates by @DominikB2014 in #114563
- Drop DashboardTombstone table by @gggritso in #114267
- Remove DashboardTombstone model by @gggritso in #114265
- Remove old prebuilt General dashboard by @gggritso in #113608
- Clean up RevisionListItem logic and naming by @skaasten in #114161
Deps
- Bump sentry-conventions to 0.6.0 by @buenaflor in #114750
- Bump sentry-conventions to 0.5.0 by @buenaflor in #113515
Experiments
- Default useExperiment reportExposure to false by @jaydgoss in #114217
- Add flag to feature flag checking functions to allow us to skip exposing the experiment, and stop exposing experiments when we return all feature flags from the ui by @wedamija in #114243
Explore
- Migrate useGetTraceItemAttributeValues to apiOptions by @nsdeschenes in #114323
- Clean up page frame flag by @nsdeschenes in #114304
- Move releases to views/explore by @nsdeschenes in #113892
- Move profiles into views/explore by @nsdeschenes in #113820
- Move replays to views/explore by @nsdeschenes in #113827
- Move conversations to views/explore by @nsdeschenes in #113893
Explorer
- Do slide in animation for loaded response blocks by @aliu39 in #114280
- Simplify topbar fb condition by @aliu39 in #114348
- Cleanup chat keyboard nav and dont show broken link icon while loading by @aliu39 in #114223
- New prefill question by @aliu39 in #113970
- Populate project repos in explorer user_org_context by @srest2021 in #113844
Flags
- Remove organizations:releases-serializer-v2 by @wedamija in #113504
- Remove
organizations:event-unique-user-frequency-condition-with-conditionsfeature flag by @wedamija in #112755
Forms
- Migrate reprocess event modal by @priscilawebdev in #114836
- Migrate data secrecy support access toggle by @priscilawebdev in #114840
- Migrate create release integration modal by @priscilawebdev in #114832
Grouping
- Correctly parameterize dotted ints by @lobsterkatie in #114776
- Improve URL parameterization by @lobsterkatie in #114753
- Add more URL parameterization test cases by @lobsterkatie in #114615
- Restrict values in IPv4 regex by @lobsterkatie in #114362
- Add IP false positive test by @lobsterkatie in #114458
- Clear old and invalid secondary grouping config options by @lobsterkatie in #114378
- Parameterize ints and hexes abutting underscores by @lobsterkatie in #114345
- Add random id parameterization regex by @lobsterkatie in #113756
- Add more broken parameterization cases by @lobsterkatie in #113737
Insights
- Remove dynamically loaded Insight widgets and cascading dead code by @gggritso in #114381
- Delete Insights Overviews by @gggritso in #114189
- Delete AI Insights Module pages by @gggritso in #114248
- Delete Mobile Insights pages by @gggritso in #114246
- Delete Frontend Insights Module pages by @gggritso in #114233
- Delete Backend Insights Module pages by @gggritso in #114200
- Platformize summary pages by @gggritso in #113976
Integrations
- Drop legacy SCM-option plumbing and purge the option rows by @evanpurkhiser in #114365
- Drop githubNudgeInvite from org object in invite banner by @evanpurkhiser in #114463
- Remove legacy GitHub/GitLab feature toggles from detail view by @evanpurkhiser in #113924
- Remove org-level gates for SCM source context and Perforce by @mujacica in #114132
- More GitHub API request tagging + org_id by @armenzg in #113786
Issue Detection
- Log AI General Issues rather than ingest them by @roggenkemper in #114755
- Remove general AI detected issues by @roggenkemper in #114754
- Move LLM detection scheduler by @roggenkemper in #114044
- Remove unused LLM detection projects-allowlist by @roggenkemper in #114045
Issues
- Fix typo groups_to_transistion -> groups_to_transition by @mrduncan in #114633
- Drop redundant dict() re-cast in materialize_metadata by @mrduncan in #114648
- Use module logger in issue_occurrence by @mrduncan in #114646
- Use generator instead of list comp in handle_merge any() by @mrduncan in #114644
- Simplify get_highlight_preset_for_project branches by @mrduncan in #114642
- Remove redundant Fragment in EventCreatedTooltip by @mrduncan in #114649
- Replace redundant elif with else in update_inbox by @mrduncan in #114635
- Remove performance issues search flag by @ceorourke in #114507
- Delete option registration for prev/next event navigation by @shashjar in #114064
- Migrate similar stack trace to SimpleTable by @scttcper in #113341
- Rename filterThreadInfo to getThreadInfo by @scttcper in #113971
- Convert GroupType class config to ClassVar by @JoshFerge in #113423
Llm Detection
- Updated titles and ordering to match the list in seer by @nora-shap in #114783
- Add transacion to fingerprint for grouping by @shayna-ch in #113974
Onboarding
- Enforce display order for SCM provider pills by @jaydgoss in #114727
- Drive SCM feature card volumes from billing-config by @jaydgoss in #114397
- Polish new SCM onboarding flow styling by @itsdangold in #114261
Preprod
- Extract shared SnapshotsToolbar component by @mtopo27 in #114746
- Update snapshot list framing by @mtopo27 in #114448
- Add markdown snapshot coverage by @mtopo27 in #114434
- Remove unused image column code by @mtopo27 in #114431
- Migrate shared preprod status check functionality to shared utils by @rbro112 in #114268
- Replace sidebar disclosure sections with status filter pills by @NicoHinderling in #113988
- Use transparent color sentinel for overlay visibility by @NicoHinderling in #113987
- Remove preprod-issues feature flag by @chromy in #114023
- Flatten empty-state ternary and drop redundant Fragment by @NicoHinderling in #113956
- Drop hash-keyed manifest fallback by @NicoHinderling in #113967
Projects
- Fix N+1 in get_access_by_project by @scttcper in #113879
- Harden regression coverage for delete_project and delete_project_key by @BYK in #113792
Releases
- Filter artifact bundle joins by organization_id by @scttcper in #114103
- Migrate releases to explore layout by @nsdeschenes in #113950
Replays
- Migrate to explore layout by @nsdeschenes in #113942
- Make useReplayCount discover uses explicit by @mjq in #113586
- Fix flaky test_export_replay_row_set by @joshuarli in #113742
Repos
- Use flag-aware Seer provider check in SCM views by @evanpurkhiser in #114478
- Refactor ScmRepositoryTable to per-install actions and virtualized list by @evanpurkhiser in #114511
- Share Seer-compatible provider check across SCM views by @evanpurkhiser in #114364
Repositories
- Overide github error handling for repo sync by @wedamija in #114595
- Clean up vsts error handling by @wedamija in #114592
- Abstract broken integration handling into base class by @wedamija in #114464
Scraps
- Adopt
GlobalModalby @natemoo-re in #114447 - Support
openInNewTabon LinkButton by @natemoo-re in #114490 - Add variant prop to button, deprecate priority by @natemoo-re in #113838
- Adopt pagination by @natemoo-re in #114079
- Export more Tanstack form helpers to enable composition by @malwilley in #114260
- Migrate legal & compliance page to new form system by @TkDodo in #114155
- Adopt standard backdrop by @natemoo-re in #113968
Seer
- Refactor to leverage useOrganizationMutationOptions by @ryan953 in #113861
- Move /seer/workflows to /issues/autofix by @chromy in #114715
- Send project slugs instead of numeric IDs in LLM context by @Mihir-Mavalankar in #114568
- Add progress logs to night shift schedule cron by @trevor-e in #114557
- Remove unused SeerRawPreferenceResponse and improve write-time repo id validation by @srest2021 in #114392
- Cleanup disabled seer onboarding wizard by @ryan953 in #113857
- Move trace routes to stable structured context set by @Mihir-Mavalankar in #114440
- Rename Explorer to Agent across backend Python by @trevor-e in #114337
- Rename 'Open Seer' button to 'Open Autofix' by @chromy in #114425
- Remove unused Seer project preferences cleanup tasks by @srest2021 in #114112
- Remove Seer API dual writes in project preference endpoints by @srest2021 in #114239
- Remove Seer API project preference dual writes in internal flows and helpers by @srest2021 in #114240
- Remove enableSeerEnhancedAlerts org preference by @leeandher in #114213
- Remove enableSeerEnhancedAlerts settings toggle by @leeandher in #114211
- Skip stale and security-report groups in supergroups backfill by @yuvmen in #114230
- Inline SeerProjectRepository and ProjectOption cleanups for disabled/hidden repos and deleted integrations by @srest2021 in #114110
- Remove redundant page title from autofix project settings by @chromy in #114145
- Update isSeerExplorerEnabled to use gen-ai-features flag by @aliu39 in #114099
- Use neutral variant for
codeby @natemoo-re in #114083 - Read project preferences only from Sentry DB, part 3 by @srest2021 in #114002
- Tweak loading state by @natemoo-re in #114075
- Use seer-night-shift-settings flag for night shift UI by @chromy in #114022
- Read project preferences only from Sentry DB, part 2: handoff & stopping point paths by @srest2021 in #113972
- Read project preferences only from Sentry DB, part 1 by @srest2021 in #113835
- Implement custom loading state by @natemoo-re in #113866
- Use priority field instead of frontend route filtering by @Mihir-Mavalankar in #113717
- Add priority-based root node selection to snapshot_to_markdown by @Mihir-Mavalankar in #113715
- Remove focus hijack by @JonasBa in #113713
Seer Agent
- 30% default width for seer drawer by @sehr-m in #113875
- Drawer in front of tooltips by @sehr-m in #113869
- Remove enter hint by @sehr-m in #113839
- Fix hotkeys by @sehr-m in #113863
- Change user message and input margins/padding by @sehr-m in #113836
Seer Slack
- Omit seer fix button when no other actions are present by @leeandher in #114090
- Remove explorer cache key fallback by @alexsohn1126 in #113810
- Safely convert routing to control silo task by @leeandher in #113721
- Rename explorer to agent in seer agent slack integration by @alexsohn1126 in #113444
Sentry Apps
- Bump time for issue webhook to 12s and cleanup old task by @Christinarlong in #114205
- Bump task duration times for tasks by @Christinarlong in #114101
Settings
- Use mutation hooks for sentry app tokens by @priscilawebdev in #114833
- Migrate project release tracking to FormSearch by @priscilawebdev in #114698
- Use SettingsPageHeader subtitle on dynamic sampling by @evanpurkhiser in #114576
- Use SettingsPageHeader subtitle on console SDK invites by @evanpurkhiser in #114575
- Migrate tempest credentials modal to scraps by @priscilawebdev in #114144
- Migrate spike protection toggle to new form system by @TkDodo in #114293
- Update Seer settings docs link for Autofix by @shashjar in #114102
- Drop legacy FieldGroup in reportUri by @priscilawebdev in #114142
- Migrate api applications form by @priscilawebdev in #113887
- Migrate redeemPromoCode page to new form system attempt 2 by @TkDodo in #113889
- Remove organization breadcrumb by @evanpurkhiser in #113706
Snapshots
- Rename 'modified' to 'changed' in snapshot UI by @NicoHinderling in #114747
- Update sidebar UI to be collapsible again by @NicoHinderling in #114610
- Move card selection from header to card frame by @NicoHinderling in #114645
- Share focused snapshot card frames by @mtopo27 in #114498
- Add keyboard nav hints and visual feedback by @NicoHinderling in #114432
- Refine snapshot sidebar by @mtopo27 in #114356
- Add per-image diffThreshold support by @NicoHinderling in #114335
- Buffer image swap to eliminate flash during single-view navigation by @NicoHinderling in #114271
- Final UI tweaks by @NicoHinderling in #114232
Spans
- Clean up enforce-segment-size option by @lvthanh03 in #114593
- Unregister chunk oversized segments option by @lvthanh03 in #113790
Tsc
- Migrate sentry-apps endpoints to apiOptions by @TkDodo in #114834
- UseReleasesWidgetQuery to apiOptions by @TkDodo in #114427
- Insights useReleases to apiOptions by @TkDodo in #114411
- Migrate useOrganizationsWithRegion to apiOptions by @TkDodo in #114413
- Remove any from QueryKeyEndpointOptions by @TkDodo in #114419
- UseReleases to apiOptions by @TkDodo in #114131
- Remaining widget queries to apiOptions by @TkDodo in #114146
- UseFetchParallelPages and useFetchSequentialPages to apiOptions by @TkDodo in #114139
- UseLogsQuery to apiOptions by @TkDodo in #114143
- Replay-count to apiOptions by @TkDodo in #114012
- Issue details endpoint to apiOptions by @TkDodo in #114059
- Issue autofix endpoint to apiOptions by @TkDodo in #113918
- Seer preferences to apiOptions by @TkDodo in #113894
- Move events-stats endpoint to apiOptions by @TkDodo in #113812
- Move event-timeseries endpoint to apiOptions by @TkDodo in #113883
- Move attribute validation endpoint to apiOptions by @TkDodo in #113886
- Organization details endpoint to apiOptions by @TkDodo in #113782
- Issues-timeseries endpoint to apiOptions by @TkDodo in #113779
- Move integrations-repos endpoint to apiOptions by @TkDodo in #113784
- Remove useInfiniteApiQuery by @TkDodo in #113778
- Remove getResponseHeader from useApiQuery by @TkDodo in #113775
- Remove re-export of TansTack Query from queryClient.tsx by @TkDodo in #113777
- Issues endpoint to apiOptions by @TkDodo in #113525
Typing
- Drop redundant cast in trace metric search type by @JoshFerge in #113930
- Drop redundant cast on TraceMetric.metric_type by @JoshFerge in #113932
- Drop redundant casts in resolve_measurement_value by @JoshFerge in #113933
- Upgrade mypy to 1.20.1 by @JoshFerge in #113419
- Misc test-side type hint fixes by @JoshFerge in #113428
- Convert RegressionDetector + AttributeHandler config to ClassVar by @JoshFerge in #113422
- Strengthen shared integrations base client typing by @armenzg in #113474
- Refetch via queryset instead of refresh_from_db after narrowing by @JoshFerge in #113427
Ui
- Use
test-ciinstead ofCI=trueto run tests w/ agents by @scttcper in #114759 - Drop jest-junit by @scttcper in #114564
- Convert
useHoverOverlayto state machine by @natemoo-re in #113628
Other
- (ai-monitoring) Remove legacy aiModelCosts config and fetch_ai_model_costs task by @constantinius in #113534
- (ai-spans) Tighten AI message normalizer types by @obostjancic in #114705
- (ai-trace) Consolidate AI input/output format fallbacks by @obostjancic in #114028
- (alerts) Move editable name into breadcrumbs and remove page frame checks by @malwilley in #114476
- (api) Tighten accept-invite cleanup-delete path by @michelletran-sentry in #114040
- (artifact-bundles) Filter search joins by organization_id by @scttcper in #114111
- (auth) Add metrics for Relay authentication by @Dav1dde in #114417
- (buffer) Delete unused InProcessBuffer class by @vgrozdanic in #114843
- (cells) Remove platform filter and project sort from org listing by @lynnagara in #114785
- (ci) Increase Jest shards from 4 to 8 for faster CI by @NicoHinderling in #114388
- (coding-agent) Remove unused CodingAgentPipelineView by @evanpurkhiser in #113436
- (copilot) Remove Copilot Extension by @JoshFerge in #113882
- (crons) Adjust specific environment monitor stats query by @scttcper in #114277
- (cross-events) Remove disabled save button by @nsdeschenes in #114330
- (db) Migrate remaining create_or_update call sites to update_or_create by @vgrozdanic in #114430
- (dep) Bump granian to 2.7.4 by @gi0baro in #113799
- (detectors) Migrate error detector form to TanStack Form by @malwilley in #114377
- (discover) Make Save As a primary button and reorder action buttons by @JonasBa in #114503
- (eco) Adds debug keys to bitbucket integration by @GabeVillalobos in #114068
- (emails) Update Sentry logo asset and display dimensions by @rahulchhabria in #114123
- (escalating) Skip flaky test_is_forecast_out_of_range by @JoshFerge in #113951
- (explore-events) Delay requests until in view by @nsdeschenes in #114420
- (features) Remove graduated SCM source context and Perforce flags by @mujacica in #114134
- (frontend) Add type coverage diff PR comment by @TkDodo in #114428
- (getsentry) Lazy load enhanced org stats by @scttcper in #114121
- (gitlab) Wrap status sync delete+create in transaction.atomic() by @iamrajjoshi in #112490
- (groups) Replace category with category_v2 by @ceorourke in #114251
- (ingest) Register option for default trace ID by @thetruecpaul in #114376
- (intercom) Replace zendesk with new help center by @sentaur-athena in #114609
- (issue-ownership) Switch issue assignment off OwnerActorField by @cvxluo in #113707
- (jest) Update known flaky tests [2026-05-04] by @cursor[bot] in #114697
- (logs) Move Set Up Logs button from top bar to page filters by @JonasBa in #114502
- (metrics) Align trace metrics layout spacing by @nsdeschenes in #113680
- (mypy) Make strong typing the default by @armenzg in #114719
- (nightshift) Rename agent_run_id to run_id in response by @chromy in #114301
- (notifications) Remove initial guess from slack alert notifications by @leeandher in #114483
- (objectstore) Make ObjectstoreEndpoint unauthenticated and remove feature gate by @lcian in #114288
- (pageframe) Inline help actions by @natemoo-re in #114375
- (perforce) Remove legacy Django pipeline views by @evanpurkhiser in #113701
- (performance) Use useSpans for transaction replay count by @mjq in #114058
- (pipeline) Hide step counter when pipeline has one step by @evanpurkhiser in #113916
- (processing_errors) Sample processing error analytic events at 100% for orgs younger than 30 days. by @wedamija in #114398
- (profiling) Migrate profiles to explore layout by @nsdeschenes in #113910
- (queryClient) Cache safeParseQueryKey results in a WeakMap by @TkDodo in #114553
- (react router) Replace
useRoutesusage inuseGroupDetailsRouteby @shashjar in #113858 - (seer-agent) Use Link component to enable cmd clicking tool links by @aliu39 in #114494
- (seer-explorer) Move widget builder routes into STRUCTURED_CONTEXT_ROUTES by @Mihir-Mavalankar in #113853
- (seer-grouping) Rm v2 by @kddubey in #114538
- (seer-preferences) Remove dual-write and read-from-sentry feature flags and unused Seer API write helpers by @srest2021 in #114242
- (slack) Prep work for link parsing by @leeandher in #113599
- (snuba) Add LOW_VALUE_SPANS_JOB referrer by @vgrozdanic in #114416
- (stacktrace) Drop org-flag gate for SCM source context UI by @mujacica in #114133
- (supergroups) Stop sending explorer-based RCA requests by @cvxluo in #114659
- (theme) Remove unused z-index values by @natemoo-re in #114096
- (ts) Avoid type assertion in useOrganizationMutationOptions by @evanpurkhiser in #114788
- (vercel) Skip deployment when only backend files change by @vgrozdanic in #114029
- (warden) Configure remote Warden skills by @dcramer in #114253
- (workflow-engine-ui) Update example for slack notes by @leeandher in #113798
- Remove test analytics images by @calvin-codecov in #114769
- Update protos by @noahsmartin in #114737
- Mark failing jest-balance tests as isKnownFlake by @ryan953 in #114619
- Bump protos version by @noahsmartin in #114566
- Reset translations by @joshuarli in #114485
- Bump sentry-protos to 0.8.22 by @noahsmartin in #114445
- Bump sentry-protos to 0.8.21 by @brendanhsentry in #114389
- Update Taskbroker Client Version to 0.1.12 by @george-sentry in #114343
- Bump sentry-arroyo to 2.39.1 by @getsentry-bot in #114226
- Bump protos by @noahsmartin in #114244
- Use StatusIndicator and Grid primitives in service incident details by @evanpurkhiser in #114158
- Maybe fix git by @joshuarli in #114194
- Xfail test_eap_occurrence_stores_exception_stack_as_array_attributes (flaky) by @JoshFerge in #114190
- Expose function to safeParse an queryKey into our ApiQueryKey schema by @TkDodo in #114026
- Bump devservices by @joshuarli in #114100
- Bump sentry-protos by @noahsmartin in #114003
- Bump sentry-protos 0.8.18 by @brendanhsentry in #113984
- Fix unicorn/no-useless-collection-argument in useSeerExplorer.tsx by @JoshuaKGoldberg in #113901
- Update Projects page title to 'All Projects' by @JonasBa in #113845
- Bump new development version by @sentry-release-bot[bot] in 6fa540d4
Other
- deps(ui): Upgrade dompurify, marked by @scttcper in #114359
- codemod(button-variant): apply changes to performance and discover by @natemoo-re in #114730
- codemod(button-variant): apply changes to events, profiling, and misc components by @natemoo-re in #114731
- codemod(button-variant): apply changes to settings, alerts, and remaining views by @natemoo-re in #114732
- codemod(button-variant): apply changes to gsApp by @natemoo-re in #114722
- codemod(button-variant): apply changes for explore by @natemoo-re in #114522
- codemod(button-variant): apply changes for machine-learning-ai by @natemoo-re in #114528
- Replace auto muting useEffect in SnoozeAlert by @geoffg-sentry in #112588
- codemod(button-variant): apply changes for alerts-notifications by @natemoo-re in #114539
- codemod(button-variant): apply changes for ecosystem by @natemoo-re in #114526
- codemod(button-variant): apply changes for emerge-tools by @natemoo-re in #114534
- codemod(button-variant): apply changes for alerts-create-issues by @natemoo-re in #114525
- codemod(button-variant): apply changes for issue-workflow by @natemoo-re in #114532
- codemod(button-variant): apply changes for telemetry-experience by @natemoo-re in #114529
- codemod(button-variant): apply changes for profiling by @natemoo-re in #114523
- codemod(button-variant): apply changes for dashboards by @natemoo-re in #114521
- chore(hybridcloud) Add logging to start of outbox backfill by @markstory in #114605
- cleanup(ACI): Remove the cache-detectors-by-data-source feature flag by @saponifi3d in #114586
- codemod(button-variant): apply changes for revenue by @natemoo-re in #114533
- cleanup(ACI): Remove Workflows Cache Flag by @saponifi3d in #114584
- cleanup(ACI): Remove a feature flag for action-filter-cache by @saponifi3d in #114583
- codemod(button-variant): apply changes for enterprise by @natemoo-re in #114527
- codemod(button-variant): apply changes for design-engineering by @natemoo-re in #114535
- codemod(button-variant): apply changes for orphaned files by @natemoo-re in #114537
Plus 24 more
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]