Sentry 26.3.0
Release 26.3.0 includes numerous new features and improvements across alerts, AI conversations, autofix, billing, dashboards, and other product areas. Key additions include backwards-compatible rule endpoints, redesigned autofix interface, trace metrics support in alerts, and enhanced dashboard capabilities with Seer integration.
New Features ✨
Aci
- Make rule stats and group history endpoints backwards compatible by @ceorourke in #110282
- Make ProjectRulesEndpoint POST method backwards compatible by @ceorourke in #109926
- Add error for unsupported condition by @ceorourke in #110025
- Dual delete Workflow/Rule if flag enabled by @ceorourke in #110003
- Make OrganizationAlertRuleDetails DELETE method backwards compatible by @ceorourke in #109845
- Make ProjectRulesEndpoint GET method backwards compatible by @ceorourke in #109744
- Make ProjectRuleDetailsEndpoint DELETE method backwards compatible by @ceorourke in #109752
- Make ProjectRuleDetailsEndpoint GET method backwards compatible by @ceorourke in #109387
- Update copy on metric alert wizard to refernce issue creation by @malwilley in #109223
- Add issue type filter to old alerts by @malwilley in #108273
- Update issue type issue handler to work with frontend by @malwilley in #108241
Ai Conversations
- Add arcade to onboarding by @obostjancic in #110296
- Sidebar label by @obostjancic in #109935
- Move to explore by @obostjancic in #109874
- Design polish by @obostjancic in #109773
- Onboarding by @obostjancic in #109651
- Remove default filter by @obostjancic in #109475
- Return only conversations with input and output by @obostjancic in #109175
- Drawer redesign by @obostjancic in #109182
Alerts
- Include single-written detectors in AlertRuleFetchMixin.fetch_metric_alerts by @kcons in #110673
- Add trace metrics support to new alert UI (detectors) by @k-fish in #108730
- Consistent logging for cases where users hit alert limits by @kcons in #109101
Assets
- Add image preview to assets summary details widget by @DominikB2014 in #109329
- Link frontend overview assets widget to assets summary dashboard by @DominikB2014 in #109323
- Add platformized assets page with dashboard migration flag by @DominikB2014 in #109240
Autofix
- Loading states for redesigned autofix by @Zylphrex in #110646
- Prompt the agent to run the step again by @Zylphrex in #110596
- Add next steps button in autofix drawer by @Zylphrex in #110476
- Add open seer button in autofix section by @Zylphrex in #110432
- Directly restart autofix when clicking on reset by @Zylphrex in #110444
- Redesigned autofix cards by @Zylphrex in #110326
- Redesigned empty state for autofix section by @Zylphrex in #110370
- Redesigned autofix previews by @Zylphrex in #110203
- Show Cursor GitHub access modal on verify-branch error by @isaacwang-sentry in #109695
- Pass on_completion_hook to explorer create PR by @Zylphrex in #109787
- Allow creating explorer autofix prs from slack by @Zylphrex in #109528
- Render diff in explorer autofix slack integration by @Zylphrex in #109396
- Add github_app field to autofix PR analytics events by @JoshFerge in #109383
- Add some debug log for explorer autofix by @Zylphrex in #109233
- Support explorer autofix responses for some slack hooks by @Zylphrex in #109103
Billing
- Add UsageService to billing platform by @dashed in #110157
- _admin page for viewing Contract information by @brendanhsentry in #109853
- Add BillingService base class and service method decorator by @volokluev in #109376
Cells
- Update_region_user RPC method to support both region_name and cell_name by @lynnagara in #110275
- Add unique constraint to projectkeymapping table by @lynnagara in #110235
- Add idx to OrganizationMapping table for synapse by @lynnagara in #110168
- Add projectkeymapping table to control silo by @lynnagara in #109831
- Update org-cell-mappings endpoint by @lynnagara in #109758
- Add synapse paginator by @lynnagara in #109412
- Expand locality/cell distinction by @lynnagara in #109538
- Add db migration for synapse by @lynnagara in #109615
Ci
- Report backend test fails by @joshuarli in #109543
- Selective testing escape hatch by @joshuarli in #109136
Code Review
- Call new endpoints by @armenzg in #109956
- Control: include github_event & action info by @armenzg in #109995
- Add option to skip code review for excluded PR authors by @srest2021 in #110101
- Validate before scheduling by @armenzg in #108545
Coding Integrations
- Limit coding agent integrations to one per organization by @sehr-m in #110690
- Add Claude logo for claude_code integration by @sehr-m in #110663
Context Engine
- Pass context engine feature flag to Seer by @Mihir-Mavalankar in #109508
- New feature flag for explorer context engine by @Mihir-Mavalankar in #109145
- New task to generate project summaries for context engine by @Mihir-Mavalankar in #108760
Core Ui
- Move fzf from profiling to utils by @JonasBa in #109142
- Allow searchMatcher to return a score for result ordering by @JonasBa in #108719
- Add searchMatcher prop to CompactSelect by @JonasBa in #108714
Dashboards
- Hide detail/summary prebuilt dashboards from list by default by @DominikB2014 in #110625
- Adds seer employee banner to AI Agents Overview insights page when using prebuilt dashboard by @edwardgou-sentry in #110566
- Update AI Agents Trace Table widget to use spans global filter by @edwardgou-sentry in #110554
- Integrate text widget visualization into product by @nikkikapadia in #110245
- Add Sentry Built nav item and remove prebuilt toggle by @DominikB2014 in #110468
- Add legendType field and support field links for breakdown charts by @DominikB2014 in #110420
- Adds Create Dashboard with Seer frontend modal and preview page by @edwardgou-sentry in #110451
- Add onlyPrebuilt filter to dashboards endpoint by @DominikB2014 in #110465
- Add optional onboarding widgets for prebuilt dashboards by @gggritso in #110244
- Add starred transaction field to widget builder by @DominikB2014 in #110450
- Add analytics events to onboarding CTAs on Project Details by @gggritso in #110368
- Adds dashboards generate endpoint by @edwardgou-sentry in #110254
- Release pre-starred prebuilt dashboards to EA by @DominikB2014 in #110305
- Deprecate issue timeseries widgets flag from backend by @edwardgou-sentry in #110236
- Separate prebuilt dashboards in starred sidebar by @DominikB2014 in #110303
- Deprecate usage of issue timeseries widget flag from frontend by @edwardgou-sentry in #110238
- Add default filters for AI Agents and MCP dashboards by @edwardgou-sentry in #110281
- Add pre-favorited sync for prebuilt dashboards by @DominikB2014 in #110209
- Add text widget visualization by @nikkikapadia in #110138
- Add toggle to hide prebuilt Sentry dashboards by @DominikB2014 in #109971
- Add favorited column to DashboardFavoriteUser by @DominikB2014 in #110096
- Add logs confidence footer to dashboard widgets by @nsdeschenes in #109940
- Support multiple filters on dashboards list endpoint by @DominikB2014 in #109973
- Add trace metrics confidence footer to dashboard widgets by @nsdeschenes in #109941
- Backend validation for text widget by @nikkikapadia in #108535
- Increase default height for Laravel table widgets by @DominikB2014 in #109966
- Link AI Prebuilt Dashboard widgets with breakdown legends to appropriate Prebuilt Dashboards by @edwardgou-sentry in #109964
- Add feature flag for insights prebuilt dashboards by @DominikB2014 in #109954
- Increase table size for Laravel overview page by @DominikB2014 in #109945
- Show save button on prebuilt dashboards when filters change by @DominikB2014 in #109902
- Add errors column to prebuilt MCP dashboards tables by @edwardgou-sentry in #109873
- AI Agent prebuilt dashboard improvements by @edwardgou-sentry in #109830
- Add moving notice banner to insight pages by @DominikB2014 in #109813
- Increase char limit on widget description by @nikkikapadia in #108529
- Adds error count column to mcp prebuilt dashboard tables by @edwardgou-sentry in #109838
- Add spans table field renderer for internal error count by @edwardgou-sentry in #109761
- Updates AI Agents Overview prebuilt dashboard Traces table to open Trace drawer by @edwardgou-sentry in #109763
- Register backend caches prebuilt dashboard module by @DominikB2014 in #109702
- Register caches prebuilt dashboard on frontend by @DominikB2014 in #109703
- Add Agents Traces Table widget to platformized AI overview dashboard by @edwardgou-sentry in #109565
- Add 'datamin' support to Mobile Session Health dashboard by @jameskeane in #109606
- Register Queues and Queue Summary prebuilt dashboards on frontend by @DominikB2014 in #109594
- Register Queues and Queue Summary prebuilt dashboards on backend by @DominikB2014 in #109595
- Add maxFontSize prop to AutoSizedText and use it in details widget by @DominikB2014 in #109577
- Add axisRange frontend types, state, wiring, and builder UI by @mtopo27 in #109390
- Add Crash Free Session Rate widget to Mobile Vitals dashboard by @gggritso in #108226
- Persist and serve axisRange on dashboard widgets by @mtopo27 in #109389
- Updates AI Agent and MCP pages render using prebuilt dashboard content when flagged by @edwardgou-sentry in #109327
- Filter Mobile Vitals tables to screens with nonzero metrics by @gggritso in #109372
- Add AI Model icons to Visualization Widget breakdown labels by @edwardgou-sentry in #109324
- Add prebuilt dashboard configs for MCP dashboards by @edwardgou-sentry in #109243
- Adds prebuilt dashboard configs for AI Agent modules by @edwardgou-sentry in #109235
- Register FRONTEND_ASSETS_SUMMARY prebuilt dashboard by @DominikB2014 in #109230
- Add FRONTEND_ASSETS_SUMMARY prebuilt config by @DominikB2014 in #109229
- Register FRONTEND_ASSETS prebuilt dashboard by @DominikB2014 in #109216
- Add blank FRONTEND_ASSETS prebuilt dashboard by @DominikB2014 in #109221
- Create laravel overview prebuilt dashboard by @DominikB2014 in #109079
- Registers initial prebuilt configs for ai modules in dashboards by @edwardgou-sentry in #109190
- Register Laravel Overview prebuilt dashboard by @DominikB2014 in #109130
- Register AI Agent and MCP prebuilt dashboard ids to backend by @edwardgou-sentry in #109086
- Adds feature flag for AI Agents and MCP modules migration to prebuilt dashboards by @edwardgou-sentry in #109085
- Add chart threshold support to dashboard widgets by @DominikB2014 in #108368
- Add insights-laravel-overview-dashboard-migration feature flag by @DominikB2014 in #109077
- Allow interval selection similar to explore by @bcoe in #108416
- Add dashboards-interval-selection feature flag by @DominikB2014 in #109073
Dev
- Prevent absolute date times by @armenzg in #110671
- Autoprovision devenv when making a new git worktree by @joshuarli in #109889
Discover
- Updates android devices mapping and update script to work without csv-parser by @edwardgou-sentry in #109669
- Allow ttid/ttfd contribution rate in arithmetic equations by @gggritso in #109521
Eslint
- Add initial no-default-export-components rule by @JoshuaKGoldberg in #110266
- Add restrict-jsx-slot-children lint rule by @JonasBa in #109169
Explore
- Adds trace_status_rate to allow list by @edwardgou-sentry in #110455
- Add multi-key support for
has:search filter by @manessaraj in #109907 - Allow clearing of last group by by @nsdeschenes in #107924
Explorer
- Gate coding tools on org feature flag and org option by @aliu39 in #110705
- Add max_iterations support to SeerExplorerClient by @cvxluo in #110006
- Add get_issue_details and get_event_details RPCs by @aliu39 in #110027
- Return meta dict from table rpcs by @aliu39 in #109359
Flags
- Remove graduated data-browsing profiling feature flags (batch 3) by @wedamija in #108780
- Remove graduated data-browsing-8 feature flags by @wedamija in #108808
- Remove graduated ecosystem feature flags by @wedamija in #108813
- Remove graduated issue-workflow feature flag by @wedamija in #108816
- Remove graduated team-replay-2 feature flags by @wedamija in #108812
- Remove graduated issue_detection feature flags by @wedamija in #108775
- Add frontend assets dashboard migration flag by @DominikB2014 in #109217
- Remove graduated ml-ai feature flags by @wedamija in #108814
- Remove graduated team-replay user-feedback AI flags by @wedamija in #108811
- Remove graduated coding-workflows feature flag by @wedamija in #108815
- Remove graduated mep-rollout-flag feature flag by @wedamija in #108810
- Remove dead issue-search-allow-postgres-only-search flag by @wedamija in #108721
- Remove graduated dashboards-mep feature flag by @wedamija in #108809
- Remove dead perf-discover-widget-split-ui and txn-summary-cleanup flags by @wedamija in #108763
Infra
- Report frontend-snapshot upload failures to Sentry by @rbro112 in #110427
- Replace full backend workflow on PRs with selective testing by @rbro112 in #109346
Insights
- Add moving notice banners to Crons and Uptime by @gggritso in #109910
- Add platformized cache module with conditional rendering by @DominikB2014 in #109707
- Add feature flag for cache module dashboard migration by @DominikB2014 in #109698
- Add prebuilt dashboard rendering for queues landing page by @DominikB2014 in #109610
Integrations
- Expand platform detection to 98% picker coverage by @jaydgoss in #109701
- Add GitHub repository platform detection by @jaydgoss in #109699
- Register platform detection feature flag by @jaydgoss in #110243
Issues
- Remove issues from stream on action w/ realtime by @scttcper in #110175
- Improve issue diff copy and loading experience by @scttcper in #110267
- Improve regression breakpoint chart experience by @scttcper in #110171
- Add open in explore to regression breakpoint by @scttcper in #109759
- Rebuild potential causes component by @scttcper in #109748
- Remove checks for issue view ai title by @scttcper in #109704
- Remove checks for issue view ai title by @scttcper in #109705
Metric Issues
- Add analytics to detector details link by @malwilley in #109925
- Track notification UUID on issue details by @malwilley in #109917
- Add attribute comparisons section (for span queries) by @malwilley in #109627
Notifications
- Improve deploy email subjects by @dcramer in #110348
- Threading service locking and followup by @Christinarlong in #109147
Occurrences On Eap
- Implement double-read performance issues query for summaries task by @shashjar in #110277
- Implement double-read query for trace errors count by @shashjar in #110251
- Update query abstractions & utils by @shashjar in #109696
- Implement double reads from EAP for organization traces API endpoint by @shashjar in #109636
- Implement double reads from EAP for monitors associated groups by @shashjar in #108008
- Implement double reads from EAP for error counts timeseries by @shashjar in #107308
- Implement double reads from EAP in organization events trace API endpoint by @shashjar in #109391
- Implement double reads from EAP for reprocessing2 flow by @shashjar in #109345
- Support debug logging for data mismatches in rollout comparator by @shashjar in #109247
Onboarding
- Add copy-as-markdown button to project creation and signup setup docs by @jaydgoss in #109237
- Add guide for setup without
--importto tanstack start by @nicohrubec in #109549 - Add logs option to Tanstack Start onboarding by @nicohrubec in #109550
- Register feature flag for copy instructions on project creation by @jaydgoss in #109232
- Add global sentry exception middlewares to tanstack start onboarding by @nicohrubec in #108351
- Design adjustments for copy markdown button by @jaydgoss in #108696
Pagefilters
- Fix sentinel toggle behavior for All/My Projects quick-select by @JonasBa in #109545
- Auto-select single project for single-project orgs by @JonasBa in #109767
Perf Detectors
- Set default enabled state of perf Detectors based on configuration by @kcons in #109961
- Make ProjectPerformanceIssueSettingsEndpoint optionally write to Detector.config by @kcons in #109623
- Consider Performance Detectors to be system created by @kcons in #109762
- Create Performance Detectors by default by @kcons in #109760
Preprod
- Navigate through snapshots with keyboard by @rbro112 in #110614
- Add auto expansion of selected tab and add links to individual items in status checks by @rbro112 in #110613
- Add launchpad-taskbroker-rollout feature flag by @NicoHinderling in #110549
- Add app name, app ID, and install columns to PR comment table by @runningcode in #110418
- Add PR comments toggle to Mobile Builds settings by @runningcode in #110051
- Add project-level toggle for build distribution PR comments by @runningcode in #110050
- Filter snapshot artifacts from builds endpoint when display is set by @NicoHinderling in #110265
- Post build distribution comments to GitHub PRs by @runningcode in #109476
- Add distribution error endpoint for launchpad by @runningcode in #109497
- Add different snapshot diff viewing options by @NicoHinderling in #109892
- Add rename detection to snapshot comparisons by @NicoHinderling in #109848
- Add public build-distribution/latest endpoint by @trevor-e in #109584
- Add snapshot diff comparison UI by @NicoHinderling in #109403
- Return snapshot URL in create snapshot response by @runningcode in #109662
- Add distribution_error_code filter to list builds by @runningcode in #109491
- Add comparisonRunInfo data to response + new extra frontend models by @NicoHinderling in #109619
- Make snapshots endpoint org scoped by @NicoHinderling in #109575
- Create admin gated recompare snapshots endpoint by @NicoHinderling in #109546
- Add public install-details endpoint and shared utilities by @trevor-e in #109583
- Add snapshot image comparison task and endpoint logic by @NicoHinderling in #109151
- Add snapshot comparison task by @NicoHinderling in #109382
- Add image comparison library with odiff batch support by @NicoHinderling in #109381
- Add public size analysis API by @trevor-e in #108789
- Add odiff server wrapper and Dockerfile binary install by @NicoHinderling in #109380
- Add detector_id to size analysis occurrence evidence data by @chromy in #109487
- Track distribution state on PreprodArtifact by @runningcode in #109062
- Enrich size analysis detector occurrences with metadata by @chromy in #109069
- Register PR comments feature flag by @runningcode in #109484
- Add size monitor UI by @chromy in #108211
- Add GitHub Enterprise support for size analysis status checks by @trevor-e in #109348
- Add distribution state fields to PreprodArtifact (EME-842) by @runningcode in #109075
- Add analytics events for status check threshold failures and approvals by @mtopo27 in #109132
- Add analytics for status check rule CRUD by @mtopo27 in #109125
- Group failed checks by bundle ID and build configuration by @mtopo27 in #108373
- Add App Clip artifact support to size checks by @cameroncooke in #108676
- Add App Clip options to size analysis UI by @cameroncooke in #108675
- Hook size analysis detector to diff by @chromy in #108209
- Add new issue type to frontend by @chromy in #108210
Processing Errors
- Add
SourcemapConfigurationType GroupTypeandCONFIGURATIONcategory by @wedamija in #109542 - Store processing errors in EAP by @wedamija in #109285
Relay
- Add feature flag for new error processing pipeline by @Dav1dde in #109866
- Register option for objectstore sample rate by @jjbayer in #109482
- Upload endpoint feature by @jjbayer in #109185
Scm
- Can returns the named set of supporting actions by @cmanallen in #110567
- Add SCM subscriptions platform publisher by @cmanallen in #107441
- Add vendor-agnostic interfaces by @cmanallen in #107360
Seer
- Register project and org option keys for seer preferences migration by @srest2021 in #110548
- Migration for SeerProjectRepository and SeerProjectRepositoryBranchOverride models by @srest2021 in #110542
- Allow installing integrations directly from within the Seer SCM treeview by @ryan953 in #110551
- Seer Code Review page allows inline editing of the connected repos in a modal by @ryan953 in #110501
- Iterate on the seer settings header, copy and visual alignment by @ryan953 in #110500
- Add a flag to control if orgs can toggle their Enable Code Generation setting by @ryan953 in #110491
- Rewrite the Seer > Project list page by @ryan953 in #109531
- Create an SCM config component to streamline seer setup by @ryan953 in #110166
- Add is_private field to repo definitions for code review by @vaind in #110190
- Detect Cursor GitHub access errors and return specific failure type by @isaacwang-sentry in #109692
- Add tooltip to ResponseDot showing step status by @chromy in #109659
- Add signed viewer context header to Seer API requests by @azulus in #109626
- Iterate on the instructions at the top of seer settings pages by @ryan953 in #109586
- Include isolated services in explorer service map by @shruthilayaj in #109330
- Add default_coding_agent field to SeerOrganizationSettings by @JoshFerge in #108762
- Simplify and consolidate the Settings > Project > Seer page by @ryan953 in #109349
- Add SeerOrganizationSettings model by @JoshFerge in #109299
- Add Explorer service map extraction pipeline by @shruthilayaj in #108379
- Add github_copilot_not_licensed failure type by @JoshFerge in #108782
Seer Explorer
- Add copy-to-clipboard button to block action bar by @aliu39 in #110224
- Add /sentry-conversation slash command for employees by @aliu39 in #108754
Size
- Kill list-builds endpoint in favor of builds endpoint by @NicoHinderling in #110272
- Migrate size compare build selection page to builds endpoint by @NicoHinderling in #110271
- Ensure builds endpoint has parity with list-builds endpoint by @NicoHinderling in #110270
Snapshots
- Fix sidebar rendering for uploads with lots of images by @NicoHinderling in #110156
- Add d3-zoom interactivity by @NicoHinderling in #109921
- Add click-to-snap interaction on wipe slider by @NicoHinderling in #110102
- Simplify color picker by @NicoHinderling in #109909
Sourcemap Issues
- Add sourcemap issue detection to post_process_group pipeline by @wedamija in #109817
- Add ensure_sourcemap_detector() provisioning function by @wedamija in #109749
- Add SourcemapDetectorHandler by @wedamija in #109633
- Add index to
DetectorStatetable by @wedamija in #109847
Span Buffer
- Add zerocopy mode by @untitaker in #109313
- OOB storage by @untitaker in #109191
Spans
- Distribute span payload keys across Redis cluster by @lvthanh03 in #110593
- Add per-trace segment flush limit by @lvthanh03 in #110337
- Add flusher log support to GCP log analyzer tool by @lvthanh03 in #109080
- Emitting outcomes when
accepted_outcome_emittedis false by @tobias-wilfert in #109305 - Add metric to ensure
accepted_outcome_emittedarrives by @tobias-wilfert in #109303 - Bump
sentry-kafka-schemasversion by @tobias-wilfert in #109174
Supergroups
- Add lightweight supergroups page and drawer by @cvxluo in #110232
- Lightweight RCA prototype by @cvxluo in #110191
- Add API endpoints for supergroups by @cvxluo in #109972
Tracemetrics
- Support units in monitors UI by @narsaynorath in #109732
- Alerts allow search on field by @narsaynorath in #109883
- Use units in alerts metric selector UI by @narsaynorath in #109593
- Expose unit type in metrics UI by @narsaynorath in #108036
- Add deno to available metrics platforms by @narsaynorath in #109195
Ui
- Add Claude Code integration to autofix UI and settings by @sehr-m in #109756
- Add AvatarButton with useAvatar hook by @JonasBa in #109900
Webhooks
- Composite GitHub tag by @armenzg in #110521
- Add push-based drain trigger to eliminate scheduler wait by @tnt-sentry in #109214
- Exclude mailboxes from delivery_time_ms metric by @armenzg in #108711
Other
- (actions) Log Action deduplication by @kcons in #109160
- (admin) Add Last Active column and sort to user search by @ndmanvar in #109736
- (agent-monitoring) Add LLM instructions to copy markdown button by @priscilawebdev in #109307
- (alerts-api) Add tests and fixes for OrganizationAlertRuleDetails API backward compatibility by @kcons in #110362
- (analytics) Add Amplitude tracking to project page filter by @JonasBa in #109431
- (broadcasts) Add show=latest filter to broadcast index endpoint by @JonasBa in #110323
- (button) Busy spinner with absolute position by @TkDodo in #110202
- (client-reports) Feature flag for new client report processing pipeline by @tobias-wilfert in #109860
- (codecov) Hide TA feature by @calvin-codecov in #109527
- (commits) Support Sentry issue URLs in "Fixes" references by @vaind in #106174
- (compactSelect) Use fzf for default search matching by @JonasBa in #109252
- (config-issues) Registering issue type and associated trace item by @Abdkhan14 in #110225
- (configuration-issues) Making processing_errors queryable by @Abdkhan14 in #109884
- (control) Add support for dropping unprocessed GitHub webhook events by @armenzg in #109354
- (conversations) Collapse tool calls in message bubbles by @priscilawebdev in #109176
- (cursor) Add retry with model fallback for Cursor API launches by @isaacwang-sentry in #108768
- (data-browsing) Use custom React chart legend component in
TimeSeriesWidgetVisualizationby @gggritso in #108493 - (data-forwarding) Add padding prop to FieldLayout components by @JonasBa in #108803
- (dynamic-sampling) Add new trace based health check bias with higher sample rate by @shellmayr in #109552
- (events) Add occurrences as a dataset by @wmak in #109727
- (features) Register organizations:page-frame feature flag by @JonasBa in #110264
- (form) Enhance field status indicators with lock icon for disabled state by @TkDodo in #109189
- (forms) RadioField by @TkDodo in #108819
- (frontend) Web snapshot testing by @rbro112 in #107971
- (github) Add mailbox bucketing for GitHub webhooks by @tnt-sentry in #108138
- (grouping) Parameterize hex values that are up to 128 characters long by @thetruecpaul in #109137
- (inbound-filters) Add health-check to healthcheck globs by @shellmayr in #110402
- (issue-details) Format is_active field as 'Is Active' in app context by @philipphofmann in #107047
- (issue-detection) Use title-only fingerprinting for LLM-detected issues by @roggenkemper in #109131
- (metric alerts) Add tests for differences in workflow-engine-rule-serializers output by @kcons in #109242
- (middleware) Expand AI agent guidance with docs and plugin links by @dcramer in #108938
- (models) Recreate CodeReviewEvent with updated schema [3/3] by @vaind in #109424
- (monitors) Add Mobile Builds to monitors sidebar by @mtopo27 in #110464
- (occurrences) New ingest by @thetruecpaul in #109180
- (page-filters) Use fzf for project search in ProjectPageFilter by @JonasBa in #108725
- (performance-detectors) Use config from Workflow Engine Detectors if available and enabled by @kcons in #107137
- (profiling) Back SuspectFunctionsTable with EAP by @mjq in #109293
- (queue) Register insights-queue-dashboard-migration feature flag by @DominikB2014 in #109332
- (queues) Split transaction table into producer and consumer tables by @DominikB2014 in #109683
- (replays) Convert replay console tab to tanstack virtual by @scttcper in #109292
- (repos) Replace the repo list page with the new repo tree-view by @ryan953 in #110290
- (repositories) Add danger delete button with label to repository row by @JonasBa in #108764
- (rollouts) Add comparator with timings by @thetruecpaul in #109104
- (scim) Move privilege grant/revoke to async task by @michelletran-sentry in #109129
- (sdk) Upgrade Sentry SDKs to 10.41.0-beta.0 by @billyvg in #109494
- (sentry-apps) Expose sentryAppId in SentryAppInstallation API by @souredoutlook in #109496
- (skills) Add lint skills by @natemoo-re in #110133
- (spans-buffer) Track pre-merge oversized parent sets by @lvthanh03 in #108447
- (stories) Lazy load story API type docs by @scttcper in #110332
- (symbolicator) Disable Intel symbol source by @tobias-wilfert in #109311
- (theme) Add swatch utils by @natemoo-re in #110090
- (trace-items) Update trace item search with dynamic keys by @nsdeschenes in #108121
- (traces) Add 'Open in Logs' link to Logs view by @JoshuaKGoldberg in #110311
- (traces-explorer) Pass through all chart visuals in Compare Queries by @JoshuaKGoldberg in #110153
- (typing) Enable mypy strict_equality in our strongly typed config by @kcons in #108606
- (uptime-assertions) Improving json path form by @Abdkhan14 in #109963
- (uptime-form-errors) Improving assertion error handling by @Abdkhan14 in #109352
- (uptime-trace-issues) Rendering uptime issues in traces by @Abdkhan14 in #108567
- Allow
sentry-replay-debuggeruri scheme for oauth by @billyvg in #109976 - Disable webhook forwarding to codecov by @calvin-codecov in #110023
- Add branch to use taskbroker-client by @markstory in #110001
- TanStack devtools by @TkDodo in #110032
- Add flamegraph for metric kit hangs by @noahsmartin in #106412
- Devenv syncs chromedriver to the google chrome version by @joshuarli in #109739
- Remove github-console-sdk-self-invite flag registration by @mujacica in #109493
- Remove github-console-sdk-self-invite feature flag by @mujacica in #109470
- Add endpoint to list only issues that have PRs created from Seer Explorer by @billyvg in #107850
Bug Fixes 🐛
Aci
- Add charts to contributing issues by @scttcper in #110162
- S/deactive/inactive/g by @kcons in #110137
- Single query in toggle_detector by @kcons in #109375
- Use types to ensure migration helpers aren't modifying input data by @kcons in #109379
- Use start of open period instead of event creation time on metric issue queries by @malwilley in #109353
- Don't dedup actions by workflow by @kcons in #109251
- Handle custom zoom stats periods in detector details by @malwilley in #109157
Agents
- Add error boundary around ModelsTable by @priscilawebdev in #110509
- Handle null modelId in agent monitoring page by @priscilawebdev in #110505
Ai Conversations
- Display model in span list by @obostjancic in #109774
- Support multi part messages by @obostjancic in #109076
- Select first message by @obostjancic in #109072
Alerts
- Prevent stripping 0 values from request body by @malwilley in #110470
- Remove unnecessary condition label renames by @malwilley in #110329
- Trace metrics shouldn't error on query validator by @wmak in #109824
- Actor missing for feature flag checks in detectors by @k-fish in #109603
- User_misery eap validation error by @nikkikapadia in #109604
Api
- Preserve RateLimitExceeded metadata in handle_query_errors by @cvxluo in #109821
- Fix user serializers to return emails for superusers by @wedamija in #109837
- Add missing cursor query parameter to paginated endpoint OpenAPI schemas by @MathurAditya724 in #109642
Auth
- Mask SCIM token after 5-minute visibility window by @wedamija in #108093
- Show warning when authenticated user isn't an org member by @JoshFerge in #109952
- Fix for impersonated sessions by @michelletran-sentry in #109903
- Revoke superuser/staff when user not in default org by @michelletran-sentry in #109510
- Invalidate sessions when a linked identity is disconnected by @wedamija in #108250
Autofix
- Reset sections on re-run by @Zylphrex in #110644
- Handle deleted groups in autofix tasks by @Mihir-Mavalankar in #110386
- Init explorer client with on complete callback by @Zylphrex in #109841
- Handle autofix create PR not started by @Zylphrex in #109778
- Handle explorer run status when creating PRs from slack by @Zylphrex in #109740
- Always attach group id in explorer autofix metadata by @Zylphrex in #109358
- Recognize PRs opened by Sentry GitHub app in autofix webhook by @JoshFerge in #109081
Billing
- Prevent checkout form resetting when payment details are updated by @brendanhsentry in #110669
- _admin provisioning for legacy Seer by @brendanhsentry in #110482
- Fix category display names in pending changes by @dashed in #109612
Build
- Exclude snapshot test files from rspack type-checker by @NicoHinderling in #110547
- Exclude react-select from SWC loader to fix emotion warning by @TkDodo in #109563
Ci
- Exclude .venv from pyc cache cleanup by @mchen-sentry in #110585
- Lint issue in snapshot.ts by @nsdeschenes in #110414
- Skip selenium plugin import on non-acceptance backend test shards by @mchen-sentry in #109757
- Add CODEOWNERS fastpath to selective testing by @joshuarli in #109163
Conversations
- Left-align text content in user message bubbles by @priscilawebdev in #110403
- Preserve query params on redirect to explore by @obostjancic in #110030
Dashboards
- Include hidden dashboards in linked dashboard lookup by @DominikB2014 in #110667
- Allow table widgets to have a limit up to 20 by @DominikB2014 in #110621
- Lower agent traces widget limit to 10 in pre-built dashboard by @gggritso in #110526
- Prevent dashboard manage view forwarding search parameter when navigating to dashboard by @edwardgou-sentry in #110525
- Hide table in full screen view for issues timeseries widgets by @DominikB2014 in #110532
- Validate linked dashboard fields against columns instead of fields by @DominikB2014 in #110524
- Prevent empty SQL strings from being passed to SQL formatter by @gggritso in #110475
- Pass translated options to CompactSelect dropdown by @DominikB2014 in #110421
- Open Explore in aggregate mode for widgets with aggregates by @DominikB2014 in #110417
- Register agents_traces_table display type in backend by @gggritso in #110365
- Add equation| prefix to non-allowed aggregates in prebuilt dashboards by @DominikB2014 in #110308
- Format y-axis numbers with abbreviation helper by @narsaynorath in #110360
- Enable fullscreen widget view in prebuilt dashboard renderer by @DominikB2014 in #110340
- Filter out equation aggregates from create alert menu by @DominikB2014 in #110333
- Add missing
fieldskey to non-table prebuilt widget queries by @gggritso in #110227 - Throw validation errors for incorrect dataset source by @nikkikapadia in #110240
- Add datasource to text widget validation by @nikkikapadia in #110213
- Resolve infinite render loop in ChartLegend overflow detection by @gggritso in #110187
- Moves Open in External link to bottom of cell action by @edwardgou-sentry in #110154
- Treat TOP_N display type as AREA by @DominikB2014 in #109876
- Show full aggregate name in widget legends for measurements by @gggritso in #109901
- Fixes for Agents Traces Table to display properly in widget viewer by @edwardgou-sentry in #109905
- Clamp invalid widget layouts to prevent browser crash by @gggritso in #109825
- Add backend validation for widget layout dimensions by @gggritso in #109826
- Allow editing global filters on prebuilt dashboards by @DominikB2014 in #109880
- Preserve polarity when clearing threshold values by @DominikB2014 in #109872
- Merge URL filters with saved filters instead of replacing them by @DominikB2014 in #109590
- Use correct table item limit for categorical bar charts in widget viewer by @gggritso in #109775
- Respect current time series interval in Widget Viewer by @gggritso in #109766
- Ignore stale limit on Table widgets by @gggritso in #109688
- Default axisRange to auto for existing widgets in builder by @mtopo27 in #109598
- Use equation prefix for ttid/ttfd contribution rate in Mobile Vitals by @gggritso in #109525
- Fix threshold unit selector for timeseries widgets and size data types by @DominikB2014 in #109500
- Fix prebuilt mcp overview dashboard layout by @edwardgou-sentry in #109492
- Prevent threshold lines from overlapping the chart legend by @DominikB2014 in #109488
- Support multiple aggregates and equations in categorical bar charts by @gggritso in #108071
- Fix "Other" series colour not displaying correctly in new timeseries visualization by @edwardgou-sentry in #109321
- Replace TOP_N display type with AREA in dashboard templates by @DominikB2014 in #109211
- Side nav updates on dashboard deletion by @nikkikapadia in #109197
- Preserve display type when switching display types by @DominikB2014 in #109208
storageNamespacenot being applied on prebuilt dashboards by @DominikB2014 in #109187- Widget id mismatch in dashboard details test by @nikkikapadia in #108694
Detectors
- Fix WorkflowEngineDetectorSerializer snooze field by @kcons in #110529
- Make mobile build threshold validation require at least one by @mtopo27 in #110460
- Require data sources for Detector creation by default by @kcons in #110246
Eap
- Use addFilterValue for transaction name in EAP sidebar charts by @mjq in #109089
- Fix possibly-undefined group_list in delete helper by @scttcper in #109518
- Silence possibly-undefined warning in SearchResolver by @scttcper in #109514
- Add transaction filters to SegmentSpansTable query by @mjq in #109084
Events
- Don't link to trace explorer when trace id is missing by @mrduncan in #110670
- Handle Snuba errors in group events endpoint gracefully by @shashjar in #109158
Explore
- Unify header FeedbackButton size as default sm by @JoshuaKGoldberg in #109782
- Use unique IDs in drag-and-drop column editors by @nsdeschenes in #108252
- Require query field on saved query creation and handle malformed queries in frontend by @wedamija in #108285
Explorer
- Fix issue/event formatters by @aliu39 in #110378
- Incl project id and slug in issue details response by @aliu39 in #110338
- Handle missing counts in get_filter_key_values and don't query both backends by @aliu39 in #110172
- Use sentry org for conversations url and rename slash cmd by @aliu39 in #109592
Form
- Swap
hashchangeforuseLocationby @natemoo-re in #109570 - Remove padding & negative margin from HighlightableFlex by @TkDodo in #109304
Github Copilot
- Lower problem_statement truncation limit by @JoshFerge in #110600
- Fall back to now() when started_at is missing from API response by @JoshFerge in #110638
Grouping
- Handle grouphash cache invalidation errors gracefully by @lobsterkatie in #110158
- Fix "kitchen" time parameterization regex by @lobsterkatie in #109895
- Stop parameterizing message variable in custom titles by @lobsterkatie in #109893
- Make derived rules visible to users by @thetruecpaul in #109836
- Fix ip parameterization false positives by @lobsterkatie in #109713
- Fix hex parameterization lookahead bug by @lobsterkatie in #109709
- Resolve mypy possibly-undefined errors in grouphash caching by @scttcper in #109602
- Avoid mutating class-level initial_context in grouping info endpoint by @joshuarli in #109009
- Fix UnboundLocalError in _is_race_condition_skipped_event by @mrduncan in #109393
Insights
- Hide platform selector when platformized insights is active by @DominikB2014 in #110349
- Handle nullable sentry.normalized_description by @gggritso in #110186
- EAP support for status breakdown by @mjq in #109969
- Remove tag summary from EAP Transaction Summary by @mjq in #109970
- Don't display raw JSON as user message by @obostjancic in #109065
Integrations
- Reload integrations after installing coding agent by @sehr-m in #110665
- Cache empty repo 409 responses to reduce GitHub API calls by @trevor-e in #109153
- Record 409 empty repo responses as halts instead of failures by @trevor-e in #109134
- Add interaction events for /repos and /installation/repositories by @trevor-e in #108722
Issues
- Prefer integration app name in resolution copy by @scttcper in #110242
- Always allow archived issues to be unarchived by @malwilley in #110230
- Use serialize_generic_user in GroupSeenSerializer by @mrduncan in #108576
- Fix possibly-undefined variables across issues module by @scttcper in #109540
- Add transaction to highlight defaults by @scttcper in #109246
- Remove border from start tour modal by @scttcper in #109220
Logs
- Allow vertical padding height for 'No logs found' messages by @JoshuaKGoldberg in #110321
- Pass boolean attributes object to the logs table prop by @nsdeschenes in #110544
- Simplify CellAction rendering to only be used if needed by @JoshuaKGoldberg in #109946
- Manual refresh tooltip by @k-fish in #108686
Metrics
- Enable Save as for multi-aggregate queries by @nsdeschenes in #110325
- Remove use_metrics_layer from query builder core by @wedamija in #108755
- Remove use-metrics-layer flag from endpoints and snuba signatures by @wedamija in #108752
Oauth
- Delay before allowing pressing Approve button by @oioki in #110304
- Add distributed lock to refresh token exchange to prevent race condition by @wedamija in #108193
Objectstore
- Use OrganizationReleasePermission for Objectstore endpoint by @lcian in #109865
- Change scopes type from dict to list of tuples by @lcian in #108693
Occurrences On Eap
- Fix debug log formatting by @shashjar in #109818
- Use
OP_INinstead of chainedORs for multi-group_idqueries by @shashjar in #109148
Onboarding
- Preserve user-entered project slug during platform selection by @sentry in #109609
- Fix CopyDsnField markdown + hide copy button with AI setup by @jaydgoss in #109953
- PHP renaming
trace_metrics->traceMetricsby @constantinius in #109066
Perforce
- Use P4CONFIG for per-connection trust file isolation by @mujacica in #109828
- Isolate P4 trust/ticket files per client to prevent lock contention by @mujacica in #109652
- Use tmp files for the trust locks instead of global paths by @mujacica in #109469
Performance
- Remap request.method for EAP related issues table by @mjq in #109196
- Fix EAP transaction summary method filter and duration breakdown chart by @mjq in #108483
Preprod
- Add size monitors filter support in backend by @chromy in #110523
- Allow user tokens for ProjectPreprodBuildDistributionLatestEndpoint by @chromy in #110430
- Include display param in builds API on initial load by @NicoHinderling in #110481
- Remove UI for adding distribution scopes to personal tokens by @chromy in #110216
- Mark App Store signed builds as not installable (EME-917) by @runningcode in #110422
- Strip trailing slash from objectstore base URL by @runningcode in #110409
- Expose PR comments feature flag to frontend API by @runningcode in #110407
- Update existing PR comment instead of posting a new one by @runningcode in #110399
- Skip snapshot artifacts in expiry detection by @NicoHinderling in #110288
- Prevent diff mode buttons from being cut off on small viewports by @NicoHinderling in #110221
- Check code signature in is_installable_artifact by @runningcode in #110194
- Gate comparison download query on SUCCESS state by @NicoHinderling in #109923
- Restore full token authentication on retention endpoint by @NicoHinderling in #109842
- Return 404 instead of 500 for missing objectstore images by @NicoHinderling in #109734
- Use theme-aware border color for treemap level-0 gaps by @mtopo27 in #109517
- Rename absolute_threshold to absolute in size analysis config by @chromy in #109481
- Replace transparent treemap colors with opaque composites (EME-889) by @cameroncooke in #109308
- Update default artifact type and label by @cameroncooke in #109194
Profiling
- Wrap billing banner inside DescriptionWrapper by @priscilawebdev in #109867
- Show empty state when no suspect functions found by @mjq in #109295
Replay
- Fix
customElement.defineby @billyvg in #110352 - Fix tooltips on timestamps in replay index by @billyvg in #109691
Seer
- Reduce the staletime of the SCM tree so it can refresh as integrations change by @ryan953 in #110287
- Prevent duplicate navigation in Seer settings tabs by @scttcper in #110222
- Add auth signing to grouping record delete-by-hash requests by @JoshFerge in #110205
- Set explicit timeouts for AI translate endpoints by @sentry in #109960
- Update seer_model after training mode request by @yuvmen in #109539
- Apply stacktrace length filtering to all platforms for V2 grouping model by @yuvmen in #109287
- Populate missing IssueDetails fields for explorer_index by @sentry in #109213
Settings
- Remove double url normalization by @natemoo-re in #110160
- Add team selection modal and navigation support by @TkDodo in #108669
Spans
- Convert nones to zeros for failure rate and count by @Zylphrex in #110330
- Use decompressed bytes size for oversized segment check by @lvthanh03 in #109839
- Detect subprocess crash during startup health check by @lvthanh03 in #109832
- Route spans to queue by Kafka partition by @lvthanh03 in #109490
- Handle null span attributes by @lvthanh03 in #109316
Stories
- Wrap StoryTabPanels in Stack by @natemoo-re in #110657
- Fix HMR for .stories.tsx and .mdx files in Scraps by @scttcper in #109630
Tests
- Prerequisite test fixes for xdist parallelization by @mchen-sentry in #110584
- Use relative date in EAP escalating test frozen time by @NicoHinderling in #110643
- Fix broken ci by @wedamija in #110484
- Fix pre-prod eap integration tests by @wedamija in #109852
- Fix flaky test_cross_trace_query_with_spans_and_logs by @smanes-sentry in #109572
- Remove hardcoded IDs from tests/sentry to prevent flaky tests by @joshuarli in #109409
- Use override_settings instead of direct settings mutation by @joshuarli in #109414
- Add deterministic ordering to all unordered queryset index access by @joshuarli in #109410
- Use distinct cluster name in buffer fixture to prevent cache pollution by @joshuarli in #109008
- Fix scope level pollution from span consumer tests by @joshuarli in #109105
- Combined flaky test fixes by @joshuarli in #109344
- Fix flaky ProjectUserDetailsTest Snuba data leak by @joshuarli in #108944
- Fix flaky SessionFetchProjectReleaseHealthTotalsTest timing by @joshuarli in #108959
- Fix flaky test_api_key_request Snuba data leak by @joshuarli in #109098
- Fix flaky test_slow_condition_subqueries timing issue by @joshuarli in #108784
- Use outcomes QueryDefinition in test_outcomes by @noahsmartin in #108790
Trace
- Prefer standalone span indicators over pageload span indicators by @nsdeschenes in #110297
- Handle missing groups by @wmak in #109942
Tracemetrics
- Preserve all visualizes when changing chart type by @nsdeschenes in #110618
- Hide explicit none types in UI by @narsaynorath in #110443
- Include conditions for unit:none explicitly by @narsaynorath in #110415
- Handle unit for "value" column in frontend by @narsaynorath in #110095
- Fix effective sample rate in dual write by @k-fish in #110104
- Properly handle duration scaling in alerts by @narsaynorath in #109950
- Metric select field in alerts should use isLoading by @narsaynorath in #109943
- Changing to categorical bar chart loses unit value by @narsaynorath in #109899
- Parse units off response in events request for alerts by @narsaynorath in #109608
- Allow explicitly defining none in requests by @narsaynorath in #109328
Traces
- Filter unreleased issue types from trace API by @nora-shap in #110356
- Hide LLM Detected issues from trace details view by @nora-shap in #109929
- Switch 'Edit Table' button to use the Edit icon, not Table by @JoshuaKGoldberg in #109780
- Handle heavily sampled projects by @wmak in #108750
Ui
- Align upsell modal feature list by @natemoo-re in #110677
- Move git_pr_number to number tags in explore constants by @runningcode in #110040
- Change git_pr_number field type from STRING to INTEGER by @runningcode in #110033
- Align event drawer header with sidebar header and sticky EventNavigation by @TkDodo in #109930
- Defer scroll restoration by @natemoo-re in #109885
- Hide LLM Detected issues from trace timeline by @nora-shap in #109857
- Filter null-tuple unhandled rejections by @scttcper in #109588
- Improve layout responsiveness for smaller screens by @priscilawebdev in #109173
Workflow Engine
- Skip workflow processing for inactive projects by @malwilley in #110553
- Fix Workflow.DoesNotExist issue(s) by @saponifi3d in #110169
Workflows
- Treat OrganizationWorkflowIndexEndpoint query parse errors as 400s by @kcons in #110434
- Don't report missing Environment as an error by @kcons in #109958
- Account for no associated workflow by @kcons in #109509
- Make update_workflow_action_group_statuses handle missing foreign keys by @kcons in #109149
Other
- (ai-agents) Remove platform filters by @obostjancic in #110295
- (ai-monitoring) Fix error icon bg bleed in ai trace span list by @priscilawebdev in #109177
- (attachments) Skip rate limiting for attachments already in objectstore by @jan-auer in #110035
- (AutoSaveField) Type inference for mutationOptions by @TkDodo in #110413
- (avatar) Coerce owner id and avatar name to string before trim by @JonasBa in #110598
- (broadcasts) Guard against non-array broadcasts value to prevent crash by @JonasBa in #110599
- (buffer) Allow dicts during buffer encoding by @thetruecpaul in #110024
- (button) Restore focus ring on transparent LinkButton by @JonasBa in #109735
- (cells) Fix ByCellName resolver by @lynnagara in #110217
- (charts) Break infinite render loop in
ChartLegendoverflow detection by @gggritso in #110480 - (cleanup) Move partition validation before environment setup by @joshuarli in #108404
- (code-review) Filter pr_closed webhook when no code review triggers configured by @giovanni-guidini in #109192
- (coding integrations) Setting branding + loading bug by @sehr-m in #110448
- (CompactSelect) Adjust scrollbar gutter behavior based on overflow state by @TkDodo in #109653
- (components) [SearchQueryBuilder] cap FilterWrapper width to 2xl less than parent by @JoshuaKGoldberg in #110334
- (crons) Try to fix deletion spikes from crons by @wedamija in #109388
- (cursor) Fall back to /v0/models for API key verification by @JoshFerge in #109297
- (data-browsing) Allow SQLish to parse some Unicode control characters by @gggritso in #110306
- (eco) Addresses ApiForbidden errors, IntegrationConfigurationError noise by @GabeVillalobos in #109711
- (eslint) Use optional chain in restrict-jsx-slot-children rule by @TkDodo in #109557
- (fixability) Always pass issue summary to fixability endpoint by @Mihir-Mavalankar in #109258
- (formatting) Run ruff format by @thetruecpaul in #109618
- (forms) Hash-based scroll + focus by @natemoo-re in #108536
- (gen-ai) Gracefully handle malformed JSON in AI message parsing by @sentry in #109645
- (gettingStartedDocs) Update LangGraph example to use StateGraph API by @priscilawebdev in #109551
- (github) Swallow error when getting back an error response for codeowners file by @Christinarlong in #110233
- (globalDrawer) Fix horizontal scroll on small screens by @priscilawebdev in #109168
- (gsAdmin) Handle missing abuse reason in customer stats by @priscilawebdev in #110293
- (guidedSteps) Reset to first step when currentStep exceeds totalSteps by @jaydgoss in #109501
- (interfaces) Allow 'self' as context key by @kcons in #106991
- (issue search) Route non-error issue message search through Snuba instead of truncated Postgres field by @shashjar in #109110
- (issue-details) Preserve page filters when searching issues by tag value by @yuvmen in #109102
- (issue-detection) Use LLM-resolved project_id for cross-project issue attribution by @roggenkemper in #109253
- (issue-timeseries) Allow higher granularities by @wmak in #109827
- (jira) Update error handling to handle more form errors by @Christinarlong in #109764
- (metric-issue) Defer chart request until open period has loaded by @malwilley in #109425
- (metric-issues) Handle 10k data point limit for the metric chart by @malwilley in #109882
- (migrations) Getsentry clean migration by @hubertdeng123 in #110374
- (modal) Skip ESC close when event is already handled by child by @TkDodo in #109556
- (monitors) Remove radius on schedule preview when overlapping panels by @evanpurkhiser in #108673
- (notifications) Attach occurrence to GroupEvent for test notifications by @mrduncan in #110562
- (occurrences) Filter None values out of headers by @thetruecpaul in #110355
- (pageFilters) Expand sentinel selection before unchecking a project by @JonasBa in #110274
- (processing-errors) Fix missing
receivedvalue from our processing-error TraceItems by @wedamija in #109851 - (profiles) Re-enable skipped symbolicator deobfuscation tests by @romtsn in #110379
- (projectredirect) Increase slug size by @thetruecpaul in #109968
- (releases) Sort by build number & code in semver when resolving in next release by @srest2021 in #106885
- (rules) Update escalation condition label to reflect actual behavior by @malwilley in #110328
- (safe) Handle None query parameter in safe_urlencode by @malwilley in #110367
- (scm) Rename to apps.py by @cmanallen in #110682
- (search) Preserve scroll position in multi-select filter combobox by @nsdeschenes in #108526
- (security) Only include emails in user serialization for the requesting user by @wedamija in #108287
- (sentry-apps) Handle empty webhook_url in external requests by @sentry in #109529
- (similar-issues) Deduplicate groups with multiple hashes in similar issues response by @mrduncan in #108513
- (snuba) Handle direct project.id groupby in top event conditions by @Zylphrex in #109535
- (span-buffer) Track outcome on produce errors by @evanh in #109944
- (storybook) Convert missed default imports to named by @JoshuaKGoldberg in #110535
- (taskbroker) Allow taskbroker_send_tasks to run indefinitely by @evanh in #110573
- (tempest) Add more metrics, logs and spans for monitoring by @mujacica in #107041
- (trace-waterfall) Fix duration text overlap in trace waterfall by @nsdeschenes in #108230
- (traces-explorer) Remove chart-specific restrictions on deletion logic by @JoshuaKGoldberg in #110046
- (typing) Add missing types to group-merge code by @thetruecpaul in #110229
- (useScrollLock) Fix document.documentElement locking to not break position: sticky by @TkDodo in #109663
- (vercel) Adds signature check to vercel delete endpoint by @Christinarlong in #109974
- (virtualization) Adjust height calculation to include vertical padding for scrollbar consistency by @TkDodo in #109480
- (webhooks) Eliminate head-of-line blocking in sequential mailbox drain by @tnt-sentry in #110215
- Only disable SubmitButton while form is in submitting state by @TkDodo in #110192
- Add dependency on column drop migration by @markstory in #110214
- Revert "ref(core): button busy state and form SubmitButton UX" by @natemoo-re in #109891
Documentation 📚
Skills
- Add no-toast guidance for auto-save form fields by @JonasBa in #109483
- Add setup-dev skill for dev environment setup by @HazAT in #108744
Other
- (search) Note internal wildcard operators by @nsdeschenes in #110047
- (sentry-apps) Add sentryAppId to sentry-app-installations API schema by @souredoutlook in #109628
- New form system by @TkDodo in #109861
Internal Changes 🔧
Aci
- Add feedback button to metric issue page by @malwilley in #110132
- Handle prepare_component_fields in WorkflowEngineRuleSerializer by @ceorourke in #109423
- Replace usage of legacy code to populate conditions data in WorkflowEngineRuleSerializer by @ceorourke in #109541
- Disable seer on metric issues by @malwilley in #109712
- Add feature flag for disabling issue stream detector notifications for metric issues by @malwilley in #109245
- Flip additionalProperties back to False by @ceorourke in #109241
- Update metric issue threshold copy by @malwilley in #109227
- Remove sentry_app_identifier from Action by @ceorourke in #109215
- Add render_label method for sentry apps by @ceorourke in #109123
- Automatically zoom metric issues to the event's open period by @malwilley in #109212
- Add render_label for ticketing providers by @ceorourke in #108795
Alerts
- Refactor DetailedWorkflowEngineDetectorSerializer to remove inheritance by @kcons in #110706
- Remove unused neglected rule code by @ceorourke in #110363
- Replace useRouter with specific hooks in ruleDetails by @evanpurkhiser in #110116
Api
- Remove OrganizationEventsSpansHistogramEndpoint by @cvxluo in #110339
- Remove ProjectUserStatsEndpoint by @cvxluo in #110342
- Use logs instead of capture_message by @billyvg in #109794
- Remove dead code from organization traces API endpoint by @shashjar in #109637
Attachments
- Skip V2 objectstore delete for EventAttachments during cleanup by @jan-auer in #109776
- Clean up objectstore rollout options by @jan-auer in #109674
- Remove objectstore double-write code by @jan-auer in #109671
Auth
- Replace browserHistory with useNavigate in loginForm by @evanpurkhiser in #110013
- Replace browserHistory with useNavigate in ssoForm by @evanpurkhiser in #109992
- Replace browserHistory with useNavigate in registerForm by @evanpurkhiser in #109998
Autofix
- Split explorer response into sections by @Zylphrex in #110527
- Use disclosure component for autofix cards by @Zylphrex in #110433
- Rename autofix artifacts type by @Zylphrex in #110431
- Refactor seer drawer into shared components by @Zylphrex in #109854
- Remove seer-slack-workflows-explorer by @Zylphrex in #109871
- Unify differences between seer drawers by @Zylphrex in #109686
- Add feature flag for autofix-on-explorer-v2 by @Zylphrex in #109687
Avatar
- Migrate Gravatar hash to useQuery by @JonasBa in #109784
- Consolidate Gravatar and ImageAvatar into useImageAvatar hook by @JonasBa in #109544
Billing
- Bump sentry-protos to >=0.8.3 by @dashed in #109996
- Bump protos to 0.8.2 by @krithikravi in #109855
- Remove maxAdminGift frontend limits for gifting by @mrduncan in #109426
- Reference startDate when filtering active product trials by @brendanhsentry in #108720
Cells
- Region_silo_test -> cell_silo_test by @lynnagara in #110569
- RegionSiloClient -> CellSiloClient by @lynnagara in #110579
- Remove SiloMode.REGION by @lynnagara in #110679
- Rpc method renaming and deprecation of unused methods by @lynnagara in #110586
- RegionCacheVersion -> CellCacheVersion by @lynnagara in #110678
- Rename core hybridcloud models from region -> cell by @lynnagara in #110601
- Update RegionReplicaService rpc method callers to use cell_name by @lynnagara in #110576
- Rename RegionOutbox to CellOutbox by @lynnagara in #110609
- Regional_rpc_method -> cell_rpc_method by @lynnagara in #110610
- Clean up temporary aliases needed for getsentry by @lynnagara in #110496
- SiloMode.REGION -> SiloMode.CELL by @lynnagara in #110494
- Update RegionReplicaService rpc methods to accept cell_name by @lynnagara in #110461
- Update all org provisioning rpc methods with cell terminology by @lynnagara in #110361
- More renames of core region methods by @lynnagara in #110487
- Update more decorator naming by @lynnagara in #110489
- Rename silo decorators by @lynnagara in #110458
- Update all sentry-apps module to use cells terminology instead of regions by @lynnagara in #110354
- Update caller of update_region_user rpc method by @lynnagara in #110357
- ControlOutbox.region_name -> ControlOutbox.cell_name by @lynnagara in #110344
- Get_local_region -> get_local_cell by @lynnagara in #110350
- Remove region_name param from get_organizations_by_user_and_scope by @lynnagara in #110276
- The subdomain check is now subdomain_is_locality by @lynnagara in #110278
- WebhookPayload.region_name -> WebhookPayload.cell_name by @lynnagara in #110253
- Migrate get_organizations_by_user_and_scope to use cell_name by @lynnagara in #110173
- OrganizationSlugReservationReplica.region_name -> cell_name by @lynnagara in #110220
- Rename OrganizationSlugReservation.region_name to cell_name by @lynnagara in #110177
- Remove no-longer-needed shims for getsentry by @lynnagara in #110170
- Rename region_name to cell_name in OrganizationMapping django model by @lynnagara in #109997
- Migrate hybrid cloud resolvers from region -> cell by @lynnagara in #110029
- RegionDirectory.regions -> RegionDirectory.cells by @lynnagara in #110028
- Update apigateway with region -> cell by @lynnagara in #109989
- Remove usage of Region.category by @lynnagara in #109840
- Rename Region -> Cell by @lynnagara in #109918
- Clarify the SENTRY_MONOLITH_REGION setting by @lynnagara in #109915
- Remove find_all_region_names() by @lynnagara in #109911
- Remove get_region_by_name by @lynnagara in #109833
- Generate_region_url -> generate_locality_url by @lynnagara in #109745
- More refactors from regions -> cell + locality by @lynnagara in #109622
Ci
- Add action to update
baseline-browser-mappingby @natemoo-re in #110608 - Add mdx type checking by @natemoo-re in #107776
- Refactor jest-balance job to use shared setup-node-pnpm step by @ryan953 in #110534
- Remove repo-level Warden workflow by @gricha in #110134
- Use shared setup-node-pnpm action in acceptance workflow by @hubertdeng123 in #110022
Code Review
- Remove github_event from task by @armenzg in #110639
- Use seer_path and skip request_type by @armenzg in #110416
- Remove legacy endpoint by @armenzg in #110457
- Remove unused models by @armenzg in #108546
Coding Integrations
- Update Claude environment selection with default by @sehr-m in #110662
- Minor frontend changes by @sehr-m in #110392
Components
- Convert AvatarCropper from class to function component by @JoshuaKGoldberg in #110098
- Convert GridEditable from class to function component by @JoshuaKGoldberg in #109347
- Convert BarChartZoom from class to function component by @JoshuaKGoldberg in #109600
- Convert StackedAreaChart from class to function component by @JoshuaKGoldberg in #109601
Context Engine
- Keep 1 kill switch option for all of context engine indexing by @Mihir-Mavalankar in #109226
- Organize tasks and add scheduling task by @Mihir-Mavalankar in #109156
Core
- Improve select field types by @TkDodo in #110454
- Button busy state and form SubmitButton UX by @TkDodo in #109869
Dashboards
- Updates AI insights pages to use
useHasPlatformizedInsightsby @edwardgou-sentry in #110572 - Update ai agents overview dashboard to use equations fro trace_status_rate by @edwardgou-sentry in #110456
- Remove prebuilt dashboards section from sidebar nav by @DominikB2014 in #110453
- Remove pre-favorited prebuilt dashboards feature by @DominikB2014 in #110445
- Rename prebuilt dashboard titles in frontend by @edwardgou-sentry in #110255
- Add "Details" suffix to non overview AI Dashboards by @edwardgou-sentry in #110257
- Add create alert option to span based timeseries widgets by @DominikB2014 in #110239
- Switch EventsSearchBar test to use paste by @scttcper in #110223
- Change save button text for prebuilt dashboard filters by @DominikB2014 in #110211
- Use favorited column for favorite status instead of row existence by @DominikB2014 in #110204
- Remove
dashboards-categorical-bar-chartsflag declaration by @gggritso in #109897 - Extract spans confidence footer into reusable component by @nsdeschenes in #109939
- Replace browserHistory with useNavigate in importDashboardFromFileModal by @evanpurkhiser in #109986
- Standardize table minH across prebuilt dashboards by @DominikB2014 in #109949
- Remove
dashboards-categorical-bar-chartsfeature flag from frontend by @gggritso in #109896 - Remove Widget Viewer manual caching layer by @gggritso in #109689
- Replace maxFontSize prop with Container height in details widget by @DominikB2014 in #109599
- Increase Next.js overview table widget heights to match mobile by @DominikB2014 in #109498
Db
- Add (group_id, action_id, date_added) index on NotificationMessage by @beezz in #109179
- Remove (group_id, last_seen DESC) index from GroupRelease by @beezz in #109067
Deps
- Update baseline-browser-mapping by @github-actions in #110672
- Bump django from 5.2.11 to 5.2.12 by @dependabot in #110406
- Bump werkzeug from 3.1.5 to 3.1.6 by @dependabot in #110425
- Bump sqlparse from 0.5.0 to 0.5.4 by @dependabot in #110424
- Pnpm approve native bindings by @natemoo-re in #110435
- Bump pillow from 11.0.0 to 12.1.1 by @dependabot in #109657
- Bump cryptography from 44.0.1 to 46.0.5 by @dependabot in #109655
- Bump @rspack/cli, @rspack/core, @rspack/plugin-react-refresh by @oioki in #109656
- Fix GHSA-23c5-xmqv-rm74 vulnerable minimatch in api-docs by @oioki in #109658
- Fix GHSA-fjxv-7rqg-78g4 vulnerable form-data in api-docs by @oioki in #109654
- Bump minimatch from 5.1.6 to 5.1.9 in /api-docs by @dependabot in #109536
- Bump typescript-eslint to 8.56.1 by @JoshuaKGoldberg in #109312
- Bump objectstore-client to 0.0.18 by @lcian in #109193
Discover
- Replace browserHistory with useNavigate in landing by @evanpurkhiser in #110010
- Replace browserHistory with useNavigate in actionDropdown by @evanpurkhiser in #110018
- Replace browserHistory with useNavigate in eventInputName by @evanpurkhiser in #109979
Eslint
- Enforce dynamic type-loader imports by @scttcper in #110441
- No-unnecessary-type-annotation rule by @TkDodo in #109485
- Bolster restrict-jsx-slot-children's getDisplayName by @JoshuaKGoldberg in #109725
Explore
- Remove TraceItemAttributeContext provider pattern by @nsdeschenes in #108552
- Make attribute breakdown components a little more reusable by @malwilley in #109515
Explorer
- Tool formatter and links for new issue/event tool by @aliu39 in #110234
- Register baselines rpc for proxy by @aliu39 in #109856
- Update pr widget labels to use 'PR' language by @aliu39 in #109548
- Rm unused category params from continue_run by @aliu39 in #109355
Flags
- Cleanup dead
feature-flag-suspect-flagsoption by @ryan953 in #110335 - Cleanup dead
feature-flag-suspect-flagsoption by @ryan953 in #110312 - Remove GA-graduated dynamic-sampling-count-biases flag by @wedamija in #108773
- Remove 5 GA-graduated data-browsing feature flags (batch 1) by @wedamija in #108769
Gen Ai
- Remove noisy parse exception captures in AI input by @priscilawebdev in #110400
- Remove redundant cost alert capture message by @priscilawebdev in #110398
Github
- Bucket webhooks by event type to reduce head-of-line blocking by @tnt-sentry in #109988
- Remove mailbox allowlist for drop-unprocessed-events by @armenzg in #109519
Grouping
- Improve message parameterization metrics by @lobsterkatie in #110612
- Cache parameterization on context by @lobsterkatie in #110605
- Remove
ContextValueandContextDictby @lobsterkatie in #110466 - Change where message variable is parameterized by @lobsterkatie in #110377
- Convert message parameterizer to singleton by @lobsterkatie in #110384
- Change custom fingerprint helper to return entire description by @lobsterkatie in #110380
- Move
GroupingContextto new module by @lobsterkatie in #110373 - Small normalization and parameterization refactors by @lobsterkatie in #110014
- Add fingerprinting test input for title parameterization by @lobsterkatie in #109886
- Add git SHA parameterization by @lobsterkatie in #109753
- Expand hex parameterization to include numbers with 9-15 digits by @lobsterkatie in #109751
- Remove grouphash cache expiry options by @cvxluo in #109677
- Expand datetime message parameterization by @lobsterkatie in #109706
- Clarify and add to xfail parameterization tests by @lobsterkatie in #109693
- Small parameterization refactor by @lobsterkatie in #109690
Hc
- Adds skill for outbox development and debugging by @GabeVillalobos in #108626
- Adds skill for general hybrid cloud testing by @GabeVillalobos in #108622
Insights
- Replace useRouter with specific hooks in webVitals pageOverview by @evanpurkhiser in #110118
- Replace useRouter with specific hooks in screenLoadSpansPage by @evanpurkhiser in #110120
- Replace useRouter with specific hooks in screenSummaryPage by @evanpurkhiser in #110121
- Remove unused dashboard migration feature flags by @DominikB2014 in #110044
- Consolidate platformized hooks into useHasPlatformizedInsights by @DominikB2014 in #109967
Issues
- Remove useHasStreamlinedUI from a few components by @malwilley in #110143
- Always use streamlined UI by @malwilley in #109685
- Refactor profile preview section tests by @scttcper in #109362
- Share first/last release hook + types by @scttcper in #109265
- Prefetch group.project in update group endpoint by @scttcper in #109152
- Fix N+1 project queries in bulk_transition_group_to_ongoing by @mrduncan in #108792
Llm Detected Issues
- Use new llm detected issue type by @shayna-ch in #109144
- Create new issue type for llm detected issues by @shayna-ch in #109138
Logs
- Prevent search query builder rerenders on auto-refresh by @nsdeschenes in #110320
- Fix memoization on log row content by @k-fish in #110310
Models
- Extract
EventErrorTypeStrEnum fromEventErrorby @wedamija in #109585 - Delete CodeReviewEvent table [2/3] by @vaind in #109422
- Pending-delete CodeReviewEvent table [1/3] by @vaind in #109420
Nav
- Remove navigationParentRef from context by @JonasBa in #110530
- Move whatsnew outside of its folder by @JonasBa in #110485
- Move buttonOverlay to components by @JonasBa in #110486
- Rename Nav to Navigation in navigation directory by @JonasBa in #110359
- Standardize primary nav footer button sizes by @JonasBa in #110289
- Redesign primary nav footer with vertical ButtonBar and portal overlays by @JonasBa in #109977
Objectstore
- Remove objectstore.force-stored-symbolication flag by @jan-auer in #109660
- Pass through compressed bytes when client accepts encoding by @jan-auer in #109571
Occurrences On Eap
- Use relative frozen timestamps in tests by @shashjar in #110658
- Relax reasonable match comparator for
is_escalatingread path by @shashjar in #109820 - Create e2e tests for occurrence read paths by @shashjar in #109121
- Create e2e test infrastructure by @shashjar in #108179
Onboarding
- Replace useRouter with specific hooks in platformOptionDropdown by @evanpurkhiser in #110108
- Replace useRouter with specific hooks in platformDocHeader by @evanpurkhiser in #110128
- Replace inline AI rules with sentry-for-ai skill prompts by @HazAT in #109647
- Update tanstack start vite plugin to subpath export by @nicohrubec in #107672
Ownership
- Migrate ownership settings form to AutoSaveField by @JonasBa in #109365
- Remove some empty patterns from CODEOWNERS by @kcons in #109126
Performance
- Replace useRouter with specific hooks in durationChart by @evanpurkhiser in #110123
- Replace browserHistory with useNavigate in trends chart by @evanpurkhiser in #110011
- Replace browserHistory with useNavigate in eventsTable by @evanpurkhiser in #110008
- Replace browserHistory with useNavigate in tagExplorer by @evanpurkhiser in #110012
- Replace browserHistory with useNavigate in tagValueTable by @evanpurkhiser in #110009
- Replace browserHistory with useNavigate in onboarding by @evanpurkhiser in #110017
- Replace browserHistory with useNavigate in traceWaterfall by @evanpurkhiser in #109978
- Replace browserHistory with useNavigate in metricsEnhancedSetting by @evanpurkhiser in #109991
- Convert TransactionThresholdModal from class to function component by @JoshuaKGoldberg in #109574
- Convert TransactionThresholdButton from class to function component by @JoshuaKGoldberg in #109567
- Convert OperationSort from class to function component by @JoshuaKGoldberg in #109331
- Convert TeamKeyTransactionsManager from class to function component by @JoshuaKGoldberg in #109591
- Convert Table from class to function component by @JoshuaKGoldberg in #109578
- Convert TagExplorer from class to functional component by @mjq in #109298
Preprod
- Sidebar polish by @rbro112 in #110571
- Delete no longer used buildList component by @NicoHinderling in #110259
- Replace useRouter with specific hooks in buildDetailsHeaderContent by @evanpurkhiser in #110124
- Remove duplicated project-scoped endpoints from preprod URLs by @chromy in #109878
- Remove project query param from artifact URLs by @NicoHinderling in #109877
- Use shared utils in check-for-updates endpoint by @trevor-e in #109789
- Remove projectId from URLs where possible by @chromy in #109665
- Register endpoints on organization as well as project by @chromy in #106435
- Redesign treemap tooltip to match Figma design (EME-869) by @cameroncooke in #109478
- Update manifest fields by @rbro112 in #109088
- Remove unused size analysis issues module by @chromy in #109068
- Add timing metric around snapshot transaction block by @NicoHinderling in #108242
Profiling
- Replace useRouter with specific hooks in landingWidgetSelector by @evanpurkhiser in #110125
- Replace browserHistory with useNavigate in functionTrendsWidget by @evanpurkhiser in #109980
- Replace browserHistory with useNavigate in flamegraphQueryParamSync by @evanpurkhiser in #109981
- Replace browserHistory with useNavigate in content by @evanpurkhiser in #109990
- Replace browserHistory with useNavigate in slowestFunctionsWidget by @evanpurkhiser in #109987
- Replace browserHistory with useNavigate in profileSummary by @evanpurkhiser in #109982
Relay
- Update project config snapshot for health-check glob by @oioki in #110408
- Remove metrics extraction integration test by @phacops in #109613
- Migrate ingestThroughTrustedRelaysOnly to AutoSaveField by @JonasBa in #108761
- Add rollout option for eap accepted span outcomes by @tobias-wilfert in #109078
Releases
- Replace useRouter with specific hooks in releases detail overview by @evanpurkhiser in #110129
- Replace browserHistory with useNavigate in releases overview by @evanpurkhiser in #109983
- Replace browserHistory with useNavigate in preprodBuilds by @evanpurkhiser in #109984
Replays
- Remove granular-replay-permissions flag registration by @priscilawebdev in #110397
- Clean up granular-replay-permissions feature flag (backend) by @priscilawebdev in #110036
- Clean up granular-replay-permissions flag (frontend) by @priscilawebdev in #110037
- Migrate projectReplays settings to AutoSaveField by @JonasBa in #109364
- Migrate replay network/errors virtualization to tanstack virtual by @scttcper in #108190
Repos
- Refactor Settings > Seer > Repos to use virtual rendering by @ryan953 in #108798
- Refactor useOrganizationRepositoriesWithSettings to use apiOptions & useInfiniteQuery by @ryan953 in #108295
Seer
- Remove unused SeerOrganizationSettings model and mark table for pending deletion by @srest2021 in #110656
- Add random 50% rollout for context engine in start_run by @Mihir-Mavalankar in #110574
- Trim whitespace from ASCII snapshot to reduce token usage by @Mihir-Mavalankar in #110273
- Rename useAgentHooks to seerAgentHooks by @ryan953 in #110188
- Propagate viewer_context to background tasks and utilities by @azulus in #109724
- Propagate viewer_context to Seer endpoint call sites by @azulus in #109723
- Propagate viewer_context to autofix Seer call sites by @azulus in #109722
- Propagate viewer_context to LLM detection and event manager by @azulus in #109721
- Propagate viewer_context to code review Seer call sites by @azulus in #109717
- Propagate viewer_context to explorer Seer call sites by @azulus in #109716
- Propagate viewer_context to feedback Seer call sites by @azulus in #109714
- Propagate viewer_context to anomaly detection Seer call sites by @azulus in #109720
- Propagate viewer_context to breakpoints Seer call sites by @azulus in #109718
- Propagate viewer_context to similarity Seer call sites by @azulus in #109719
- Propagate viewer_context to replays Seer call sites by @azulus in #109715
- Add viewer_context passthrough to all Seer API wrappers by @azulus in #109697
- Add typed wrappers for remaining Seer API callsites by @azulus in #109607
- Add typed wrappers for Seer API callsites by @azulus in #109589
- Batch size modifiable and retry on rate limit by @shruthilayaj in #109568
- Extract typed severity score request function by @azulus in #109507
- Refactor explorer service map query and instrumentation by @shruthilayaj in #109322
- Refactor useCodingAgentIntegrations to be based on apiOptions instead by @ryan953 in #109290
- Migrate remaining seer calls to urllib3 connection pools by @azulus in #109263
- Migrate seer endpoints to urllib3 connection pools by @azulus in #109254
- Migrate explorer to urllib3 connection pools by @azulus in #109224
- Migrate autofix and summarization to make_signed_seer_api_request by @azulus in #109205
- Remove unused allowBackgroundAgentDelegation org option - be by @ryan953 in #109083
This changelog has been truncated. See the full changelog for all changes.
Source: original entry ↗
More from Sentry
Follow Sentry to get its new changes in your feed and email digest.
First curated Scraps entries published
Initial release of curated Scraps entries covering themes, tokens, layout, typography, separators, quotes, loaders, inline code, and keyboard key labels.
Sentry 26.9.0
Sentry 26.9.0 introduces numerous enhancements across anomaly detection, action logging, admin features, AI monitoring, API endpoints, authentication, and more. Updates include improved stateful detectors, conversation sorting and filtering, new API documentation standards, Auth V2 frontend improvements, and infrastructure optimizations.
Version 26.8.0 Release
Sentry 26.8.0 introduces numerous features and improvements across multiple product areas including enhanced alert configuration with every_event conditions, agent monitoring UI improvements with interactive JSON rendering and timeline enhancements, expanded API response schemas, Autofix steering and checkpoint improvements, and broader platform enhancements for conversations, dashboards, dynamic sampling, and data exploration.