This release includes breaking changes for platform teams planning a safe upgrade.
Published 16d
Error & Performance Tracking
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
apm
crash-reporting
crash-reports
csp-report
devops
django
+8 more
error-logging
error-monitoring
fair-source
monitor
monitoring
python
sentry
tag-production
Summary
AI summaryRoutine maintenance release for sentry.
Full changelog
New Features ✨
Aci
- Add organizations:workflow-engine-metric-alert-endpoints-delete flag to allow deletes in the legacy API in #115382
- Add deprecation headers to legacy rule endpoints in #114080
- Add a warning banner for no connections on an Alert by @saponifi3d in #114772
Agent Ui
- Track analytics event when explorer session times out by @aliu39 in #115350
- Add session timeout detection by @aliu39 in #115147
Autofix
- Add feature flag for seer-autofix-introspection by @Zylphrex in #115503
- Support coding agents from plan step by @Zylphrex in #115335
- Link read_file to exact line if available by @Zylphrex in #115292
- Add high-level autofix settings update helper in #115037
- Disable rethink when textarea empty by @aliu39 in #112896
- Better autoscroll on autofix drawer by @Zylphrex in #114869
Cells
- Populate org listing fields on control serializer by @lynnagara in #115513
- Remove legacy organization invite path by @lynnagara in #115198
- Remove features from the org listing endpoint by @lynnagara in #115007
- Remove features from organization summary by @lynnagara in #115000
- Drop deprecated requireEmailVerification field by @lynnagara in #115003
- Start replicating organization avatar by @lynnagara in #114999
- Replicate OrganizationAvatar to OrganizationAvatarReplica via outbox in #114781
Cmdk
- Default to keepPreviousData in cmdkQueryOptions in #115085
- Add webhooks keyword to Custom Integrations action by @JonasBa in #114974
Codeowners
- Support excluding subdirectories via no-owner rules in #115322
- Display exclusion rules in ownership rules table in #115391
Dashboards
- Repair MCP dashboard widget filters in #115543
- Render widget thresholds in Slack unfurl chartcuterie chart in #115384
- Use widget-aware chart type for Slack unfurl in #115313
- Add widget-aware chartcuterie chart type by @DominikB2014 in #115312
- Avoid issue assignee row fetches by @scttcper in #115296
- Suggest Sentry Built dashboards in empty custom state by @DominikB2014 in #115104
- Create HeatMapWidgetVisualization component by @gggritso in #114916
- Add
app.vitals.*support to mobile vitals dashboards by @buenaflor in #113046 - Add All Dashboards tab and rename existing to Custom by @DominikB2014 in #114904
Dynamic Sampling
Explore
- Heat map tooltip surfaces z-axis value alongside y-axis bucket in #115560
- Enable heat map tooltips on click in #115413
- Hide arrays behind feature flag to avoid any production failures by @manessaraj in #115295
- Support array-includes query syntax (
field[*]:value) by @manessaraj in #115070 - Raise top events color max from 5 to 9 by @JoshuaKGoldberg in #114890
Forms
- Migrate Sentry App schema forms behind a flag by @priscilawebdev in #114953
- Expose a unified form.ResetButton in #115072
- Add sentry-app-schema-form-migration flag in #114945
Heatmap
Issues
- Implement UI for new Seer actions included in issue activity by @shashjar in #115525
- GA new stack trace frontend by @scttcper in #115520
- Record Seer events for display in the issue activity timeline by @shashjar in #115486
- Add structured LLM context to saved issue views route by @Mihir-Mavalankar in #115438
- Add more samples links to Slow DB Query evidence by @scttcper in #114938
- Clean up empty state project lookup by @scttcper in #114652
Iswf
- Updates retry ignore/silence lists for Sentry App tasks by @GabeVillalobos in #115005
- Removes retry decorator from workflow_engine tasks by @GabeVillalobos in #114937
- Bumps version for taskbroker-client, updates instrumented_task decorator by @GabeVillalobos in #114936
Logs
- Add copy link action to logs table row cell menus by @JonasBa in #115221
- Update backend instrumentation for sync export path by @manessaraj in #114891
Onboarding
- Add stream_gen_ai_spans to Python agent monitoring init options in #115470
- Add streamGenAiSpans to JS agent monitoring init options by @obostjancic in #115371
- Add platformProductInfo.generated.ts for SCM info-only platforms by @jaydgoss in #115092
- Add platformProductInfo codegen script by @jaydgoss in #115177
Otlp
Ourlogs
- Increase infinite query timeouts to 15s with increasing 30s continuations by @JoshuaKGoldberg in #113999
- Add ourlogs-schema-hints-removal feature flag in #115108
- Remove schema hints behind feature flag / query parameter in #115109
- Add ourlogs-pinning flag by @JoshuaKGoldberg in #115073
- Bump export modal select default value from 100 to 500 for release to GA by @JoshuaKGoldberg in #115008
Preprod
- Wire up snapshot_status search field in frontend in #115596
- Add snapshot_status search field with comparison state filters in #115580
- Make snapshot image detail endpoint comparison-aware by @NicoHinderling in #115572
- Handle no_base_build comparison state in snapshot table by @mtopo27 in #115562
- Add latest-base snapshot lookup endpoint by @NicoHinderling in #115498
- Add single-image metadata endpoint for snapshots by @NicoHinderling in #115495
- Add compact_metadata param to snapshot details endpoint by @NicoHinderling in #115494
- Add PR comments for snapshot base-build edge cases by @NicoHinderling in #115460
- Add Snapshot Settings link to snapshot details menu by @mtopo27 in #115481
- Add auto_approved status to snapshot UI by @mtopo27 in #115388
- Add grace period before failing status check for missing base by @NicoHinderling in #115448
- Add auto_approved status to snapshot approval in #115291
- Add timeout warning for image optimization insights by @NicoHinderling in #115216
- Add description and tags fields to ImageMetadata by @NicoHinderling in #115220
- Add CSV download to size compare items changed table by @mtopo27 in #115202
- Add logging when builds are filtered out by quota or project settings by @NicoHinderling in #115195
- Add per-category controls for snapshot PR comments UI in #114838
Repos
- Add sync now button and polling logic in repos v2 by @evanpurkhiser in #114998
- Move sync status from footer into per-install repository count tag by @evanpurkhiser in #114865
- Add installation settings button and drawer in repos v2 by @evanpurkhiser in #114792
Seer
- Populate SeerAgentRun alongside SeerRun in agent client in #115601
- Add GitLab support to seer preferences endpoint in #115424
- Add Seer plan flags to structured context check by @Mihir-Mavalankar in #115571
- Pass api.web referrer from autofix UI by @chromy in #115546
- Add reaction_added webhook handler for Seer agent feedback by @leeandher in #115490
- Add CLI, Linear agent, and MCP autofix referrers by @chromy in #115514
- Accept referrer input on GroupAutofixEndpoint by @chromy in #115497
- Expose replay search RPC by @JoshFerge in #115500
- Wire explorer chat write site through SeerRun outbox by @trevor-e in #115231
- Wire legacy autofix write site through SeerRun outbox by @trevor-e in #115228
- Add outbox receiver for SeerRun creation by @trevor-e in #115111
- Enable context engine for all Seer plan orgs in explorer in #115452
- Add structured LLM context for logs and releases pages by @Mihir-Mavalankar in #115293
- Add feature flag to enable Code Mode for Slack Explorer by @azulus in #115233
- Add structured LLM context for issue taxonomy pages in #115153
- Copy changes and fixup links between pages by @ryan953 in #114918
- Make the Autofix settings open in a drawer from the org settings page by @ryan953 in #114933
- Create Seer sub-nav items, and SCM requirement interstitial by @ryan953 in #114896
- Suppress re-triage of skipped issues in night shift by @trevor-e in #114915
- Add event-specific LLM context hint for issue event route by @Mihir-Mavalankar in #114926
- Add check for
seer-gitlab-supportin the/seer/onboarding-check/endpoint by @ryan953 in #113851 - Move seer default settings into flyout panels & rm overview page by @ryan953 in #114599
- Add check for
seer-gitlab-supportto billing/subscription screens by @ryan953 in #113855 - Add check for
seer-gitlab-supportto the seer config reminder by @ryan953 in #113852
Sentry Apps
- Use RPC recipient resolution in webhook disable notifications by @Christinarlong in #115157
- Validate org membership before sending webhook disable emails in #114799
- Add disable/enable toggle to _admin sentry app details by @Christinarlong in #114910
- Skip webhook dispatch for disabled sentry apps by @Christinarlong in #114620
- Allow staff to toggle is_disabled via existing CRUD endpoint by @Christinarlong in #114777
Settings
Slack
- Update Seer linking message after identity link by @alexsohn1126 in #114752
- Default Explore unfurl interval to match frontend by @DominikB2014 in #114867
Snapshots
- Move snapshot endpoints into their own subfolder by @NicoHinderling in #115501
- Add success logs for PR comments and status checks in #115437
- Add frontend logic for downloading images zip by @NicoHinderling in #115338
- Add endpoint for downloading images zip by @NicoHinderling in #115337
- Add context.test_file_path to snapshot JSON metadata by @mtopo27 in #115112
Spans
- Add duplicate span detection metrics to process-segments consumer by @untitaker in #115190
- Add opt-in logging for flushed segments by @untitaker in #114989
- Add semantic partitioning option for segments consumer by @untitaker in #114992
Trace Waterfall
- Updates to useTraceMeta by @nsdeschenes in #115179
- Add links to cross event from logs and metrics by @nsdeschenes in #114852
Ui
- Add keywords for theme switching in Command Palette in #114970
- Replace MemberListStore with React Query in #114658
Other
- (ai-conversations) Emit Sentry event on empty conversation detail page by @obostjancic in #115368
- (auth) Add SuspendedUserMiddleware safety net in #114771
- (billing) Use Intercom for ask Support links in #115527
- (checkout) Use Intercom for ask Support link by @souredoutlook in #115218
- (ci) Retry getsentry-dispatch by @joshuarli in #115309
- (data-export) Add Sentry trace metrics for export outcomes in #115575
- (endpoints) Add option to disable all project fetching in relay endpoints by @tobias-wilfert in #114947
- (eslint) Enable @typescript-eslint/no-unnecessary-type-arguments by @JoshuaKGoldberg in #113674
- (events) Add experimental api for events that allows sql by @wmak in #115330
- (export) Update Storgae config for full trace export for Logs by @manessaraj in #114065
- (external-issues) Use LLM generated title/description for ticket creation by @leeandher in #114760
- (highlights) New loading state, stronger project types in #115352
- (insights) Show source frames for slow DB spans by @scttcper in #115286
- (integrations) Include organization_id in response tracking logs by @armenzg in #113903
- (issue-detection) Tier-based traces per invocation by @roggenkemper in #114331
- (playstation) Add feature for uploading attachments to object store by @tobias-wilfert in #114956
- (process-segments) Add span deduplication filtering by @untitaker in #115283
- (projects) Load project stats with react query, remove ProjectsStatsStore in #115463
- (replays) Add replay dataset back to events by @wmak in #114234
- (repositories) Filter out active repositories from the sync in #115034
- (scm) Allow fetching by org/repo-name in #114369
- (scraps) Markdown component by @natemoo-re in #115025
- (search) Add userCount filter key to issue search autocomplete by @isaacwang-sentry in #114823
- (search-query-builder) Add custom currency filter by @nsdeschenes in #114713
- (seer-explorer) Add polling backoff for 5xx errors in #115538
- (seer-slack) Add slack link parsing and insert slack thread info by @alexsohn1126 in #114442
- (slo) Add SLO instrumentation to Jira search endpoint in #114513
- (slot) Automatically bridge known contexts by @natemoo-re in #114548
- (trace-meta) Add trace metrics by @wmak in #115107
- (tracemetrics) Add Equation UI to Widget Builder in #115071
- (types) Split Project into ProjectSummary and DetailedProject by @scttcper in #115024
- (typing) Add pre-commit hook to prevent new weaklist additions by @armenzg in #114761
- (viewer-context) Add seer_rpc_in + org_seer_rpc_in chokepoints in #115577
- (webhooks) Add live-run flag to override circuit breaker dry-run by @Christinarlong in #114820
- Extend performance profiles to V2 spans by @loewenheim in #115203
- Allow interval on heatmap endpoint by @wmak in #115010
- Add a random duration task for testing by @evanh in #114858
Bug Fixes 🐛
Aci
- Require AlertRuleWorkflow IDs to be ints by @kcons in #115245
- Add workflow ID to ActionInvocation by @kcons in #114770
- Revalidate medium threshold when high threshold changes in #114923
- Update the query filters to show
monitorinstead ofdetectorby @saponifi3d in #114800
Ai Conversations
- Fix page filter race condition on conversation detail page by @obostjancic in #115366
- Handle Python repr format and structured system prompts in AI trace view by @obostjancic in #115054
- Fix page filter isolation, project=-1, and datetime URL params by @vgrozdanic in #114965
Api
- Replace % formatting with string concatenation in count_hits to resolve Semgrep warning by @fix-it-felix-sentry in #114016
- Validate root-cause-analysis query params via serializer by @oioki in #115297
- Validate more user-provided int ids by @kcons in #115299
- Return forbidden for gated events endpoint in #115148
- Validate more user-provided integer ids by @kcons in #114996
- Preserve string array span detail attributes in #114853
Attributes
- Remove duplicate string is_transaction in #115569
- Account for @ in attributes by @nsdeschenes in #115055
Auth
- Conditionally show unlinked member warning based on SSO requirement in #115461
- Prefer session user over IdP email in SSO identity resolution by @michelletran-sentry in #115079
Autofix
- Propagate previous step referrer in #115412
- Read automation settings from detailed project by @scttcper in #115239
- Relax requirements for autofix section to be completed by @Zylphrex in #115084
- Add loading state for starting root cause by @Zylphrex in #114917
Cells
- Bump Organization replication_version to backfill mapping date_created by @lynnagara in #115423
- Replicate Organization.date_added to mapping row in #115325
Charts
- Wire up
visualMapprop in BaseChart in #115101 - Hide overlapping time-series y-axis labels by @JoshFerge in #114972
Codeowners
- Return owner names on sync in #115583
- Display
dateSyncedinstead ofdateUpdatedin CODEOWNERS table in #115136 - Add
date_syncedfield to track actual CODEOWNERS sync time by @shashjar in #115115
Conversations
- Improve conversations table UX by @obostjancic in #115364
- Quote conversation ID in explore query by @obostjancic in #115271
Dashboards
- Clarify mobile vitals app starts in #115264
- Use span.op for MCP pre-built dashboard filters by @gggritso in #115540
- Render unfurl chart with dual Y axes for multi-aggregate widgets by @DominikB2014 in #115411
- Invalidate dashboards list and grid on delete in #115354
- Exempt details widgets from limit validation in #115170
- Preserve prebuilt globalFilter chips when cloning by @DominikB2014 in #115081
- Close widget viewer modal when releases drawer opens by @skaasten in #114768
- Default text widgets to 1 row tall by @jameskeane in #114898
- Include threshold changes in revision diffs in #114607
- Match widgets by content fingerprint when IDs differ and titles are non-unique by @skaasten in #114578
- Show current version when no revisions exist by @skaasten in #114718
Explore
- Update PHP perf onboarding docs by @nsdeschenes in #115367
- Fix flaky virtual streaming test assertions by @ryan953 in #114928
- Add autoFocus to save query modal input by @JonasBa in #114742
- Check object perms on post by @klochek in #114318
Insights
- Span id link overflow by @nikkikapadia in #115380
- Validate project access for starred segments in #115418
Integrations
- Preserve async select value in external issue modal after dynamic refetch in #115593
- Allow blank overview on sentry app form by @priscilawebdev in #114946
- Validate integration_id in OrganizationIntegrationBaseEndpoint by @kcons in #114821
Issue Detection
- Remove 200-char subtitle truncation for AI-detected issues by @roggenkemper in #115556
- Remove test environments from eligibility by @roggenkemper in #114983
Issues
- Render assigned user avatars from member list in #115619
- Resolve custom tag / column name collision in events tab & timeline chart in #115416
- Resolve custom tag / column name collision on issue details page by @shashjar in #115096
- Migrate data conditions away from old group type categories by @ceorourke in #114614
- Return 400 for invalid action on group integration details by @mrduncan in #114657
- Scope get_shared_for_org to the slug-resolved organization by @oioki in #114906
- Fix typo "withing" → "within" in status_change comment in #114911
Iswf
- Fixes typing issues in Sentry App tasks, post_process tasks by @GabeVillalobos in #115012
- Ensure Jira installed webhook JWTs only use the HS256 algorithm by @GabeVillalobos in #114738
Jest
- Make command palette tests deterministic by mocking debounce in #115316
- Mock Algolia search in command palette test to prevent timeout by @sentry in #115314
Onboarding
- Mobile style tweaks for SCM onboarding by @jaydgoss in #115426
- Center the SCM detection loading indicator in #115404
- Add logs to browser JS and SolidStart product selection in #115399
- Register Replay integration during onboarding flow by @jaydgoss in #114774
Ourlogs
- Use
replaceMergefor time series visualization axes in #115551 - Stabilized column widths during scrolling by @JoshuaKGoldberg in #115389
- Add actions menu to timestamps too by @JoshuaKGoldberg in #115180
- Hide axis pointer label on collapsed spark line chart by @JoshuaKGoldberg in #115276
- Add min-height of 20vh or 15rem to page main items by @JoshuaKGoldberg in #115272
- Correct logs modal exports payload data by @JoshuaKGoldberg in #114964
- Only show LogsAggregateTable top result colors on first cursor page by @JoshuaKGoldberg in #114873
- Add minWidth to LogsInfiniteTable by @JoshuaKGoldberg in #114864
- Only constrain page for Logs (samples) mode by @JoshuaKGoldberg in #114725
Preprod
- Fix snapshot list scroll-to and duplicate React keys in #115396
- Clarify rerun analysis description in admin page by @NicoHinderling in #115340
- Quote CSS mask-image URLs to handle special characters by @NicoHinderling in #115318
- Improve snapshot status filter behavior by @NicoHinderling in #115224
- Get snapshot PR comments from detailed project in #115173
- Get snapshot status checks from detailed project in #115139
- Add exponential retry for GitHub API calls in snapshot tasks in #114272
- Use display_name for snapshot sidebar labels in #114710
- Raise expiry_seconds on Objectstore upload token by @lcian in #114844
- Ensure artifact belongs to accessible project by @klochek in #114446
Profiling
- Specific API error copy for flamegraphs and thresholds by @JoshuaKGoldberg in #114971
- Use granular transactionResult properties in useMemo deps for continuousFlamegraph too by @JoshuaKGoldberg in #114855
- Use granular transactionResult properties in useMemo deps by @JoshuaKGoldberg in #114757
Releases
- Prevent row-lock contention on last_seen bump by @yuvmen in #115443
- Handle integration token states in releases promo by @gggritso in #115254
Replay
- Use makeReplaysPathname for replay URLs and fix flaky tests by @ryan953 in #115137
- Preserve player time when toggling sidebar chevron by @JoshuaKGoldberg in #114987
Replays
- Use Spans dataset when fetching contents of "Trace" tab by @gggritso in #115530
- Cap Mobile Replay
<video>element pool by @gggritso in #115403 - Make sure the replay player doesn't reset on a background update by @TkDodo in #115052
Repositories
- Fix serialization error during repo sync in #114880
- Convert repository sync api to be a control endpoint by @wedamija in #114797
Search
- Prevent AI query feedback button from dismissing dropdown in Safari by @isaacwang-sentry in #115219
- Fix userCount filter for issues-stats endpoint by @isaacwang-sentry in #114877
Search Query Builder
- Allow wildcard ops for all string filters by @nsdeschenes in #114959
- Only highlight on string attributes by @nsdeschenes in #114948
Seer
- Prevent duplicate assisted-query submissions in #115566
- Record user initiator for manual explorer handoffs in #115558
- Preserve recommended sort order for unscored issues in night shift by @trevor-e in #115444
- Normalize U+F00D wildcard operators in snapshot_to_markdown in #115397
- Iterate on the Add Project to Autofix form to make it work better in #115306
- Add sent_at timestamp to autofix PR analytics events by @trevor-e in #115341
- Use IntoTip instead of QuestionTooltip in Core Review table by @ryan953 in #115308
- Let
manage your repository connectionsopen in a new tab by @ryan953 in #115289 - Use hash-based jitter for night shift org dispatch by @trevor-e in #115189
- Use self.get_projects() in OrganizationAutofixAutomationSettingsEndpoint by @srest2021 in #114977
- Improvements in #114881
- Stop on-completion hook from re-pushing terminally errored repos in #114885
Settings
- Defer sentry app form mount until data loads by @priscilawebdev in #115162
- Always fetch detailed project in route context in #115149
- Collapse unused fields in team projects requests by @scttcper in #114886
Slack
- Skip explore unfurls for unsupported chart types in #115374
- Drop empty list filter values when unfurling dashboards by @DominikB2014 in #115273
- Hash arg values when deduping unfurled links by @DominikB2014 in #115200
- Use logsAggregateSortBys for explore logs unfurl chart sort by @DominikB2014 in #114984
- Drop stale aggregateSortBys in metrics explore unfurl by @DominikB2014 in #114982
- Clamp too-fine URL interval in explore unfurl to ladder minimum by @DominikB2014 in #114985
- Categorize unrecognized Slack API error codes in #114804
- Render first visible metric chart in Explore unfurl by @DominikB2014 in #114871
- Forward all yAxes when unfurling Explore metrics URLs by @DominikB2014 in #114868
Snapshots
- Show 'Waiting for base' instead of 'Base' when base artifact not found in #115446
- Preserve scroll position when switching diff modes in list view by @NicoHinderling in #115001
- Fix docs link by @mtopo27 in #114857
Span Buffer
- Fix another process leak by @untitaker in #115050
- Fix flusher processes leaking on timeout by @untitaker in #114955
Spans
- Remove conditional cleanup to fix flush lock double-flush bug by @untitaker in #114883
- Release flush lock in done_flush_segments in #115169
Tracemetrics
- Use stricter value for selector options by @nsdeschenes in #115479
- Fix palette differences between table and viz by @k-fish in #115282
Typing
- Remove snuba modules from the mypy weaklist by @kcons in #115439
- Remove more of sentry.incidents from the weaklist by @kcons in #115304
- Remove sentry.incidents.serializers from the mypy weaklist by @kcons in #115232
Ui
- Allow tooltips inside hovercard in #115590
- Separate issues feed overlay groups in #115576
- Rank trace group by matches with fzf in #115032
- Table header icon size in #114913
Workflows
- Require int ids in AlertRuleDetectorValidator by @kcons in #115510
- Don't report timeouts as errors in process_workflow_event or delayed_workflows by @kcons in #115215
- Require action_filters to be a list of dicts by @kcons in #114860
Other
- (agent-ui) Derive staleness from a direct check w/scheduled rerender by @aliu39 in #115344
- (ai) Mirror AI conversation message parsers in #114707
- (alerts) Return 400 when trigger IDs don't belong to the alert rule being updated in #115573
- (Anomaly Detection) Verify the users project permissions in #114900
- (avatar) Add cached fallback to AsyncMemberAvatar by @natemoo-re in #115554
- (backendJsonFormAdapter) Convert disabledReason to disabled string in #114847
- (checkboxState) Update useListItemCheckboxContext to not rely on ApiQueryKey directly, only QueryKeyEndpointOptions in #114997
- (ci-st) Don't print confusing 0 test count if all tests are selected by @joshuarli in #115305
- (data-forwarding) Better permissions controls on editing page in #114966
- (digests) Don't filter by RuleSnooze by @kcons in #115229
- (discover) Guard against undefined items in collectQueryStringByKey by @sentry in #115469
- (eap) Normalize dashed UUIDs in search filters and resolve internal column names by @BYK in #114550
- (eslint) Inline disable new violations in #114941
- (events) Invert PS/AMD logos in dark mode by @priscilawebdev in #115369
- (feature-flags) Use sm text in tooltip date by @priscilawebdev in #115159
- (feedback) Disallow OR/AND operators in feedback search by @mrduncan in #115113
- (gsAdmin) Update admin portal contact channel and owner link by @swartzrock in #114399
- (identity) Remove bogus email_verified from VSTS identity providers by @michelletran-sentry in #114863
- (logs) Correct Date.now mock in virtual streaming test by @sentry in #114793
- (migrations) Catch missing historical_silo_assignments on MOVE_TO_PENDING by @wedamija in #115087
- (mypy) Remove stale weaklist entry for deleted test file by @NicoHinderling in #115204
- (nightshift) Make the (temporary) alert be a system alert, no rounded corners in #114921
- (oauth) Prevent session overwrite attack in authorization flow by @semgrep-code-getsentry in #113791
- (occ-eap) Prevent throw on None stack frame in #115395
- (ownership) Show specific error messages when ownership rule owners are invalid by @shashjar in #114802
- (release-health) Add stable processing jitter by @JoshFerge in #115507
- (repos) Fix virtualized repo list scroll container in non-nested mode in #114901
- (sdk-crash) Exclude React Native Supabase instrumentation from SDK crash detection by @antonis in #115259
- (seer-explorer) Clear input when switching sessions or starting new chat in #115440
- (seer-slack) Change thinking status by @alexsohn1126 in #115280
- (sentry-apps) Gate dashboard stats queries by @priscilawebdev in #115056
- (sentryapps) Need GET to be exception cased to view the app status in _admin by @Christinarlong in #114980
- (slack-unfurl) Preserve multiple groupBy entries on explore unfurl by @DominikB2014 in #114862
- (snuba) Map ClickHouse 'Too many simultaneous queries' to 429 instead of 500 by @BYK in #114551
- (superuser) Improve banner ux by @priscilawebdev in #115168
- (test) Fix flaky filesChanged test by using regex matcher by @ryan953 in #114975
- (tests) Fix missing control silo urls in test by @wedamija in #114870
- (trace-details) Show replacement attributes when no deprecated source exists in #114943
- (trace-meta) Fix types for EAP Trace Meta by @nsdeschenes in #115553
- (traces) Add null state to application metrics dropdown in #115617
- Allow reading multiple env secrets for Launchpad in #115632
- Wrap custom tags project_id and project.name by @cobyeastwood183 in #115402
- Mypy-weaklist-stale-on-delete by @joshuarli in #115213
- Be less strict when parsing apiUrls by @TkDodo in #114978
- Disable billing platform exception logging by @noahsmartin in #114872
Documentation 📚
- (spans) Update span buffer docs by @lvthanh03 in #115483
- Document Application Metrics dataset in #115089
Internal Changes 🔧
Aci
- Update API docs landing page description by @ceorourke in #115509
- Remove beta tag on API docs by @ceorourke in #115284
- Use addErrorMessage for detector mutation errors by @evanpurkhiser in #115205
- Update new monitor page copy in #115158
- Narrow latest group detector query by @scttcper in #115027
- Move metric issues into generic post processing pipeline by @ceorourke in #114786
Agents
- Clarify frontend typecheck command in #115421
- Better instructions for using apiOptions by @TkDodo in #114949
Alerts
- Remove metric alert constraint on NotificationMessage by @ceorourke in #115529
- Move spike protection API docs to their own section by @ceorourke in #115521
- Drop IncidentTrigger model by @ceorourke in #115502
- Remove IncidentTrigger model by @ceorourke in #115492
- Remove a couple more usages of IncidentTrigger by @ceorourke in #115458
- Delete triggered_incidents from AlertRuleTrigger by @ceorourke in #115454
- Remove triggered_for_incident from tests in #115451
- Remove triggered_incidents from AlertRuleTrigger in #115449
- Remove usage of IncidentTrigger in #115436
- Drop RuleFireHistory table in #115401
- Remove RuleFireHistory in #115328
- Remove metric alerts dual processing log flag by @ceorourke in #115342
- Remove issue alert columns from NotificationMessage by @ceorourke in #115290
- Remove unused incident endpoint code by @ceorourke in #115250
- Remove dead alerts code by @ceorourke in #115301
- Remove unused incidents code by @ceorourke in #115236
- Drop SystemAlerts from the init queue component map by @evanpurkhiser in #115223
- Remove issue alert constraints on NotificationMessage by @ceorourke in #115150
- Remove dead standalone SystemAlerts mount by @evanpurkhiser in #115222
- Unpublish legacy rule endpoints by @ceorourke in #115154
- Adopt useModal in issue rule actions in #115119
- Remove should_fire_workflow_actions in #115083
- Drop NeglectedRule table by @ceorourke in #114976
- Remove NeglectedRule model by @ceorourke in #114927
Autofix
- Style artifact preview by @Zylphrex in #115478
- Add more prompt metadata to autofix in #115408
- Adopt useModal in autofix views by @evanpurkhiser in #115126
- Replace derived state with useMemo in autofixProgressBar in #115146
Billing
- Bumped protos to 0.10.0 in #115609
- Bumped protos version to 0.8.32 in #115419
- Adopt useModal in billing views by @evanpurkhiser in #115129
- Add better extras to logs by @brendanhsentry in #115209
- Update metrics sample rate by @brendanhsentry in #115106
- Update plan features copy and remove Developer plan changes link by @souredoutlook in #114824
Cells
- Remove cell restriction code for Jira and integrations by @lynnagara in #115508
- Rename SENTRY_OUTBOX_MODELS key from REGION to CELL by @lynnagara in #115210
- Assert control org listing matches cell response in #114919
- Remove dead OrganizationRegionEndpoint in #114791
Ci
- Skip importing irrelevant test files during pytest collection in #114107
- Route postgres through Unix domain socket in CI in #114108
- Re-apply parallel devservices startup for backend tests by @mchen-sentry in #114104
Codeowners
- Clean up in #115237
- Improve logging & testing for
update_code_owners_schematask by @shashjar in #115348 - Improve logging & testing for
code_owners_auto_synctask by @shashjar in #115347
Cross Events
- Remove flag registration in #115267
- Clean up feature flag by @nsdeschenes in #115263
- Temp disable traces tab and add new checks by @nsdeschenes in #114854
Dashboards
- Replace derived state in editAccessSelector in #115155
- Use VisualizationWidget for all dataset types in #114622
- Adopt useModal in dashboard revisions in #115122
- Lower default async queue parallel limit to 15 by @DominikB2014 in #115076
- Drop DashboardLastVisited table by @wedamija in #114930
- Remove DashboardLastVisited model by @wedamija in #114929
- Remove top_n and stacked_area display type handling by @DominikB2014 in #114903
- Improve number formatting documentation in #112410
Deps
- Bump taskbroker-client and relax bump_version lint by @untitaker in #115281
- Bump urllib3 from 2.6.3 to 2.7.0 by @dependabot in #115298
- Bump lxml from 5.3.0 to 6.1.0 by @dependabot in #115060
- Bump mistune from 2.0.4 to 3.2.1 by @dependabot in #115260
- Bump django from 5.2.12 to 5.2.14 by @dependabot in #115261
- Bump cryptography from 46.0.5 to 46.0.7 by @dependabot in #115061
- Bump requests from 2.32.4 to 2.33.0 by @dependabot in #115062
- Bump pillow from 12.1.1 to 12.2.0 by @dependabot in #115059
- Update mypy to 1.20.2 by @JoshFerge in #114969
Deps Dev
- Bump pytest from 8.1.2 to 9.0.3 by @dependabot in #115057
- Bump terser from 5.40.0 to 5.46.2 by @dependabot in #114826
Explore
- Migrate context.tsx to nuqs by @ryan953 in #115435
- Migrate replayQueryParamsProvider to nuqs by @ryan953 in #115422
- Inline and remove getIdFromLocation helper by @ryan953 in #115442
- Deprecate getQueryFromLocation by @ryan953 in #115427
- Move updateNullableLocation to utils/url/ in #115415
- Remove flags for overlay charts by @nsdeschenes in #115266
- Adopt useModal in explore views by @evanpurkhiser in #115123
- Extract and re-use search sorting logic by @nsdeschenes in #115194
Feedback
- Adopt useModal in feedback item by @evanpurkhiser in #115124
- Replace derived state in useFeedbackHasNewItems in #115151
Flags
- Remove organizations:alerts-timeseries-comparison registration by @wedamija in #113375
- Remove organizations:symbol-sources gates (backend) by @wedamija in #114993
- Remove organizations:performance-transaction-summary-eap registration by @wedamija in #115015
- Remove organizations:performance-transaction-summary-eap gates (frontend) by @wedamija in #115014
- Remove organizations:integrations-cursor registration by @wedamija in #115017
- Remove organizations:insights-prebuilt-dashboards by @gggritso in #114960
- Remove organizations:integrations-cursor gates (frontend) by @wedamija in #115016
- Remove organizations:symbol-sources gates (frontend) by @wedamija in #114991
- Move 2 should-be-permanent flags to permanent.py by @wedamija in #114934
- Remove organizations:new-organization-member-invite by @wedamija in #114812
- Remove organizations:integrations-deployment by @wedamija in #114990
- Remove organizations:on-demand-gen-metrics-deprecation-query-prefill by @wedamija in #114810
- Remove organizations:app-store-connect-multiple by @wedamija in #114935
- Remove organizations:dashboards-starred-reordering (backend) in #114817
- Remove organizations:continuous-profiling-beta-ui (registration) in #114816
- Remove organizations:dashboards-starred-reordering (frontend) in #114818
- Remove organizations:continuous-profiling-beta-ui (frontend) in #114815
- Make organizations:workflow-engine-log-evaluations permanent in #114803
- Remove organizations:uptime-auto-detected-monitor-emails in #114806
- Remove organizations:normalize_segment_names_in_span_enrichment by @wedamija in #114809
- Remove organizations:on-demand-gen-metrics-deprecation-prefill by @wedamija in #114811
- Remove organizations:on-demand-metrics-query-spec-version-two by @wedamija in #114808
Forms
- Migrate builtInRepositories form by @priscilawebdev in #115053
- Migrate loaderScript from legacy form by @priscilawebdev in #115041
Integrations
- Add ExternalActor.source field by @hobzcalvin in #115300
- Remove integration repos tab, rename to Settings by @evanpurkhiser in #115196
- Log Jira issue.updated webhook payloads behind a flag by @hobzcalvin in #114822
Issue Detection
- Increase trace samples for AI Issue Detection by @roggenkemper in #115491
- Add plan_tier to budget_exceeded log by @roggenkemper in #114961
Issues
- Clean up parsing of Seer activity metadata by @shashjar in #115531
- Remove InterimSection in #115355
- Adopt useModal in issue views by @evanpurkhiser in #115128
- Use apiOptions for apple crash report by @scttcper in #114601
- Drop redundant list comprehension in handle_ignored by @mrduncan in #114939
- Remove stack trace coverage legend by @scttcper in #114986
Iswf
- Removes old deprecated retry task decorator by @GabeVillalobos in #115135
- Removes retry decorators from integration-related tasks by @GabeVillalobos in #115028
- Updates deletion and remaining task decorators to taskbroker retries by @GabeVillalobos in #115029
Jest
- Mark flaky Jest tests with it.isKnownFlake() in #115447
- Update flaky test markers based on recent CI data by @ryan953 in #115277
Lint Rules
- Enabling unicorn/refer-native-coercion-functions and fixing violations by @Abdkhan14 in #115078
- Enabling unicorn/no-array-push-push and fixing violations by @Abdkhan14 in #115093
- Enabling 'unicorn/no-zero-fractions' and fixing vi… by @Abdkhan14 in #115077
- Enabling unicorn/throw-new-error' and fixing viola… by @Abdkhan14 in #115074
Onboarding
- Replace deprecated useRouter with useLocation and useNavigate by @cursor in #115453
- Exclude flutter profiling from SCM info cards in #115383
- Migrate storeCrashReports config by @priscilawebdev in #114942
Preprod
- Unify snapshot detail header badges with table status column in #115633
- Extract shared snapshot status derivation for list and detail endpoints in #115604
- Remove approval_status from frontend search attributes in #115588
- Add no_base_build comparison state for snapshots by @mtopo27 in #115561
- Move comparison state badges from Changes to Status column by @mtopo27 in #115506
- Reorder snapshot table columns and show Base badge in Status by @mtopo27 in #115488
- Standardize logging key to preprod_artifact_id by @NicoHinderling in #115462
- Increase process_artifact deadline from 12 to 15 minutes by @NicoHinderling in #115349
- Remove redundant content_hash and fix extra field leakage in snapshot responses by @NicoHinderling in #115323
- Use React components for app size treemap tooltip by @TkDodo in #115045
- Add blocklist to filter internal fields from snapshot metadata tooltip by @NicoHinderling in #114988
- Align snapshot status checks UI with PR comments pattern by @runningcode in #114963
Profiling
- Remove base64 rollout option for profile task payload in #115387
- Remove base64 encoding from profile task payload by @untitaker in #115069
Repos
- Consolidate organizationRepositoriesV2 into organizationRepositories by @evanpurkhiser in #115214
- Remove old SCM integration tree view by @evanpurkhiser in #115175
- Add responsive hiding for repo count tag and manage label by @evanpurkhiser in #115134
- Give repo count tag its own grid column by @evanpurkhiser in #115022
- Move installation callbacks onto ScmInstallation, add ConnectedInstallation wrapper by @evanpurkhiser in #114979
- Extract repo count tooltip logic into a function with early returns by @evanpurkhiser in #114887
- Use lodash sortBy for repo sort in SCM table in #114932
- Add installation settings drawer test in repos v2 by @evanpurkhiser in #114861
Repositories
- Switch over queries for
RepositoryProjectPathConfigto use the newProjectRepositorytable in #115516 - Switch over queries for
SeerProjectRepositoryto useProjectRepositoryin #115456 - Mark
project_repositorycolumn as not null. by @wedamija in #115524 - Backfill the new
ProjectRepositorytable by @wedamija in #115351 - Dual write to the new
ProjectRepositorytable when we create related rows in other tables in #115346 - Add a table to allow us to link a project to a repository in #115331
- Remove most feature flags from repo syncing by @wedamija in #115033
Searchquerybuilder
Seer
- Remove gap and use transparent buttons in explorer drawer header in #115594
- Remove dead ISSUE_SUMMARY_FIXABILITY referrer by @chromy in #115570
- Remove alert source from autofix automation by @chromy in #115568
- Clean up LLM context hint in issue list by @Mihir-Mavalankar in #115565
- Extract explorer sessions into a shared React context by @JonasBa in #115515
- Adopt useModal in seer automation views by @evanpurkhiser in #115131
- Descriptive tool call phrases in context hints by @Mihir-Mavalankar in #115303
- Simplify AskSeerButton and centralize null handling by @JonasBa in #115188
- Remove ExplorerFloatingActionButton by @JonasBa in #115192
- Promote taxonomy routes to stable structured context by @Mihir-Mavalankar in #115191
- Use send_halt_message for identity linking prompt in #115099
- Skip events without stacktraces in lightweight RCA clustering by @yuvmen in #115098
- Promote event routes to stable structured context flag by @Mihir-Mavalankar in #115009
- Promote issue routes to stable structured context flag in #114920
- Drop legacy night-shift columns and kind db_default in #114828
- Genericize night shift result table by @trevor-e in #114790
Seer Explorer
- Rewrite types to use zod schemas in #115206
- Increase stale timeout to 120s in #115386
- Remove unused isVisible and isMinimized props from InputSection by @aliu39 in #115227
Settings
- Adopt useModal in settings views in #115130
- Migrate sentry app form to useScrapsForm by @priscilawebdev in #114138
- Collapse unused fields in project list requests by @scttcper in #115021
Snapshots
- Fix snapshot product doc link in #115410
- Update settings badge from alpha to beta by @mtopo27 in #115275
- Improve responsiveness for snapshot detail view in #114967
Spans
- Add back options for conditional flush cleanup by @lvthanh03 in #115075
- Unregister graduated option
enforce-segment-sizeby @lvthanh03 in #114773
Types
- Add type stubs for prism-line-highlight plugin in #115067
- Narrow type in Promise.catch from any to unknown in #114849
Ui
- Remove dead ClippedBox height callback by @scttcper in #115317
- Remove Ctrl+Shift+1 theme toggle keyboard shortcut by @JonasBa in #114875
Other
- (agent) Refactor interrupt display logic to use a hasSentInterrupt flag by @aliu39 in #115094
- (agent-ui) Use block id instead of timestamp for optimistic block logic by @aliu39 in #115226
- (ai) Add form submit + mutation guidance to migration skill by @priscilawebdev in #115358
- (api) Remove unused fileNameBlocklist constant in #115183
- (app) Flatten root provider chain into a list by @evanpurkhiser in #115311
- (arithmeticBuilder) Replace derived state with useMemo in story by @ryan953 in #115145
- (artifact-bundles) Scope indexing state query to org by @scttcper in #114183
- (assisted-query) Remove old ai_query analytics events and analyticsSource prop by @aliu39 in #115243
- (attributes) Tidy up attribute getter functions by @nsdeschenes in #114846
- (automations) Adopt useModal in action settings by @evanpurkhiser in #115125
- (autopilot) Remove task scheduling for dead autopilot project by @vgrozdanic in #115465
- (billing-platform) Log response in service method wrapper by @brendanhsentry in #115246
- (Capacitor) Update getting started from new projects in #113913
- (cmdk) Migrate command palette identifier lookup to apiOptions in #114835
- (context engine) Add date and time data to context by @Mihir-Mavalankar in #115392
- (crons) Adopt useModal in upgrade CTA in #115118
- (data-forwarding) Ensure DataForwarding page is usable for members/team-admins in #114859
- (ds) Remove reservoir sampling rule by @Dav1dde in #115365
- (dynamic-sampling) Add status to duration metrics in per-org pipeline by @shellmayr in #114954
- (endpoints) Remove old options by @tobias-wilfert in #114951
- (eslint) Fixing violations and enabling no-prototype-builtins rule in #114866
- (events) Adopt useModal in events interfaces by @evanpurkhiser in #115116
- (explorer) Refactor optimistic block state in useSeerExplorer by @aliu39 in #114603
- (feature-flags) Use React components for flag series tooltip by @TkDodo in #114968
- (features) Remove organizations:discover flag in #114895
- (flagpole-wildcard-op) Implementing 'matches' as a flagpole con… by @Abdkhan14 in #115385
- (frontend) Use tsgo for frontend typecheck, upgrade tsgo by @scttcper in #115504
- (gsAdmin) Migrate relocation modals to scraps by @priscilawebdev in #115363
- (insights) Remove usage of
insights-prebuilt-dashboardsfeature flag in #114373 - (issue-details) Use React components for event markline tooltip in #115043
- (lint) No-non-null-assertion in scraps by @TkDodo in #115165
- (metrics) Remove now-unused prune_old_open_period_activity task in #114897
- (monitors) Singularize Monitor Type labels by @souredoutlook in #115100
- (mypy) Extend prevent-weaklist-additions hook to also guard disable_error_code section by @joshuarli in #115217
- (occ-eap) Raise missing trace ID log to info by @thetruecpaul in #115088
- (performance) Adopt useModal in performance views in #115121
- (process-segments) Remove semantic partitioning option by @untitaker in #115370
- (projects) Convert deprecated project redirect to hooks by @scttcper in #115249
- (releases) Use React components for mobile builds chart tooltip in #115044
- (relocation) Adopt useModal in relocation admin in #115117
- (replay) Adopt useModal in replay components in #115120
- (rules) Remove references to NeglectedRule in #114894
- (scraps) Update FeatureBadge to use Tag variants with icon-only content in #115064
- (slack) Update chart unfurl link-identity prompt copy by @DominikB2014 in #115086
- (slot) Remove missing-outlet warning by @natemoo-re in #115110
- (st) Add file to test mappings by @joshuarli in #114882
- (supergroups) Drop deprecated
RCASourcein #114912 - (tag) Use gap instead of margins for spacing by @evanpurkhiser in #115020
- (tracemetrics) Refactor equation prefix stripping in alerts by @narsaynorath in #114319
- (tsc) Switch useApiQuery to apiFetch and unify queryKey shape in #114845
- (unfurl) Split explore unfurl parsing per dataset by @DominikB2014 in #114764
- (webhooks) Add log to note stats on who is tripping the breaker by @Christinarlong in #114888
- (workflow_engine) Pass workflow_id explicitly instead of via queryset annotation in #114784
- Add simple dashboard generation instructions in #115635
- Remove createDefinedContext utility, inline standard createContext + hooks in #115544
- Migrate chartSelectionContext to nuqs by @ryan953 in #115324
- Remove useResettableState() by @ryan953 in #115512
- Inline getExtrapolateFromLocation and remove helper by @ryan953 in #115445
- Upgrade backend mypy to 2.1.0 by @JoshFerge in #115477
- Inline getTitleFromLocation helper function by @ryan953 in #115441
- Add new referrer to track in-chat links in #115398
- Add last_usage_ts to usage service in #115353
- Migrate simple useQueryParamState call sites to nuqs in #115310
- Drop withSentryAppComponents HoC by @evanpurkhiser in #115334
- Drop withConfig HoC by @evanpurkhiser in #115333
- Drop withOrganizations HoC by @evanpurkhiser in #115321
- Upgrade
sentry-arroyofrom 2.39.1 to 2.39.2 by @george-sentry in #115269 - Add seer paying orgs to context engine by @shruthilayaj in #115208
- Clean up explorer index flags by @shruthilayaj in #115186
- Bump protos in #115187
- Bump protos in #115152
- Run getsentry acceptance on gsApp changes by @priscilawebdev in #114704
- Bump protos by @noahsmartin in #115040
- Bump sentry-protos to 0.8.27 in #114931
- Bump sentry-protos to 0.8.26 in #114905
- Bump new development version by @sentry-release-bot[bot] in 7e8b2314
Other
- fix(cells) Increase the task deadline for outbox scheduling in #115636
- o11y(preprod): Add context to snapshot status check and PR comment logs in #115612
- o11y(assisted-query): track result counts after AI query is applied in #115240
- fix(relocations) Use str instead of uuid task parameter in #115587
- chore(cells) Reduce indirection in organization.provisioning in #115522
- fix(cells) Move metric collection for outbox backfill in #115552
- Add evals devservices mode by @JoshFerge in #115526
- ref(flex) run codemod on orphaned files by @JonasBa in #115393
- feat(cells) Add option based control for cell rollout by @markstory in #115409
- deps(scm): Upgrade sentry-scm to 0.14.0 in #115376
- Fully remove issue alert columns on NotificationMessage in #115327
- feat(cells) Make organization-create work in control silo by @markstory in #115238
- fix(types) Remove sentry.net.http from the ignore list by @markstory in #115185
- chore(cells) Remove org_setup_complete by @markstory in #115103
- switch from alpha -> beta badge by @mtopo27 in #115197
- Remove Rulefirehistory references in #115035
- fix(spans) Trim environment names to prevent overflows in #115141
- Remove references to RuleFireHistory by @ceorourke in #115036
- chore(tests) Improve assertion failure messages for analytics events by @markstory in #115002
- fix(cells) Add referrer to org create endpoint by @markstory in #114962
- chore(cells) Remove remaining usage of deprecated provisioning options by @markstory in #114879
- Add 'organizations:relay-default-trace-id' to config in #114907
- Update SDK version and options by @cleptric in #114856
- Additional logging and metrics for suspended user activity by @geoffg-sentry in #114749
Plus 1 more
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]