Release history
sentry releases
Developer-first error tracking and performance monitoring
All releases
11 shown
26.4.2
Breaking risk
The 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
26.4.1
Breaking risk
Notable features
- API Integration Pipelines generally available
- Claude Code IDE integration
- Cursor IDE integration
Full changelog
New Features ✨
Aci
- Require at least one connected monitor in the alert builder by @malwilley in #113246
- Add
MovedBanner and redirects toCronsandUptimenav items by @saponifi3d in #113340 - Send project slug with test fire action request by @malwilley in #113127
- Add empty states for Monitors / Alerts by @saponifi3d in #113126
Autofix
- Add copy button to artifact cards by @Zylphrex in #113549
- Show referrer InfoTip in Seer drawer header by @chromy in #113279
Claude Code
- Add frontend pipeline step for Claude Code integration setup by @evanpurkhiser in #113213
- Add API-driven pipeline backend for Claude Code integration setup by @evanpurkhiser in #113202
Cmdk
- Group project settings actions by @JonasBa in #112913
- Show hotkey label in search button tooltip for command palette by @JonasBa in #113382
- Improve issue detail actions by @JonasBa in #112982
Code Review
- Update backend so legacy seer orgs no code review by @suejungshin in #113578
- Disable code review feature for seer-added by @suejungshin in #113564
- Support Seer code review for GitHub Enterprise Server by @tnt-sentry in #112938
Cursor
- Add frontend pipeline step for Cursor integration setup by @evanpurkhiser in #113212
- Add API-driven pipeline backend for Cursor integration setup by @evanpurkhiser in #113203
Dashboards
- Store revision source for AI-assisted saves by @skaasten in #113670
- Add flag for dashboards widget unfurl by @DominikB2014 in #113469
- Add UI to view dashboard revisions by @skaasten in #113441
- Add endpoint to preview a dashboard revision by @skaasten in #113316
- Add endpoint to restore a dashboard revision by @skaasten in #113176
- Add endpoint to list dashboard revisions by @skaasten in #113084
- Store dashboard snapshot on PUT when revisions flag is enabled by @skaasten in #113065
- Redirect Insights pages to corresponding dashboards by @gggritso in #113201
- Use org option for widget query queue concurrency by @DominikB2014 in #113185
- Add AI-generated warning to edit chat panel by @edwardgou-sentry in #113055
Detectors
- Add connected line graph to mobile build visualization by @mtopo27 in #113012
- Add workflow filter to detector search query by @malwilley in #113115
Discord
- Add API-driven pipeline backend for Discord integration setup by @evanpurkhiser in #113102
- Add frontend pipeline step for Discord integration setup by @evanpurkhiser in #113098
Eslint
- Extend no-flag-comments to catch
=,*,_,#,~separators by @evanpurkhiser in #113594 - Bump eslint-plugin-unicorn to v64 by @JoshuaKGoldberg in #113207
- Enable unicorn/no-new-array by @JoshuaKGoldberg in #113204
- No-unnecessary-type-narrowing by @TkDodo in #113285
- Prefer-reduce-type-parameter by @TkDodo in #113193
Explore
- Accept crossEvents param on saved queries by @nsdeschenes in #113286
- Hide internal fields from search bars and scope attribute lookups to selected metric by @nsdeschenes in #113036
Explorer
- Updated drawer header with dropdown menu by @aliu39 in #113637
- Tab key returns focus to input by @aliu39 in #113641
- Migrate chat UI to global drawer by @aliu39 in #113481
- Use local storage for explorer override by @Zylphrex in #113475
- Expose export-indexes via public org seer RPC by @shruthilayaj in #113227
- Add Code Mode toggle to Explorer UI by @azulus in #112882
Integrations
- Update example integration for api pipeline by @evanpurkhiser in #113350
- Add direct link to GitLab user settings by @evanpurkhiser in #113558
- Prevent fetching thousands of commits by @armenzg in #113526
- Track cache hit ratio by API request type by @armenzg in #113463
- Route Claude Code and Cursor through API pipeline modal by @evanpurkhiser in #113326
- Remove feature flags for GAd pipelines by @evanpurkhiser in #113097
- GA all API Integration Pipelines by @evanpurkhiser in #113067
Issue Detection
- Add weighted project selection by @roggenkemper in #113466
- Add org-level scheduling for AI issue detection by @roggenkemper in #113060
Issues
- Tag issue stream analytics with AnalyticsArea by @scttcper in #113505
- Add project-level enable option for LLM issue detection by @roggenkemper in #112710
Logs
- Add ourlogs-modal-export flag by @JoshuaKGoldberg in #113363
- Switch needle-in-haystack auto-fetching from 5 tries to time-based by @JoshuaKGoldberg in #113219
Occurrences On Eap
- Make organization trace item stats API endpoint generic over trace item type by @shashjar in #112889
- Implement
run_stats_queryin Occurrences EAP RPC class by @shashjar in #112878
Onboarding
- Fire distinct analytics for SCM setup-docs events by @jaydgoss in #113552
- Update SCM onboarding styles to match updated designs by @jaydgoss in #113352
- Gate SCM_PROJECT_DETAILS step with feature flag by @jaydgoss in #113112
- Fire distinct analytics events for SCM welcome by @jaydgoss in #113364
- Register onboarding-scm-project-details-experiment flag by @jaydgoss in #113072
Opsgenie
- Add frontend pipeline step for Opsgenie integration setup by @evanpurkhiser in #113214
- Add API-driven pipeline backend for Opsgenie integration setup by @evanpurkhiser in #113174
Pagerduty
- Add frontend pipeline step for PagerDuty integration setup by @evanpurkhiser in #113173
- Add API-driven pipeline backend for PagerDuty integration setup by @evanpurkhiser in #113103
Perforce
- Add API-driven pipeline backend for Perforce integration setup by @evanpurkhiser in #113468
- Add frontend pipeline steps for Perforce integration setup by @evanpurkhiser in #113471
Pipeline
- Route additional integrations through API pipeline modal by @evanpurkhiser in #113302
- Optimistically render first step during initialization by @evanpurkhiser in #113307
Preprod
- Use images endpoint for snapshot diffs by @lcian in #113312
- Expose snapshot filters in search typeahead by @NicoHinderling in #113332
- Add snapshot and approval search filters by @NicoHinderling in #113331
Scraps
- Adopt GlobalDrawer component into design system by @natemoo-re in #113489
- Opinionated scrollbar styles by @natemoo-re in #113477
Seer
- Add per-issue Explorer button to workflow run drill-down by @trevor-e in #113620
- Clear Seer automation handoff preferences on integration deletion by @srest2021 in #113337
- Add user_id to SlackSeerAgentResponded analytics event by @alexsohn1126 in #113550
- Add timeout and reasoning params to LlmGenerateRequest by @ArthurKnaus in #113544
- Add get_metric_metadata RPC for Seer metrics agent by @isaacwang-sentry in #113462
- Add Night Shift workflows list page by @trevor-e in #113500
- Add workflows list endpoint for Night Shift runs by @trevor-e in #113491
- Update Seer Autofix settings table to match details page by @ryan953 in #113472
- Add feature flag for thinking blocks toggle by @chromy in #113437
- Add LLM context to widget builder page by @Mihir-Mavalankar in #112703
- Consolidate fields on the Autofix Project details page by @ryan953 in #113236
- Allow filtering the autofix settings table by agent name by @ryan953 in #113309
- Move the advanced seer settings to their own page by @ryan953 in #113248
- Gate Night Shift projects behind projects:seer-night-shift by @chromy in #113283
- Print Explorer URL after night shift trigger script runs by @trevor-e in #113239
- Allow bulk-editing Code Review triggers by @ryan953 in #113116
- Add max candidates input to admin night shift form by @trevor-e in #113223
- Allow max candidate override on admin night shift trigger by @trevor-e in #113222
- Add extras JSON column to SeerNightShiftRun by @trevor-e in #113178
- Add command palette action to resume night shift explorer chats by @chromy in #113161
- Implement sorting for the remaining columns on the Code Review settings table by @ryan953 in #112973
Slack
- Unfurl logs/metrics widget URLs by @DominikB2014 in #113577
- Unfurl spans dashboard widget URLs in slack by @DominikB2014 in #113478
Snapshots
- Show skipped count in status checks and PR comments by @NicoHinderling in #113007
- Add selective flag and rename all_image_names to all_image_file_names by @NicoHinderling in #113006
- Add images_skipped and is_selective columns for selective testing by @NicoHinderling in #113005
Spans
- Make salt deterministic for subsegments by @lvthanh03 in #113659
- Add flush_id to flushed segment messages by @untitaker in #113416
Tracemetrics
- Add equation support in old tracemetric alerts by @narsaynorath in #113665
- Open Alert in Explore by @narsaynorath in #113511
- Add updating functionality to alerts by @narsaynorath in #113487
- Implement read-only view for equations in alerts by @narsaynorath in #113446
- Add parser for resolved expressions by @narsaynorath in #113230
- Add equations in alerts flag by @narsaynorath in #113181
- Add PII scrubbing UI by @k-fish in #113078
- Add alert via dropdown in explore by @k-fish in #112963
- Disable Save As for equations by @narsaynorath in #113089
- Disable filter actions on equations/results by @narsaynorath in #113088
- Add filter bar to equation by @narsaynorath in #113057
Viewer Context
- Add observe() helper and instrument 3 chokepoints by @gricha in #113237
- Switch Seer API to JWT X-Viewer-Context header by @gricha in #112894
Vsts
- Add API-driven integration setup by @evanpurkhiser in #113073
- Add API pipeline frontend flow by @evanpurkhiser in #113095
Other
- (agent-monitoring) Refer to sentry ai skills instead of hardcoding agent instructions by @shellmayr in #113049
- (agents) Surface context utilization in AI span details by @obostjancic in #113407
- (alerts) Allow arithmetic in alert validation by @wmak in #113105
- (analytics) Tag integration install events with is_scm by @jaydgoss in #113225
- (api) Allow per-org rate limit overrides for project transfer by @cleptric in #113507
- (cells) Add organization avatar to control silo by @lynnagara in #113008
- (coding agent integrations) Move alerts into the drawer instead of as toasts by @sehr-m in #113306
- (compactSelect) Add menuMinWidth prop by @DominikB2014 in #113545
- (crons) Update onboarding empty state illustration by @evanpurkhiser in #112399
- (data-explore) Add new Query type for full export for simpler request validation by @manessaraj in #112953
- (data-export) Exported attributes in data export should have public names by @manessaraj in #112846
- (dev) Replace pre-commit with prek --quiet by @joshuarli in #110808
- (disclosure) Support HTML attributes in Disclosure.Content by @Zylphrex in #113572
- (errors) Create errors toolbar components by @nikkikapadia in #112526
- (hotkey) Add hotkey icons, update docs by @natemoo-re in #113465
- (identity) Add identity_ext_ids filter to identity RPC service by @alexsohn1126 in #113447
- (insights) Integrate conversation details into trace AI tab by @obostjancic in #112907
- (llm-detection) Add Seer budget pre-check before dispatching traces by @nora-shap in #113253
- (mcp) Add devinfra-mcp to dotagents by @kenzoengineer in #113367
- (navigation) Hide Insights sidebar behind feature flag by @gggritso in #112965
- (night-shift) Trigger autofix for fixable candidates and add dry run mode by @trevor-e in #113056
- (nightshift) Add tweaks option for prototyping nightshift by @chromy in #113675
- (objectstore) Add CLI rate limiting to Objectstore endpoint by @lcian in #111063
- (replay) Remove canvas recording by @billyvg in #113657
- (replays) Move timestamp and widget controls inline in page-frame mode by @JonasBa in #113694
- (seer agent) Add suggested question buttons to empty state by @sehr-m in #113636
- (seer-slack) Add analytics for Seer agent Slack responses by @alexsohn1126 in #113318
- (st) Install gcloud for local selective testing by @joshuarli in #113496
- (supergroup) Retry snuba batch query in supergroups lightweight backfill by @cvxluo in #113184
- (supergroups) Track drawer opens and add feedback button to header by @scttcper in #113497
- (ui) Add LLM issue detection toggle to performance settings by @roggenkemper in #112711
- (utils) Add PK caching and validate_item to CursoredScheduler by @roggenkemper in #113238
- (vercel) Add frontend pipeline step for Vercel integration setup by @evanpurkhiser in #113220
- (workflows) Restrict APIs based on metrics alert features by @kcons in #112600
Bug Fixes 🐛
Aci
- Don't allowe editing a project by @saponifi3d in #113355
- Only show gridline information, if we have data available by @saponifi3d in #113353
- Restrict percent sessions interval choices to supported values by @malwilley in #113313
Alerts
- Accept "default" as a valid PagerDuty severity by @malwilley in #113614
- Make everything vertical aligned by @priscilawebdev in #113532
- Don't log APIException as error in alert rule serializer by @malwilley in #113584
- More graceful handling of missing Detector in WorkflowEngineDataConditionSerializer by @kcons in #113575
Api
- Allow Bearer token auth for GET /api/0/auth/ by @BYK in #112853
- Serialize defaultCodingAgentIntegrationId as a string by @srest2021 in #113198
Auth
- Pin SSO setup identity link to the authenticated session by @michelletran-sentry in #113720
- Bypass SSO for viewer-context requests by @gricha in #113124
Automations
- Keep alert titles in page layout by @priscilawebdev in #113405
- Move detail header into the page-frame top bar by @priscilawebdev in #113270
Chartcuterie
- Reduce legend font size and truncation length by @DominikB2014 in #113180
- Stack grouped bar charts in unfurls by @DominikB2014 in #113177
Claude Code
- Use deterministic external_id scoped to organization by @sehr-m in #113256
- Convert workspace option to default-checkbox by @sehr-m in #113255
Conversations
- Normalize lastOutput array format to prevent .replace TypeError by @obostjancic in #113410
- Show when a conversation happened on detail page by @obostjancic in #112910
Dashboards
- Add telemetry and guard for non-string filter values by @gggritso in #113589
- Alignment and sizing of IntervalSelector on Dashboards by @TkDodo in #113642
- Bump react-grid-layout to fix maximize bug by @DominikB2014 in #113587
- Disable generate dashboard button when dashboard limit is reached by @edwardgou-sentry in #113301
- Restore release bubbles when thresholds are configured by @DominikB2014 in #113565
- Widget builder cut off when editing widget on page scroll by @nikkikapadia in #113479
- Guard getTimeseriesSortOptions call in widget builder by @edwardgou-sentry in #113467
- Apply prebuilt globalFilter to saved prebuilt dashboards by @DominikB2014 in #113454
- Add character limit to text widget content by @nikkikapadia in #113348
- Align embedded insights alerts by @priscilawebdev in #113271
- Reject new widgets with deprecated display types by @DominikB2014 in #113294
- Persist legend selection to URL for new chart widgets by @gggritso in #112974
- Remove "Insights" from breadcrumbs by @gggritso in #113209
- Enable search for filter values over 70 characters by @jameskeane in #113197
- Use scientific notation for small numbers in breakdown table by @gggritso in #113144
- Use dashboards as fallback secondary nav content for Insights pages by @gggritso in #113210
- Show no data message for details widget by @DominikB2014 in #113172
- Unescape alias lookup in visualizations by @narsaynorath in #113170
- Hide legend alias option for details widget type by @DominikB2014 in #112957
- Preserve page filters when navigating from prebuilt dashboard link by @edwardgou-sentry in #113070
Detectors
- Don't assume the Detector cache is limited to enabled by @kcons in #113627
- Bulk-fetch resolve thresholds in WorkflowEngineDataConditionSerializer by @kcons in #113347
Eco
- Updates external ID field length for integrations by @GabeVillalobos in #113308
- Improves domain checking for next URL in installation flow by @GabeVillalobos in #113118
- Re-adds the Complete Installation button to integration config pages" by @GabeVillalobos in #113076
Explorer
- Use new isDrawerOpen state for more accurate open/closed tracking by @aliu39 in #113639
- Move CM toggle after CE in top bar by @azulus in #113315
Insights
- Handle gen_ai.output.messages as JSON object by @obostjancic in #113537
- Fix empty txn summary when transaction.op is default by @mjq in #113099
Integrations
- Cache missing GitHub repo tree lookups by @armenzg in #113113
- Read dataset-specific query params in explore unfurls by @DominikB2014 in #113304
Issue Details
- Align content with page-frame top bar by @priscilawebdev in #113519
- Update unassign assignee action by @JonasBa in #113510
- Keep sticky event nav below page frame by @priscilawebdev in #113401
Issue Detection
- Filter to early adopter orgs by @roggenkemper in #113559
- Use 'AI Detected' label by @roggenkemper in #113310
- Don't use "Other" as title for uncategorized AI issues by @roggenkemper in #113311
Issues
- Apply issue search conditions to next/prev event buttons on issue details page by @shashjar in #113234
- Include group type id in AI-detected fingerprint by @roggenkemper in #113289
- Forward message query in project events endpoint in EAP conditions by @shashjar in #113250
- Prevent descender cutoff in GroupMetaRow annotations by @scttcper in #113243
- Include event property fields in has: suggestions by @scttcper in #113231
- Skip duplicate issue attachments query when possible by @scttcper in #113085
Migrations
- Prevent modifying the type of a column that is part of an index during migrations by @wedamija in #113370
- 0007 had the wrong migration dependency by @wmak in #113451
Onboarding
- Scm onboarding reuse project on back-nav when nothing changed by @jaydgoss in #113111
- Emit scm_platform_selected on auto-detection by @jaydgoss in #113351
Ourlogs
- Pipe case sensitivity through Highlight component by @JoshuaKGoldberg in #113448
- Enable notMerge option for time series ECharts by @JoshuaKGoldberg in #113434
Page Frame
- Move primary actions into local page controls by @JonasBa in #113612
- Remove empty headers and move breadcrumbs by @priscilawebdev in #113654
- Constrain replay and feedback layouts by @priscilawebdev in #113266
Pageframe
- SubscriptionHeader by @TkDodo in #113648
- Render settings layout subtitle by @TkDodo in #113518
- Integration layout header by @TkDodo in #113406
- Remove muted variant from InfoTip by @TkDodo in #113403
- Render replay actions into TopBarSlot by @TkDodo in #113164
Releases
- Remove unused statsPeriod query parameter by @scttcper in #113482
- Move feedback to top bar slot by @JonasBa in #113378
- Move page-frame breadcrumbs into the top bar by @priscilawebdev in #113042
Replays
- Hide trace ID in replay waterfall by @nsdeschenes in #113535
- Move replay actions into the page-frame top bar by @priscilawebdev in #113148
Repos
- Call repo sync batch tasks by @wedamija in #113132
- Fix vsts sync error by @wedamija in #113136
- Have repo sync batch up the work by @wedamija in #113131
Seer
- Bill seat-based autofix based on Seer project preferences instead of code mappings and tuning by @srest2021 in #113700
- Use count(value) in tracemetrics query for metric metadata by @isaacwang-sentry in #113616
- Trigger night shift autofix end-to-end and persist Seer run ids by @trevor-e in #113619
- Render all root nodes in snapshot_to_markdown by @Mihir-Mavalankar in #113607
- Remove code mappings fallback when configuring Seer for existing org by @srest2021 in #113582
- Remove code mappings fallback from has_project_connected_repos by @srest2021 in #113509
- Correct coding agent docs links by @nikolovlazar in #113546
- Clean up SeerProjectRepository after Seer API call succeeds on integration disabled and repo hidden/disabled by @srest2021 in #113345
- Handle SeerApiError in Explorer chat endpoint by @Mihir-Mavalankar in #113458
- Add kwargs to Seer cleanup tasks for safe arg change deploy by @srest2021 in #113449
- Linkify short IDs with multi-hyphen project slugs by @JoshFerge in #113431
- Extract clean message from coding agent HTTPError bodies by @sehr-m in #113305
Settings
- Move primary actions inline in settings pages (page-frame) by @JonasBa in #113626
- Avoid duplicate dynamic sampling title by @JonasBa in #113383
- Add spacing above notification alert on emails page by @scttcper in #113123
Slack
- Apply dashboard-stored filters when unfurling widget URLs by @DominikB2014 in #113711
- Add slack-staging to a list of of new oauth pipeline providers by @alexsohn1126 in #113464
- Use only first chart when unfurling multi-aggregate Explore URLs by @DominikB2014 in #113303
- Restrict trace unfurling to /traces links by @DominikB2014 in #113218
Spans
- Enable better_backpressure in span buffer RunTask by @untitaker in #113692
- Avoid unpack() crashes when merging sets by @untitaker in #113442
Supergroups
- Fallback to limited query on large supergroups by @scttcper in #113573
- Hoist stream issues to the first page of the drawer by @scttcper in #113192
- Add backfill referrer to Referrer enum by @cvxluo in #113092
Tracemetrics
- Disable multi select for aggregations field in alerts by @narsaynorath in #113712
- Samples table UI tweaks by @nsdeschenes in #113650
- Styling on visualize field for alerts by @narsaynorath in #113704
- Metric panel padding fixes by @nsdeschenes in #113581
- Flaky metrics tab test by @narsaynorath in #113625
- Pass project and env in alerts by @narsaynorath in #113551
- PII tooltip should appear in metrics samples by @k-fish in #113339
- Make metric option search case insensitive by @nsdeschenes in #113188
- Metric panel title should use equation with label by @narsaynorath in #113143
- Resolve all equations at once when subcomponents update by @narsaynorath in #113117
- Prep for stats flip by @k-fish in #113114
- Disable recent searches until ready by @narsaynorath in #113091
- Allow sorting on all aggregate tab columns by @narsaynorath in #113090
Ui
- Add tooltips to icon-only header actions by @priscilawebdev in #113151
- Track topbar offset for sticky headers by @natemoo-re in #113298
- Adjust placeholder height for DashboardGrid by @TkDodo in #113160
Workflows
- Delete workflows when the Rule is deleted by @kcons in #113588
- Handle duplicated AlertRuleWorkflow entries for a Workflow more gracefully by @kcons in #113138
- Don't reuse existing workflow in create_priority_workflow by @kcons in #113133
- Cache integration lookups, and pass the cache to render_label by @kcons in #112976
Other
- (api-docs) Add missing spaces in stats endpoint help text by @sentry-junior in #113529
- (assisted-query) Apply Seer visualizations and sort to metrics page by @isaacwang-sentry in #113232
- (autofix) Remove unconfigured projects gate and remove code mapping repos fallback by @srest2021 in #113077
- (billing) Account for gifted quantities in productIsEnabled check by @dashed in #113142
- (button) Map button size="zero" to icon size "xs" by @TkDodo in #113646
- (ci) Prevent shell injection in setup-devservices action by @fix-it-felix-sentry in #113400
- (cmdk) Do not fire selections on Tab key press by @JonasBa in #113381
- (dashoards) Fix table widget column widths snapping after user resize by @edwardgou-sentry in #112960
- (drawer) Match responsive header height on small screens by @priscilawebdev in #113016
- (dropdowns) Match focused item mask to overlay background token by @cvxluo in #113354
- (eslint) Used extends for remaining plugin configs by @JoshuaKGoldberg in #113365
- (explore) Handle nullable aggregations in equations by @wmak in #113456
- (feature-flags) Add Node.js support to feature flag onboarding by @scttcper in #112745
- (grouping) Remove redundant time regex by @lobsterkatie in #113601
- (issue-views) Render editable title in topbar slot for page-frame layout by @JonasBa in #113488
- (iswf) Surfaces linked issues for Sentry Apps with no UI components by @GabeVillalobos in #113372
- (logs) Remove duplicate main element on logs page by @priscilawebdev in #113649
- (mcp) Sync .cursor/mcp.json with dotagents output by @hubertdeng123 in #113512
- (metrics) Prevent page scroll when opening metric selector by @nsdeschenes in #113460
- (monitors) Move edit breadcrumbs into the top bar by @priscilawebdev in #113272
- (mypy) Fix issues with test_scm_onboarding.py by @kcons in #113598
- (night-shift) Remove poll timeout that aborted Explorer runs by @trevor-e in #113137
- (paginator) Replace f-string with % formatting to avoid SQL injection false positive by @fix-it-felix-sentry in #113402
- (performance) Support continuous profiling in sampled events table by @mjq in #113183
- (pipeline) Fix GitHub setup_action=install breaking API pipeline popup flow by @evanpurkhiser in #113240
- (replay) Add tooltip to timestamp settings button by @JonasBa in #113377
- (repositories) Properly set
external_idinorganization_code_mappings_bulkby @wedamija in #113618 - (scraps) Propagate drf field validation errors in autoSaveForm by @TkDodo in #113644
- (search) Return empty result on disjoint group_id intersection by @yuvmen in #113320
- (search-query-builder) Escape literal asterisks in filter values by @nsdeschenes in #113404
- (selective-testing) Update to fix import gap raised in getsentry by @rbro112 in #113357
- (stack-trace) Show for frames with no filename by @scttcper in #113108
- (tests) Stabilize flaky React Native metrics onboarding test by @JoshuaKGoldberg in #112000
- (trace) Keep loading breadcrumbs in the page-frame top bar by @JonasBa in #113384
- (tracemetric) Change metric selector syntax by @k-fish in #113206
- (traces) Add md gap in explore content section by @nsdeschenes in #113333
- (typing) Annotate group_status parameters as int by @JoshFerge in #113424
- (uptime) Fix cron monitor incident timing inconsistency by @klochek in #112692
- (viewer-context) Populate org after request resolution by @gricha in #113139
- (views) Standardize Save as buttons by @priscilawebdev in #113655
- (workflow_engine) Manually add date_updated/added timestamps for detectorstate commits by @klochek in #113480
- (workflowEngine) Use primary border color by @TkDodo in #113560
- Revert "feat(integrations): Send SLO lifecycle metrics to Sentry via SDK (#112839)" by @getsentry-bot in 7e3195c1
- Don't use type as a variable by @wmak in #113080
Documentation 📚
- (agents) Forbid customer info in PRs, commits, and code by @JoshFerge in #113300
Internal Changes 🔧
Aci
- Replace multiple flag usage with single flag by @ceorourke in #113461
- Add single flag to control metric alert backwards compatible endpoints by @ceorourke in #113228
- Split connected detectors into projects and monitors lists by @malwilley in #113205
- Roll out DELETE metric alert endpoint flag by @klochek in #113215
- Roll out DELETE issue alert endpoint flag by @klochek in #113216
- Report more used legacy models by @ceorourke in #113233
Alerts
- More efficient GroupOpenPeriod query by @kcons in #113556
- Migrate rule node fields to JsonFormAdapterFieldConfig by @priscilawebdev in #112779
Api
- Remove single trace summary backend endpoint by @nsdeschenes in #113666
- Add collapse=organization to project details endpoint by @scttcper in #113140
Billing
- Bumped protos version to 0.8.15 by @krithikravi in #113699
- Renamed metrics to application metric counts(BIL-2237) by @krithikravi in #113580
Cells
- Update field definitions on BaseRelocationTransfer by @lynnagara in #113000
- Remove deprecated get_region_for_organization alias by @lynnagara in #113003
- Remove dead SiloMode.CELL check from ReactPageView by @lynnagara in #113001
Ci
- Tolerate action-download flakes on collect-test-data by @mchen-sentry in #113453
- Wait.py, add healthcheck logging by @joshuarli in #113361
- Add import analysis to selective testing by @rbro112 in #113247
Cmdk
- Add Seer actions to command palette by @JonasBa in #113490
- Add missing secondary nav items to command palette by @JonasBa in #113155
Commits
- Remove "Unable to Fetch Commits" email by @leeandher in #113445
- Simplify main loop, extra logging & CODEOWNERS update by @armenzg in #113418
- Refactor fetch_commits task by @armenzg in #113293
- Improve fetch commit task observability by @armenzg in #113282
Dashboards
- Normalize error responses to use detail key by @gggritso in #113606
- Use Dashboard router hint in revision restore by @gggritso in #113605
- Reorder primary actions by @JonasBa in #113443
- Remove Dashboard Templates feature by @gggritso in #113343
- Remove dashboards-interval-selection flag declaration (backend) by @gggritso in #113290
- Remove dashboards-interval-selection feature flag (frontend) by @gggritso in #113288
- Migrate widget type selector to CompactSelect by @DominikB2014 in #112927
Explore
- Add header hints and update explore headers by @nsdeschenes in #113571
- Normalize ExploreControlSection padding to md xl by @JonasBa in #113579
- Use paste instead of type for spans tab query input by @scttcper in #113349
- Move attribute key fetching to apiOptions utility by @nsdeschenes in #113047
- Add dev features flag by @k-fish in #113081
Explorer
- SwitchToRun should be a no-op for same runId by @aliu39 in #113262
- Rename global context provider + use it for close button and external opens by @aliu39 in #113264
- Reorg directory structure by @aliu39 in #113263
- Update hook to use useMutation by @aliu39 in #113146
Flags
- Remove dead projects:data-forwarding flag by @wedamija in #113374
- Remove 5 dead feature flag registrations by @wedamija in #113373
Grouping
- Add MAC address parameterization regex by @lobsterkatie in #113129
- Make ip regex stricter by @lobsterkatie in #112995
Integrations
- Make GitHub compare-commits caching default by @armenzg in #113536
- Remove totally unused
claude-code-environment.htmlby @evanpurkhiser in #113317 - Request recent GitHub commits with explicit page size by @armenzg in #113217
- Clarify which endpoints gets called by @armenzg in #113196
- Halting events to be logged as warning by @armenzg in #113104
- Gate disabling repositories behind a separate flag by @wedamija in #113071
Issue Detection
- Increase tick frequency to 5 min, reduce cycle to 1 hour by @roggenkemper in #113621
- Hide search and settings behind
hideAiFeaturesby @roggenkemper in #113542 - Make AI issue types searchable when feature flag by @roggenkemper in #113470
- Set
api_exposeto True by @roggenkemper in #113093
Issues
- Extract shared search + serialize helpers by @cvxluo in #113562
- Removing option registration no longer needed by @shashjar in #113597
- Use boolean option for application of issue search conditions to prev/next event navigation by @shashjar in #113555
- Migrate similar stack trace to react-query by @scttcper in #113344
- Consolidate duplicate issue tags requests into one by @scttcper in #113079
Iswf
- Uses repository URL by default when linking external repos by @GabeVillalobos in #113360
- Adds Repository URL to organization_integration_repos endpoint by @GabeVillalobos in #113358
Nav
- Simplify setting breadcrumbs by @natemoo-re in #113101
- Extract header actions, use pageframe slots by @natemoo-re in #113083
Nightshift
- Expose seer-night-shift flag to UI by @chromy in #113543
- Log agent_run_id in night shift logs by @chromy in #113171
Onboarding
- Persist project details form state in onboarding context by @jaydgoss in #113128
- Move less common SCM providers into a More dropdown by @jaydgoss in #112730
- Clean up useCallback in firstEventFooter, rm project.org by @scttcper in #113134
Pipeline
- Remove missed pipeline reference from rspack by @evanpurkhiser in #113438
- Remove unused react_pipeline template and render_react_view by @evanpurkhiser in #113439
- Remove now unused legacy integrationPipeline views by @evanpurkhiser in #113328
- Extract shared test helpers from pipeline integration specs by @evanpurkhiser in #113224
- Use getApiUrl for type-safe API URL construction by @evanpurkhiser in #113226
Preprod
- Revert odiff CLI-mode workaround after v4.3.8 fix by @NicoHinderling in #113335
- Move Snapshots tab to standalone settings subpage by @NicoHinderling in #113175
Seer
- Make chat and copy primary buttons by @JonasBa in #113719
- Filter LLM context to widget-builder on builder routes by @Mihir-Mavalankar in #113623
- Split structured context routes by feature flag by @Mihir-Mavalankar in #113485
- Reapply JWT proxy_headers for Seer callbacks by @gricha in #113499
- Remove duplicate useFetchAgentOptions, replaced by useCodingAgentSelectQueryOptions by @ryan953 in #113498
- Accept **kwargs on night_shift instrumented tasks by @chromy in #113284
- Refactor Seer Autofix Project table to remove internal abstractions by @ryan953 in #113459
- Retire the seer-overview feature flag by @ryan953 in #113249
- Filter private fields from explorer chat API response by @trevor-e in #113199
- Refactor Code Review table to better optimistically update by @ryan953 in #112979
Selective Testing
- Add selective testing instructions to agents.md files by @rbro112 in #113334
- Re-add make test-selective command by @rbro112 in #113265
Supergroups
- Always use lightweight RCA read path by @cvxluo in #113583
- Extract helper for get-by-group-ids Seer call by @cvxluo in #113492
- Remove id from drawer breadcrumb by @cvxluo in #113179
- Make backfill tuning params configurable via options by @yuvmen in #113074
Tracemetrics
- Remove refresh ui flag by @nsdeschenes in #113669
- Mark test as known flake by @narsaynorath in #113484
- Remove legacy metrics UI by @nsdeschenes in #113278
- Extract state keeping from state changes in provider by @narsaynorath in #113211
Tsc
- UsageHistory endpoint to apiOptions by @TkDodo in #113672
- Invoices endpoint to apiOptions by @TkDodo in #113548
- UsageLogs endpoint to apiOptions by @TkDodo in #113647
- Billing-seats endpoint to apiOptions by @TkDodo in #113685
- CheckIns endpoint to apiOptions by @TkDodo in #113273
- Trace item stats to apiOptions by @TkDodo in #113299
- Projects endpoint to apiOptions by @TkDodo in #113045
- Ai-conversations endpoint to apiOptions by @TkDodo in #113287
- :key and :key/values endpoint to apiOptions by @TkDodo in #113275
- Explore saved queries endpoint to apiOptions by @TkDodo in #113292
- Group-search-views endpoint to apiOptions by @TkDodo in #113280
- Replays endpoint to apiOptions by @TkDodo in #113158
- Profile events endpoint to apiOptions by @TkDodo in #113163
- Open-period endpoint to apiOptions by @TkDodo in #113167
- Dashboards endpoint to apiOptions by @TkDodo in #113068
- Keys endpoint to apiOptions by @TkDodo in #113053
- Repos endpoint to apiOptions by @TkDodo in #112926
- Members endpoint to apiOptions by @TkDodo in #113023
- Teams endpoint to apiOptions by @TkDodo in #113033
- ProjectTeams endpoint to apiOptions by @TkDodo in #113063
Ui
- Change bulk delete modal text from 'automations' to 'alerts' by @souredoutlook in #113631
- Scope
isDrawerOpentouseDrawercallsite by @natemoo-re in #113629 - Add jest/swc transform cache to frontend-optional workflow by @scttcper in #113086
- Prefer InfoTip for page title help by @JonasBa in #113026
Viewer Context
- Remove legacy header fallback by @gricha in #113592
- Switch observe helper to sentry_sdk.metrics.count by @gricha in #113260
Other
- (agents) Remove Gen AI cost warning captureMessage calls by @obostjancic in #113653
- (aws-lambda) Remove legacy pipeline views by @evanpurkhiser in #113075
- (bitbucket) Remove legacy pipeline views by @evanpurkhiser in #113327
- (chartcuterie) Restrict browser imports in chartcuterie files by @DominikB2014 in #113187
- (claude-code) Remove legacy pipeline views by @evanpurkhiser in #113329
- (cursor) Remove legacy pipeline views by @evanpurkhiser in #113330
- (deps) Bump taskbroker-client from >=0.1.8 to >=0.1.9,<1 by @untitaker in #113603
- (discord) Remove legacy pipeline views by @evanpurkhiser in #113323
- (discover) Remove dead saved query delete code by @priscilawebdev in #113156
- (drawer) Add
shouldLockScrolloption by @natemoo-re in #113245 - (eslint) Directly extend from tseslint preset configs by @JoshuaKGoldberg in #113189
- (fetch_commits) Unify commit fetch interfaces by @armenzg in #113281
- (github) Remove legacy pipeline views by @evanpurkhiser in #113338
- (gitlab) Remove legacy pipeline views by @evanpurkhiser in #113322
- (incidents) Add serializer parity test for incident activity by @kcons in #113010
- (insights) Remove starfish-view feature flag by @gggritso in #113435
- (issue-details) Use shared Sticky for event nav by @priscilawebdev in #113514
- (logs) Use primary button variant for Save As action by @JonasBa in #113380
- (metrics) Update Android and Java onboarding to require SDK 8.34.0 by @markushi in #113150
- (opsgenie) Remove legacy pipeline views by @evanpurkhiser in #113324
- (page-frame) Compact editable titles in topbar for dashboards and monitors by @JonasBa in #113574
- (pageFrame) Move texts into subTitle of SettingsPageHeader by @TkDodo in #113521
- (pagerduty) Remove legacy pipeline views by @evanpurkhiser in #113325
- (pagination) Reduce unnecessary overquerying in CombinedQuerysetPaginator by @kcons in #113200
- (perforce) Add gdx as integration owner by @Dav1dde in #113689
- (profiling) Remove differential flamegraph page flag by @mjq in #113014
- (project-detail) Use relative period params for previous period queries by @gggritso in #113100
- (projects) Use collapse=organization on project details fetches by @scttcper in #113186
- (replays) Use generic /events/ endpoint in useReplayData by @mjq in #113346
- (repositories) Default
is_rate_limited_errorto False by @wedamija in #113366 - (scm) Implement sentry-scm dependency by @cmanallen in #112969
- (sdk) Allow to disable threading integration by @gi0baro in #113154
- (seer-slack) Move organization resolution to control by @leeandher in #113107
- (slack) Remove legacy pipeline views by @evanpurkhiser in #113321
- (snapshots) Bump sentry-cli to 3.4.0 by @lcian in #113409
- (stories) Automatic categories via index by @natemoo-re in #113506
- (theme) Migrate shadows by @natemoo-re in #112997
- (trace) Remove new trace summary tab by @nsdeschenes in #113663
- Upgrade sentry-scm to 0.5.0 for GitLab token refresh fix by @billyvg in #113658
- Fix 'occured' -> 'occurred' typos across sentry_apps, UI, and loader templates by @SAY-5 in #113145
- Bump protos to 0.8.13 by @noahsmartin in #113476
- Bump devservices to 1.3.1 by @joshuarli in #113393
- Bump new development version by @sentry-release-bot[bot] in 3136d52d
Other
- ref(seer) remove seer border by @JonasBa in #113710
- devenv: optional gcloud by @joshuarli in #113709
- feature(seer agent): change styling of input bar and message bubbles by @sehr-m in #113630
- feature(seer agent): icon changes by @sehr-m in #113632
- styles(scraps): Subtract top from SlideOverPanel height by @Zylphrex in #113610
- styles(autofix): Format autofix message content as markdown by @Zylphrex in #113433
- ref(cmdk) improve nesting structure by @JonasBa in #113152
- enh(code-mappings): Improve bulk code mappings validation error message for wrong mappings format by @romtsn in #113296
- types: Move sentry.search.events.filter from mypy ignore to stronglist by @kcons in #113191
- Add logger warnings for display name filter action by @geoffg-sentry in #113168
- Display name validation and filtering for apps and orgs by @geoffg-sentry in #113106
- Fix/monitors UI copy by @souredoutlook in #113050
- Add project auth checks in external issue creation and deletion by @geoffg-sentry in #112709
- Restrict allowed values in sentry.conf.py for feature-flags by @geoffg-sentry in #112980
26.4.0
New feature
Notable features
- Workflow engine created_by search filters in alerts and workflow index
- Inline and API environment creation capabilities
- AI-detected issue type mapping to new groups
26.3.1
New feature
Notable features
- Autofix user feedback in rethinking steps
- Bulk code mappings API endpoint
- Dashboard text widget support
26.3.0
New feature
Notable features
- Alert API backwards compatibility across endpoints
- AI conversation interface redesign and onboarding
- Assets page platform migration
26.2.1
New feature
Notable features
- GitHub Copilot license modal for autofix
- DSN lookup in command palette
- AI-powered uptime assertion suggestions
26.2.0
New feature
Notable features
- Issue category and type filtering in alerts
- Workflow engine API deduplication
- Metric alert open period timeline
26.1.0
New feature
Notable features
- ACI alert search and sorting
- Trace metrics alert type support
- GitHub code review webhook integration