Announcement26.2.0
Sentry 26.2.0 Release
Sentry 26.2.0 introduces numerous enhancements across alerts, workflows, API documentation, onboarding, AI features, and billing. Key additions include issue type and category conditions in the new Alerts UI, workflow engine API documentation, improved metric alert details with open period timelines, AI conversation and insights improvements, GitHub Copilot integration support, and administrative features for product trials and gifting.
New Features ✨
Aci
- Add issue type condition to new Alerts UI by @malwilley in #108174
- Support issue category include/exclude in issue alerts by @malwilley in #107966
- Add support for excluding issue categories in new alerts UI by @malwilley in #108002
- Translate issue category condition include property for legacy models by @malwilley in #107948
- Metric issue should link to metric alert if new UI is not enabled by @malwilley in #107870
- Deduplicate workflows API endpoint by @mifu67 in #106482
- Delete rule processing by @cathteng in #106616
- Include Rule in legacy model tracking by @kcons in #107647
- Update metric alerts page to redirect with workflow-engine-metric-issue-ui flag by @malwilley in #107645
- Add exclusion to issue category filter by @mifu67 in #107527
- Add exclusion to issue type filter by @mifu67 in #107535
- Finally default post-process to workflow engine take 2 by @cathteng in #107696
- Add ongoing issues component to metric alert details page by @malwilley in #107566
- Update metric issue open periods list to display activities by @malwilley in #107522
- Highlight current open period in metric issue details by @malwilley in #107274
- Add open period timeline to metric issue details by @malwilley in #107210
- Add pagination and event ID links to open period list by @malwilley in #107007
- Enable Seer for metric detector issues by @malwilley in #107027
- Add ability to filter group open periods by event_id by @malwilley in #106930
- Add eventId to group open period serializer by @malwilley in #106929
- Publish bulk PUT endpoints by @ceorourke in #106743
- Add deprecation warning to old alerts API docs by @ceorourke in #106692
- Publish workflow engine API docs by @ceorourke in #106628
- Document OrganizationWorkflowDetailsEndpoint by @mifu67 in #106323
- Document Organization Detector Details Endpoints by @ceorourke in #106148
- Add API documentation for OrganizationDetectorIndexEndpoint POST by @ceorourke in #105882
- Document organization workflow index POST endpoint by @ceorourke in #106228
- Document organization workflow index GET and DELETE endpoints by @ceorourke in #106210
Admin
- Add unit formatting for emerge categories in admin provisioning by @dashed in #106941
- Update Toggle console platforms modal to manage console SDK invites by @alexsohn1126 in #105638
- Restrict /manage/ endpoint to non-SaaS modes by @michelletran-sentry in #106530
Agent
- Try to fix invalid json by @priscilawebdev in #108300
- Expand root JSON path by default in trace drawer by @priscilawebdev in #107585
- Update onboarding for meta frameworks by @priscilawebdev in #107221
- Add alert about other runtimes for meta frameworks by @priscilawebdev in #106944
- Update onboarding documentation for python by @priscilawebdev in #106656
Agents
- Update onboarding to display sdk update alert by @priscilawebdev in #107575
- Add agent dropdown to the page by @priscilawebdev in #107108
- Update JavaScript onboarding docs by @priscilawebdev in #106361
Ai Conversations
- Show tool calls by @obostjancic in #107662
- Add aggregations to conversation details by @obostjancic in #107479
- Add start and end timestamp to the endpoint by @obostjancic in #107500
- Tool names and errors by @obostjancic in #107407
- Display failed tool calls by @obostjancic in #107405
- Add user avatar to table and reorder nav by @obostjancic in #106962
- Use conversations endpoint by @obostjancic in #106367
- Support new OTel attributes by @obostjancic in #106521
Ai Insights
- Support span.name by @obostjancic in #107929
- Add platform icons to onboarding dropdown by @obostjancic in #107042
- Improve conversations table input/output display by @obostjancic in #106969
- Mastra onboarding by @obostjancic in #106861
- Support tool.call attribute by @obostjancic in #106509
- Support new otel spec by @obostjancic in #106442
Autofix
- Add referrer to trigger autofix by @Zylphrex in #108095
- Support stopping point in explorer group ai autofix by @Zylphrex in #107675
- Add per-org metrics to autofix tasks by @Mihir-Mavalankar in #107621
- Support configurable intelligence-level-for-explorer-a… by @Zylphrex in #106973
- Add GitHub Copilot agent provider UI by @JoshFerge in #106290
Autopilot
- Add AI-generated summary and docs URL to missing integration issues by @ArthurKnaus in #108114
- Add missing integrations count to detector log by @ArthurKnaus in #108109
- Switch traces detector to project id option by @ArthurKnaus in #108011
- Prepare missing integration detection for experiment by @vgrozdanic in #107671
- Add trace data detector by @ArthurKnaus in #107589
- Add finish reason to prompt by @ArthurKnaus in #107229
Billing
- Move locked products to bottom of usage overview table by @dashed in #107701
- Add admin-only product trial support for emerge categories by @dashed in #107294
- Add Emerge quota exceeded UI with Contact Sales CTA by @dashed in #106932
- Add emerge data categories to frontend test fixtures by @dashed in #106942
- Enable admin gifting for emerge products by @dashed in #106369
Cells
- Add isCellScoped prop to ResultGrid for cell-scoped endpoints by @evanpurkhiser in #106450
- Add stub for synapse endpoint by @lynnagara in #105975
Ci
- Migrate
black,isort,pyupgrade, and most offlake8toruffby @shashjar in #108010 - Add
ruffas dev dependency by @shashjar in #107385
Code Review
- Send experiment assignment to Seer by @giovanni-guidini in #107483
- Register experiments feature flag by @giovanni-guidini in #107478
- Include the author for debugging by @armenzg in #107414
- Improve debuggability by @armenzg in #106880
- Retry task up to five times by @armenzg in #107011
- Add Pydantic payload validation for Seer API requests by @armenzg in #106810
- Support sending closed pull request events to Seer by @armenzg in #106375
Conversations
- Limit date range selection to 30 days by @priscilawebdev in #107765
- Add analytics tracking for conversations feature by @priscilawebdev in #107477
- Agent selector should be persistent across nav & reset when project changes by @priscilawebdev in #107046
Copilot
- Add has_identity support to explorer autofix by @JoshFerge in #106788
- Add provider support for explorer autofix coding agent handoff by @JoshFerge in #106798
- Add has_identity field support for Setup button by @JoshFerge in #106787
- Add has_identity field to GitHub Copilot integration by @JoshFerge in #106785
Core
- Add neutral variant to InlineCode by @natemoo-re in #106906
- Add surface variant by @natemoo-re in #106408
Crons Detector Schedule Preview
- Preventing status smearing wit… by @Abdkhan14 in #106617
- Endpoint edge cases by @Abdkhan14 in #106392
- Adding new schedule preview co… by @Abdkhan14 in #106388
Dashboards
- Add rage_and_dead_clicks and server_tree display types by @DominikB2014 in #108160
- Make ssr file widget and dead/rage click cloneable by @DominikB2014 in #108159
- Legend breakdown rows default to opening in Explore by @DominikB2014 in #108131
- Updates
Add to Dashboardfrom static widgets to open widget library in builder by @edwardgou-sentry in #108060 - Add
staleTimeto underlying widget queries by @DominikB2014 in #108124 - Migrate Mobile Vitals to prebuilt dashboards by @gggritso in #108068
- Disables editing static widgets from the widget library by @edwardgou-sentry in #108031
- Add customizable limit for categorical bar widgets by @gggritso in #107954
- Add categorical bar chart template to Widget Library by @gggritso in #107936
- Populate prebuilt dashboard with actual id by @DominikB2014 in #108032
- Adds Performance Score Wheel widget to widget library by @edwardgou-sentry in #107976
- Add rage and dead click widget by @DominikB2014 in #107975
- Add axis label rotation and affix trimming to categorical charts by @gggritso in #107718
- Registers wheel display type by @edwardgou-sentry in #107944
- Add server tree component by @DominikB2014 in #107877
- Adds widget descriptions to prebuilt Web Vitals dashboards by @edwardgou-sentry in #107935
- Add categorical bar chart widget type by @gggritso in #107689
- Create basic nextjs frontend overview page by @DominikB2014 in #107856
- Register Next.js Frontend Overview prebuilt dashboard on backend by @DominikB2014 in #107848
- Add insights-nextjs-frontend-overview-migration feature flag by @DominikB2014 in #107847
- Add dashboard link to Network Requests by Time Spent widget by @DominikB2014 in #107789
- Filter frontend overview by frontend data by @DominikB2014 in #107779
- Register Frontend Overview prebuilt dashboard on backend by @DominikB2014 in #107681
- Support linked dashboards in legend breakdown by @DominikB2014 in #107632
- Create platformized frontend overview by @DominikB2014 in #107625
- Add retry logic to spans and issues dataset queries by @DominikB2014 in #107614
- Add legend breakdown below chart by @DominikB2014 in #107520
- Update web vitals page summary prebuilt dashboard to use equations by @edwardgou-sentry in #107552
- Adds a new additionalDatasets attribute to linked dashboards to allow creating dashboard filters on multiple datasets by @edwardgou-sentry in #107434
- Update Perf score chart to use equation format when opening in explore by @edwardgou-sentry in #107503
- Drop FCP meter widget from Prebuilt Dashboard and adjust layout by @edwardgou-sentry in #107412
- Add dashboards-chart-legend-breakdown feature flag by @DominikB2014 in #107439
- Updates layout for prebuilt web vitals page summary dashboards by @edwardgou-sentry in #107417
- Add performance_score to equations allowlist by @edwardgou-sentry in #107410
- Delete perf score meter widgets from prebuilt web vitals dashboards by @edwardgou-sentry in #107409
- Register categorical bar chart widget type by @gggritso in #107370
- Replace issues widget in backend overview by @DominikB2014 in #107415
- Add in BarChartWidgetVisualization by @nsdeschenes in #106775
- Add categorical bar charts feature flag by @gggritso in #107199
- Allow custom sorting of releases dropdown by @gggritso in #106978
- Register Mobile Session Health prebuilt dashboard by @DominikB2014 in #107095
- Scaffold mobile session health module by @DominikB2014 in #107167
- Migrate releases to hook pattern by @DominikB2014 in #106909
- Set dataset in tags when changed by @narsaynorath in #107099
- Add cell actions getter function by @nsdeschenes in #106963
- Allow linked dashboards in line chart full screen by @DominikB2014 in #106606
- Always sort by _is_starred_transaction if selected by @DominikB2014 in #106599
- Migrate Spans dataset to hook-based query pattern by @DominikB2014 in #106590
- Register backend overview by @DominikB2014 in #106541
Dynamic Grouping
- Add root cause section, new layout by @scttcper in #107564
- Extract cluster sorting, refine ranking signals by @scttcper in #106919
Dynamic Sampling
- Move boost low volume projects to allow segments by @shellmayr in #107668
- Add span metric support for recalibrate_orgs & sliding_window_org tasks by @shellmayr in #106956
- Allow spen segment metrics in GetActiveOrgs and GetActiveOrgsVolumes by @shellmayr in #106955
- Add is_segment filter for span metrics in boost_low_volume_projects by @shellmayr in #106954
- Use span metric for rebalancing transactions & option for activation by @shellmayr in #106772
Eco
- Adds permissions to GH integration debug data by @GabeVillalobos in #106478
- Adds migration for new debug column on Integration table by @GabeVillalobos in #106476
- Adds integration debug table for displaying customer integration install info by @GabeVillalobos in #106378
Explore
- Adds opportunity_score to list of allowed functions in equations by @edwardgou-sentry in #107941
- Search api on search in vis dropdown by @nsdeschenes in #106584
Form
- RangeField by @TkDodo in #108233
- TextAreaField by @TkDodo in #108216
- SwitchField by @TkDodo in #108212
Grouping
- Add OpenStack Swift transaction ID parameterization by @JoshFerge in #107762
- Add
{{ message }}fingerprint test input by @lobsterkatie in #107361
Infra
- Add backend selective testing workflow by @rbro112 in #105500
- Add backend tests workflow with coverage upload to GCS by @rbro112 in #105885
Integrations
- Log response headers in integration API client by @JoshFerge in #108269
- Add GitHub Copilot polling functionality by @JoshFerge in #106670
- Add GitHub Copilot agent provider backend by @JoshFerge in #106289
Issue Details
- Update onboarding tour copy and welcome modal by @jaydgoss in #107002
- Embed aggregated flame graphs for events with linked profile by @markushi in #103256
Issues
- Track AI title usage in issue view creation analytics by @scttcper in #108255
- Switch group selection to a context by @scttcper in #108075
- Generate AI issue view titles by @scttcper in #107820
- Cleanup debug meta processing column by @scttcper in #107384
- Replace react-virtualized with @tanstack/react-virtual in DebugMeta by @scttcper in #107213
- Add copy request body to clipboard by @scttcper in #106926
- Fall back to raw value when user tag has no fields by @scttcper in #106757
Js Loader
- Expose
hasLogsAndMetricsin serializer by @chargome in #107345 - Support logs+metrics bundle by @chargome in #106959
- Update UI for User Feedback selection by @chargome in #106514
- Update loader template to auto inject user feedback integration by @chargome in #107043
- Pass feedback option in loader by @chargome in #106949
- Add support for user feedback by @chargome in #106444
Lint
- Catch
theme.tokens.borderviolations by @natemoo-re in #107458 - Catch
theme.tokens.backgroundviolations by @natemoo-re in #107452 - Catch
theme.tokens.contentviolations by @natemoo-re in #107313 - Add all
TOKEN_RULESforuse-semantic-tokenby @natemoo-re in #107315
Llm Detection
- Pass span count to Seer with trace metadata by @nora-shap in #107735
- Add create_issue_occurrence RPC method for async LLM detection by @nora-shap in #106754
Notifications
- Add Size Analysis to notification settings UI by @dashed in #106940
- Add QUOTA_SIZE_ANALYSIS for Size Analysis spend notifications by @dashed in #106939
Oauth
- Add UI for creating and viewing public OAuth clients by @BYK in #106654
- Add public client support and refresh token rotation by @BYK in #106451
- Add RFC 6750 Bearer token compliance by @dcramer in #106274
Objectstore
- Try Django request.body when proxying by @lcian in #106506
- Try Django request.body first by @lcian in #106441
Occurrences On Eap
- Implement the
typeattribute for filtering error/issue platform events by @shashjar in #108099 - Implement double reads in the
GroupEventsEndpointby @shashjar in #105969 - Implement
count_if&minaggregates for occurrences by @shashjar in #107133
Onboarding
- Add Copy as Markdown button to product onboarding surfaces by @jaydgoss in #108058
- Register onboarding-copy-setup-instructions feature flag by @jaydgoss in #108066
- Add metrics for .NET platforms by @alexander-alderman-webb in #106551
- Add logs onboarding for React Native by @antonis in #107666
- Add metrics onboarding for React Native by @antonis in #107665
- Add metrics onboarding support for Flutter by @buenaflor in #106950
- Add new welcome UI with product selection by @jaydgoss in #107175
- Add feature flag for new welcome UI by @jaydgoss in #107160
- Add sentryTanstackStart vite plugin by @nicohrubec in #106555
Preprod
- Use dedicated preprod-snapshots feature flag for snapshot endpoint by @NicoHinderling in #108243
- [Frontend] Allow staff to rerun size analysis comparisons by @NicoHinderling in #108188
- Add snapshots feature flag by @NicoHinderling in #108197
- [Backend] Allow staff to rerun size analysis comparisons by @NicoHinderling in #108187
- Skip pre-commit fix apply for draft PRs by @rbro112 in #108167
- Add preprod-size-monitors-frontend feature flag by @chromy in #108037
- Snapshots upload API by @rbro112 in #107825
- Display per-file insight savings in treemap tooltips by @cameroncooke in #107786
- Add app size chart to Mobile Builds tab by @mtopo27 in #107067
- Add FlaggedInsight model for treemap insight savings by @cameroncooke in #107787
- Make head_ref optional for size analysis by @runningcode in #107845
- Add frontend support for toggling features by @chromy in #107687
- Add backend support for toggling features by @chromy in #107674
- Use Arcade embed in onboarding panel by @mtopo27 in #107704
- Log quota check by @chromy in #107595
- Add requestedFeatures to artifact update response by @chromy in #107336
- Disable header actions when size analysis is incomplete (EME-782) by @runningcode in #107231
- Add dashboard byte decimal formatting and fix tooltip formatting by @trevor-e in #106886
- Add docs link and simplify build filter description by @mtopo27 in #107255
- Unhide filters by @chromy in #107232
- Add frontend support for treemap insights (EME-372) by @cameroncooke in #107150
- Update pydantic models to include new flagged_insights field (EME-372) by @cameroncooke in #107149
- Add quota exceeded banner for Size Analysis by @runningcode in #107061
- Add NOT_RAN to SizeAnalysisState by @chromy in #107080
- Reimplement adding build id as a search option for list builds endpoint by @NicoHinderling in #107118
- Use structured search by @chromy in #106961
- Fix platform_name handling by @chromy in #107103
- Add descriptions for preprod search attributes by @mtopo27 in #107096
- Show error message in builds table by @chromy in #107077
- Add drilldown to clean up treemap by @rbro112 in #107076
- Add missing insights on compare by @cameroncooke in #107018
- Settings URL /builds/ -> /mobile-builds/ by @chromy in #106989
- Reflect queuing state on size build details by @NicoHinderling in #106981
- Add support for Apple insight types on Compare by @cameroncooke in #106967
- Add install_groups to install details endpoint by @noahsmartin in #106921
- Add mobile builds onboarding with platform-specific instructions (EME-733) by @runningcode in #106856
- Create initial preprod snapshots models by @rbro112 in #106823
- Add build id as a search option for list builds endpoint by @NicoHinderling in #106901
- Display message when out of quota by @chromy in #106866
- Add quota endpoint by @chromy in #106863
- Support install_groups by @noahsmartin in #106756
- Add new preprod_diff_approval table by @NicoHinderling in #106721
- Control size/distro via settings by @chromy in #106707
- Add artifact_matches_query helper by @chromy in #106675
- Add preprod dashboard frontend by @trevor-e in #105919
- Support configuring filters for
sizeanddistributionin project settings by @chromy in #106002 - Switch to new URL format in backend (EME-725) by @runningcode in #106366
- Show callers of status check and dedup head artifacts by @trevor-e in #106638
- Reland quota check by @chromy in #106523
- Add new URL routes while maintaining backwards compatibility (EME-725) by @runningcode in #106354
- Use standard id gen method for size status check pref values by @NicoHinderling in #106234
- Add tagline to status check with link to status check settings page by @NicoHinderling in #106233
- Integrating status check settings into task logic by @NicoHinderling in #105876
Replay
- Replace AI summary loading GIF with rotating text messages by @billyvg in #108132
- Add
projectwhen filtering by user email/tags by @billyvg in #107419 - Feature flag for new replay processing pipeline by @tobias-wilfert in #107400
- Add tooltips to playlist next/prev buttons by @billyvg in #107098
Replays
- Replace react-virtualized with tanstack/virtual in breadcrumbs by @scttcper in #107262
- Add saved query header for Replay pages by @billyvg in #106879
- Add saved queries functionality to Replay list by @billyvg in #106013
Scim
- Manage privileges via SCIM Groups by @michelletran-sentry in #107709
- Revoke superuser/staff privileges when removed from default org by @michelletran-sentry in #107151
Scraps
- Compact variant for form layouts by @TkDodo in #108325
- Info pattern components by @TkDodo in #108205
- Expand font-size for headings by @natemoo-re in #107676
Search Agent
- Visualize Steps in UI by @aayush-se in #106419
- Start and poll the agent state by @aayush-se in #106324
Search Bar
- Support async tag fetching by @nsdeschenes in #107769
- Wrap selected filters in parentheses by @nsdeschenes in #105947
Seer
- RPC for code mappings by @kddubey in #105622
- Allow guided steps to have clickable steps, Seer uses it by @ryan953 in #108081
- Include occurrence data when serializing events in get_issue_and_event_details_v2 by @wedamija in #108083
- Update the Enable Code Generation link to docs by @ryan953 in #108059
- Update the copy when selecting many/all Projects and Repos inside Seer settings by @ryan953 in #107999
- Add a link from Settings > Seer > Repos to Integrations by @ryan953 in #107996
- Update copy and link targets for the Seer Config Reminder by @ryan953 in #107811
- Rename "Agent Delegation" to "Coding Agent" in settings by @JoshFerge in #107813
- Add
Enable Code Generationto org-wide seer settings page by @ryan953 in #107377 - Update Seer settings so that PR Create toggles respect enableSeerCoding by @ryan953 in #107391
- Stop overriding enable_seer_coding when migrating from legacy to new seer plans by @ryan953 in #107363
- Iterate on Seer Setting tabs by @ryan953 in #107807
- Iterate on copy in the settings pages by @ryan953 in #107805
- Setup a flagpole flag to control the Seer Config Reminder by @ryan953 in #107798
- Use flagpole to control rendering the seer config reminder by @ryan953 in #107800
- Disable all the
Generate codebuttons in Seer UI by @ryan953 in #107454 - Add logging and metrics for Seer entrypoints by @leeandher in #107693
- Show the autofix Seer config step if the org needs a config reminder by @ryan953 in #107703
- Let api endpoint
/seer/onboarding-check/returnneedsConfigReminderby @ryan953 in #107702 - Capture errors when updating onboarding by @billyvg in #107683
- Highlight projects that have zero repos connected in Seer>Project list settings by @ryan953 in #107570
- Move the Connected Repos section in Seer Project Settings up by @ryan953 in #107571
- Reland trigger_at timestamps with backward compatibility by @vaind in #107525
- Show the enabled triggers in the Seer > Repo list page by @ryan953 in #107565
- Only remind people to setup Seer if the org has GitHub integration by @ryan953 in #107288
- Add source field to coding integration analytics and expand coverage by @JoshFerge in #107528
- Add analytics tracking for coding integration CTA buttons by @JoshFerge in #107513
- Support multiple slack threads per alert for autofix updates by @leeandher in #107280
- Add pre-autofix cache for slack workflow notifications by @leeandher in #107117
- Add a reminder for Seer orgs who have not completed onboarding by @ryan953 in #106931
- Allow superuser override for seer onboarding by @billyvg in #106689
- Remove "Next Button" on Connect GitHub step by @billyvg in #106680
- Add feedback buttons to the top of Seer settings pages by @ryan953 in #106649
- Return seer preference
automation_handofffrom the bulk endpoint by @ryan953 in #106615
Seer Explorer
- In
trigger_autofix_explorer, sendproject_idwhen callingstart_run()by @billyvg in #108056 - Link to conversations from feedback by @obostjancic in #107148
- Add fab by @roaga in #106604
Sentry Apps
- Add interaction methods to region RPC service by @leeandher in #106282
- Add service hook projects methods to region RPC service by @leeandher in #106281
Settings
- Refactor organization teams list to SimpleTable by @scttcper in #107636
- Add timestamp for discarded issues by @cvxluo in #107583
- Allow picking project when routing to settings by @scttcper in #107354
Spans
- Add GCP log analyzer tool for span buffer operations by @fpacifici in #107538
- Use float precision for sentry.duration_ms calculation by @phacops in #106992
- Create options for dual write and flusher reads by @lvthanh03 in #106712
Spans Buffer
- Disable write to ZSET default option value by @lvthanh03 in #107853
- Enable read from SET by default by @lvthanh03 in #107852
- Enable write to unsorted SET by default by @lvthanh03 in #107851
- Add stuck detector for span flusher subprocess by @lvthanh03 in #107281
- Use separate redirect table for SET implementation by @lvthanh03 in #107083
- Add metrics comparison between SET and ZSET implementations by @lvthanh03 in #106990
- Add dual write for ZSET to SET migration by @lvthanh03 in #106794
Toolbar
- Bump toolbar to 1.0.0-beta.23 from beta.22 by @ryan953 in #107087
- Use the CSRF token in headers and cookies when using the sentry API by @ryan953 in #106286
Trace
Tracemetrics
- Return units from aggregate in response by @narsaynorath in #107695
- Add units feature flag by @narsaynorath in #107849
- Expose metrics UI for dart projects by @narsaynorath in #107569
- Pull multiple aggregates into table by @nsdeschenes in #107352
- Add react-native to metrics constants by @narsaynorath in #107422
- Add iOS and other apple platforms by @narsaynorath in #107344
- Pull data into chart by @nsdeschenes in #107277
- Enable multi-select on aggregate dropdown by @nsdeschenes in #107163
- Consistently distribute space for metric toolbar by @narsaynorath in #106979
- Style changes for table and page by @narsaynorath in #106669
Ui
- Support logs+metrics bundle by @chargome in #107328
- Modernize Rubik font loading by @scttcper in #107140
Uptime
- Register uptime-ai-assertion-suggestions feature flag by @jaydgoss in #108178
- Increase uptime monitor limits from 100 to 500 by @gaprl in #108070
- Add user setting to disable response capture by @wedamija in #107113
- Add API endpoints to delete response captures by @wedamija in #107092
- Add UptimeResponseCapture to cleanup infrastructure by @wedamija in #107079
- Add API endpoint for response capture retrieval by @wedamija in #107033
- Include response capture in incident evidence by @wedamija in #106491
- Create response captures on check failures by @wedamija in #106462
- Display assertion compilation errors in form by @jaydgoss in #106922
- Add test monitor button to uptime configuration forms by @jaydgoss in #106832
- Add default status code assertion for verifications by @jaydgoss in #106811
- Add assertion to uptime config model and serializers by @klochek in #106626
- Add capture_response_on_failure to config production by @wedamija in #106405
- Add UptimeResponseCapture model by @wedamija in #106341
- Add drag-and-drop reordering for assertions by @evanpurkhiser in #106465
Uptime Assertion Failure Data
- Implementing tree model by @Abdkhan14 in #107065
- Adding to issue evidence data by @Abdkhan14 in #107268
- Adding trace-item-id to /checks/ endpoint response by @Abdkhan14 in #107191
Webhook
- Support skipping sending GitHub webhooks to Codecov by @armenzg in #107946
- Add tags and context to webhook delivery by @armenzg in #107937
Other
- (ai-conversation) Do not allow for querying more than 30d of data by @vgrozdanic in #107843
- (alerts) Add trace metric alerts by @k-fish in #107508
- (attribute-breakdown) Open in expanded modal by @nsdeschenes in #106559
- (attributes) Support fetching explicit boolean attributes by @nsdeschenes in #106820
- (auth) Add CSRF debug logging for login flow by @JoshFerge in #107153
- (code review) Remove existing reactions and add 👀 to PR by @srest2021 in #106544
- (console) Update request console sdk access modal and button by @alexsohn1126 in #105612
- (dashboards/insights) Allow >90 days pickable by @DominikB2014 in #106529
- (db) Add model name to EncryptedField metrics tags by @vgrozdanic in #106531
- (debug) Allow debug to be a string by @wmak in #107182
- (deletion) Add partition support to BulkDeleteQuery and cleanup command by @dashed in #107906
- (detectors) Add helper to filter Detector IDs to those currently snoozed by @kcons in #108104
- (dev) Post_fetch system dependencies by @joshuarli in #107462
- (dev-infra) Add local selective testing job by @rbro112 in #108052
- (devservices) Use Shared postgres by @hubertdeng123 in #107258
- (discover) Add conditional functions and tpm to allowed arithmetic functions by @DominikB2014 in #107958
- (dyanmic-grouping) New sort order, cluster stats refactor by @scttcper in #106750
- (dynamically-sampling) Remove Get Samples button from UI by @priscilawebdev in #106953
- (eap) Use last-seen in EAP tagstore by @thetruecpaul in #106826
- (encryption) Add EncryptedTextField for encrypting text fields by @vgrozdanic in #106765
- (enrichment) Check ancestors for agent name in gen_ai spans by @obostjancic in #107056
- (eslint) Add use-semantic-token rule with modular architecture by @natemoo-re in #106917
- (events-stats) Add log event for stats usage by @wmak in #107295
- (explorer) Add attribute comparisons rpc by @aliu39 in #106486
- (gitlab) Add inbound/outbound assignment & comment support by @iamrajjoshi in #105472
- (hybridcloud) Preserve Content-Encoding header for Objectstore by @lcian in #106660
- (identities) Add GitHub Copilot identity to account identities page by @JoshFerge in #107443
- (ingest-metrics) Only use the segment metric for tx usage by @Dav1dde in #106350
- (insights) Add feature flag for mobile session health migration by @DominikB2014 in #107086
- (issue-search) Support has on issue scalar conditions by @Zylphrex in #107563
- (issue-views) Add backend endpoint for AI-generated view titles by @JoshFerge in #105970
- (java) Pass exception to symbolicate request by @romtsn in #104851
- (logs) Fetch vis and group by attributes on search by @nsdeschenes in #106433
- (member merge) Set email_unique on User object save by @mifu67 in #92696
- (middleware) Add AI agent friendly responses for unauthenticated requests by @dcramer in #106485
- (models) Add extras JSONField to CommitComparison by @trevor-e in #108283
- (nav) Add feature flag logic to show/hide the Prevent nav item by @ryan953 in #105346
- (open-periods) Backfill event_id from GroupOpenPeriod to GroupOpenPeriodActivity by @wedamija in #107866
- (ownership) Migrate assignee existence cache invalidation to use timestamp versioning on ownership by @shashjar in #106479
- (perf-detectors) Make it possible to provide a Detector ID to a PerformanceDetector by @kcons in #106713
- (profiling) Allow changing slowest functions sorting by @Zylphrex in #108014
- (project-details) Link to mobile session health by @bcoe in #106520
- (quotas) Add has_usage_quota interface method for usage-based categories by @dashed in #106393
- (relay) Add trimming to project config by @loewenheim in #108017
- (rollout) Add sample rate option to
SafeRolloutComparatorto gate double reads by @shashjar in #107115 - (rollouts) Add "should_use_experimental" function by @thetruecpaul in #106595
- (search) Upgrade to peggy v5 by @scttcper in #107749
- (search-query-builder) Leave input value for number filters by @nsdeschenes in #107616
- (security) Allow collection of COOP reports by @oioki in #106565
- (slack) Add feature flag for seer explorer @mentions by @leeandher in #107778
- (stories) Cleanup categories by @natemoo-re in #106379
- (supergroups) Send embedding requests to seer by @cvxluo in #107819
- (symbolication) Show malformed errors as malformed by @Dav1dde in #107574
- (symbolicator) Add SteamOS / Proton debug symbol server by @mujacica in #107667
- (tempest) Handle invalid_scope error from Sony auth endpoint by @JoshuaMoelans in #107225
- (trace-detector) More error state logging by @ArthurKnaus in #108105
- (uptime-assertion-in-checks) Adding assertion_failure_data to the eap_converter by @Abdkhan14 in #106833
- (uptime-detector-ongoing-issues) Ignoring date selection for uptime ongoing issues by @Abdkhan14 in #108144
- (uptime-detectore-schedule-preview) Adding preview section to monitor creation form. by @Abdkhan14 in #106612
- (uptime-issue-assertions-section) Sending assertion failure data… by @Abdkhan14 in #107546
- (uptime-issue-trace-preview) Ensuring that uptime spans are queried by @Abdkhan14 in #107868
- (uptime-json-path-assertion) Splitting path string to value, operator and operand by @Abdkhan14 in #107512
- (uptime-traces) Always querying for uptime events when querying a trace by @Abdkhan14 in #108245
- (usageStats) Add new
ignoredclient discard reason by @Lms24 in #106251 - (view-hierarchy) Allow forcing absolute positioning by @timfish in #107507
- (workflow engine) Issue open duration condition handler (BE) by @mifu67 in #107030
- Rewrite account details to new form system by @TkDodo in #107264
- Add confirm for autoSaveField by @TkDodo in #108307
- Add parent_index and sample_count fields to stacktrace Frame by @noahsmartin in #107917
- Send org_id and project_id to Seer severity score endpoint by @JoshFerge in #107756
- Add insights-frontend-overview-dashboard-migration feature flag by @DominikB2014 in #107615
- Add metrics onboarding for Apple platforms by @philprime in #107170
- Seer repo improvements by @JoshFerge in #107233
- Hide try codecov subscription modal button by @calvin-codecov in #107020
- Add metrics onboarding for Go by @giortzisg in #106554
- Remove code-review-beta condition from eligibility guard by @ajay-sentry in #106600
- Show details when there are any for sending test notifications by @JPeer264 in #106362
- Add cron job to schedule indexer job by @shruthilayaj in #106377
Bug Fixes 🐛
Aci
- Update tests to use 'any-short' logic type for trigger conditions by @NicoHinderling in #108257
- Restrict trigger logic type by @ceorourke in #107548
- Alert form env selector should set initial data correctly by @malwilley in #108076
- Better handling for eventType when creating metric alert/monitor URLs by @malwilley in #108069
- Handle anomaly condition evaluated data by @malwilley in #107905
- Handle missing error detector in associate_new_group_with_detector by @kcons in #107938
- Add errors support for dataSources by @nikkikapadia in #107857
- Update sentry app installation receiver to disable Actions by @ceorourke in #107460
- Fix ability to save webhook actions in alert form by @malwilley in #107708
- Fix mistyped comparison by @kcons in #107719
- Update customer facing automation text to alert by @ceorourke in #107629
- Order metric issue timeline by most recent first by @malwilley in #107529
- Fetch_workflow_groups_paginated typing correction by @kcons in #107526
- Update receiver to delete orphaned Actions by @ceorourke in #107532
- Fix create workflow documentation by @ceorourke in #107468
- Look up sentry app id for Action in dual write by @ceorourke in #107436
- Redo sentry app action migration by @ceorourke in #107208
- Add option to disable issue stream detector for certain group types by @cathteng in #106801
- Add back outbox category by @ceorourke in #107197
- Add helper to ensure malformed IDs always result in 400s by @kcons in #106822
- Use open period to set query bounds on metric issue by @malwilley in #107131
- Handle fallthroughType in email action translator by @cathteng in #106633
- Don't treat deleted Detector as an error by @kcons in #106727
- Fix workflow environment field by @ceorourke in #106636
- Fix saving alert form with projects you are not a member of by @malwilley in #106394
- Report InvalidSearchQuery as a 400 from OrganizationDetectorIndex by @kcons in #106622
- Default alert builder action filters to 'all' by @malwilley in #106583
- Hide 'All environments' option in uptime detector form by @malwilley in #106578
- Add validation for detector trigger condition results by @mifu67 in #106330
- Disable the IssueType data condition by @saponifi3d in #106426
Admin
- Handle GitHub Copilot identity category in admin user page by @JoshFerge in #108051
- Fix customers api endpoint to respect new cells architecture by @shellmayr in #107927
Agent Insights
- Trace drawer open event fired too often by @ArthurKnaus in #106566
- Wrong error count in traces by @ArthurKnaus in #106546
Agents
- Parse input's message from OpenRouter by @priscilawebdev in #107487
- Correct pagination spacing by @shellmayr in #107241
Ai Conversations
- Tool message parsing by @obostjancic in #107846
- Query only spans in conversation timeframe by @obostjancic in #107501
- End timestamp by @obostjancic in #107584
- Sum tokens only from ai_client spans by @obostjancic in #107485
- Misaligned border in active message bubble by @obostjancic in #107482
- Ignore statsPeriod for conversation details endpoint by @vgrozdanic in #107411
- Flip conversation messages bubbles by @matejminar in #107161
- Support gen_ai.input.messages by @obostjancic in #107222
- Agent selector multi-selection by @obostjancic in #107223
- Use correct query params in converstaion details page by @vgrozdanic in #107146
- Drawer span selection by @obostjancic in #107045
- Use correct query params by @vgrozdanic in #106733
Ai Insights
- Prioritize span.description over span.name by @obostjancic in #108309
- Normalize explore params by @obostjancic in #107493
- Update onboarding instructions by @obostjancic in #106864
Alerts
- Consider all ESCALATING substatus transitions as 'has_escalated' in alerts by @kcons in #108084
- Fix disabled 'create alert' button for org owners by @malwilley in #107751
- Support trace metrics in anomaly detection alerts by @k-fish in #107610
- Open in Metrics for trace metrics alerts by @k-fish in #107606
- Ensure project_id is an int in OrganizationEventsAnomaliesEndpoint by @kcons in #107467
- Use tracemetrics dataset for TRACE_ITEM_METRIC alerts by @k-fish in #107420
- Improve alerts list UX for downgraded plans by @mifu67 in #107019
- Respect 24-hour clock preference in email notifications by @leeandher in #106884
- Clear Slack channel_id when channel name is modified by @leeandher in #106824
- Support AssignedToFilter in issue alert preview by @leeandher in #106783
- Validate targetIdentifier is an int before we try to query with it as one by @kcons in #106401
Auth
- Sync CSRF token on form submit for multi-tab scenarios by @JoshFerge in #107389
- Fix test cookie race condition in multi-tab login by @JoshFerge in #107453
- Fix CSRF token refresh for multi-tab auth scenarios by @JoshFerge in #107214
Autofix
- Use step metadata in autofix completion hook by @Zylphrex in #107942
- Only require repos for manual rca by @Zylphrex in #108003
- Gate repos_not_found log on non-empty set by @JoshFerge in #107952
- Only coerce projects autofix automation on to medium by @Zylphrex in #107607
- Truncate GitHub Copilot prompt to avoid API limit by @JoshFerge in #107202
- Stable drawer width by @roaga in #107203
- Missed one /autofix/update call site by @Zylphrex in #107123
- Pass organization id for autofix update by @Zylphrex in #107107
Autopilot
- Deduplicate repository configs in missing SDK integration detector by @ArthurKnaus in #108115
- Emit error metric for Seer instantiation and artifact retrieval failures by @ArthurKnaus in #108111
- Add GitHub provider filter and gen AI consent checks to detectors by @ArthurKnaus in #108107
- Ensure instrumentation issues are not triggering alerts by @ArthurKnaus in #107587
- Increase integration detector poll timeout by @ArthurKnaus in #107320
- Ensure repo structure awareness by @ArthurKnaus in #106786
- Monorepo awareness by @ArthurKnaus in #106659
- Ensure docs URL usage by @ArthurKnaus in #106652
Billing
- Fix feature flags for emerge categories on usage stats page by @dashed in #107196
- Hide issue fixes and scans in stats page for non-legacy Seer orgs by @brendanhsentry in #107078
Cells
- Update Invoices and Customers index urls to cell-based by @kcons in #107698
- Use cell endpoint for closing invoices by @evanpurkhiser in #106445
Code Mappings
- Display the modal from issue details for all platforms by @shashjar in #107894
- For platforms lacking supported extensions, fall back to default frame info by @shashjar in #107893
Code Review
- Add "Copilot" user login special case to bot check by @srest2021 in #107861
- Add cache to dedupe github webhook events by @suejung-sentry in #107734
- Determine if user is bot by checking user login suffix instead of user type by @srest2021 in #107622
- Add
github_rate_limit_sensitivefield to seer config model by @srest2021 in #107697 - Disable 🎉 for orgs with large repos by @srest2021 in #107357
- Add date_updated to update_fields by @srest2021 in #107129
- Pass org id and org integration id to fix metrics by @suejung-sentry in #106648
- Look only at code review beta list by @suejung-sentry in #106540
- Handle when both seat plan and beta flag by @suejung-sentry in #106532
- Check if org has disabled default code review triggers by @suejung-sentry in #106430
- Fix staged billing check for GA by @suejung-sentry in #106146
Codeowners
- Move AI conversation rules after endpoints catch-all by @vgrozdanic in #107664
- Assing telemetry experience as codeowners for files related to AI conversation page by @vgrozdanic in #107147
Cursor
- Handle empty branch_name when launching Cursor agent by @JoshFerge in #106933
- Validate API key when setting up Cursor integration by @JoshFerge in #106502
Dashboard
- Frontend overview can't be cloned by @DominikB2014 in #108169
- Add to Dashboard fails widget builder add when first visit by @narsaynorath in #106396
Dashboards
- Increase allowed limit to 25 for categorical bar charts by @narsaynorath in #108229
- Include yAxis equations in top events table query by @DominikB2014 in #108228
- Fix issue where initial widget library selection does not load properly by @edwardgou-sentry in #108171
- Add empty fields to rage/dead clicks and server tree widgets by @DominikB2014 in #108221
- Fix issue with Web Vitals prebuilt dashboard slideout not correctly linking to next prebuilt Page Summary dashboard by @edwardgou-sentry in #108168
- Move NUM_DESKTOP_COLS constant to avoid circular dependancy by @edwardgou-sentry in #108163
- Exclude is_starred_transaction from explore URLs by @DominikB2014 in #108126
- Fix gaps and errors in Mobile Vitals Dashboards by @gggritso in #108033
- Use equations for frontend overview table and fix equation field rendering by @DominikB2014 in #108045
- Add missing attribute in widget library definition by @gggritso in #108046
- Fix default filters for web vitals prebuilt dashboard by @edwardgou-sentry in #107950
- Update number suffixes to uppercase (K, M, B) by @nikkikapadia in #107878
- Handle empty widget data gracefully instead of throwing by @DominikB2014 in #107784
- Fix system activity avatar sizing and dark mode by @edwardgou-sentry in #107598
- Fix slideout panels in page summary not filtering based on global filter on transaction by @edwardgou-sentry in #107560
- Bring selected option to top of visualize dropdown by @nikkikapadia in #107355
- Backend overview should only show transactions by @DominikB2014 in #107541
- Respect fieldMeta overrides for timeseries widget types by @DominikB2014 in #107524
- Query limit not being applied on releases dataset by @DominikB2014 in #107505
- Show first and last category labels on categorical bar charts by @gggritso in #107448
- Fixes transaction field renderer overwriting linked dashboard config by @edwardgou-sentry in #107416
- Dashboard remounts on url changes by @DominikB2014 in #107346
- Revert legend icons from checkmarks to circles by @gggritso in #107297
- Mobile session health should show crash free rate by @DominikB2014 in #107271
- Open in X should allow for My Projects selection by @narsaynorath in #107162
- Select the first supported display type if unsupported by @trevor-e in #107125
- Always auto-increment dashboard titles on conflict by @gggritso in #107023
- Add message to logs count aggregate default by @narsaynorath in #107094
- Create widget queries for new mobile app size hooks by @trevor-e in #107128
- Ensure tracemetrics-enabled flag applies to dataset by @narsaynorath in #107100
- Trace metrics not grouping by @DominikB2014 in #106867
- Bump echarts-for-react to fix legend event listeners by @gggritso in #106678
- Properly read type and unit from response for spans by @narsaynorath in #106572
- Simplify deprecated transactions dataset option by @gggritso in #106227
- Fix dashboard widget crosshair overlay synchronization by @gggritso in #106336
- Clear message when dataset doesnt support >90 days by @DominikB2014 in #106534
- Update dashboard selects to use new TypeBadge by @nsdeschenes in #106376
- Check query ID before moving out of loading state by @narsaynorath in #106449
Data Forwarding
- Handle datetime serialization in SQS data forwarder by @sentry in #107455
- Disable CTAs for users without org:write permission by @leeandher in #107000
Eap
- Handle rate limits from rpc by @wmak in #107342
- Explicitly check for None in search operation resolution by @Zylphrex in #107272
- Include trace_filters in top events timeseries queries by @volokluev in #107256
- Default is_eap to True in test utilities by @phacops in #106943
- Insert bool values correctly in tests by @phacops in #106935
Explore
- Use hasOwn to avoid checking constructor by @narsaynorath in #108268
- Use unique keys for column editor by @nsdeschenes in #108136
- Prevent duplicate history entries in spans explore by @edwardgou-sentry in #107644
- Copy changes for saving widget, monitor, query by @narsaynorath in #107251
Explorer
Form
- Auto-save for switch field by @TkDodo in #108222
- Stabilize the SelectIndicatorsContainer component by @TkDodo in #108214
Forms
- Improve validation error display in uptime and cron monitor forms by @jaydgoss in #107650
- Make multiline field utilities safe for undo actions by @scttcper in #106983
Github Copilot
- Poll Copilot agents in Explorer autofix path by @JoshFerge in #107759
- GET task status returns unwrapped task by @JoshFerge in #107730
- Update models to match current API response structure by @JoshFerge in #107648
Grouping
- Remove mechanism type check for RxJava exception detection by @romtsn in #107634
- Prevent DiagnosticCoroutineContextException from determining issue title by @romtsn in #107224
- Always check both exception and threads for stacktrace by @cvxluo in #107189
Infra
- Fix bug with changed file detection by @rbro112 in #106807
- Fix config issue for selective testing by @rbro112 in #106686
Insights
- Fix wrong render order in backend overview page by @DominikB2014 in #107972
- Fix user misery bar chart by @scttcper in #106468
- Queries module system selector should match table by @DominikB2014 in #106443
Issue Details
- Prevent unnecessary refetch when changing time range on specific event by @malwilley in #107282
- Show Seer tour copy only when Seer is available by @jaydgoss in #107069
Issues
- Check hideAiFeatures flag in title gen by @scttcper in #108147
- Allow
org:readfor issue view title generation by @scttcper in #108086 - Use background color on project icons by @scttcper in #107913
- Assert user.id is not None before ORM filter by @JoshFerge in #107744
- Disable Export All CSV option without discover-query feature by @leeandher in #106363
Lint
- Address
theme.tokens.borderviolations by @natemoo-re in #107457 - Address
theme.tokens.backgroundviolations by @natemoo-re in #107451 - Expand matches, skip custom properties by @natemoo-re in #107519
- Address
theme.tokens.contentviolations by @natemoo-re in #107314
Logs
- Only show Set Up Logs button when applicable by @narsaynorath in #108048
- Convert count() to count(message) when opening in explore by @narsaynorath in #107012
- Apply enhanced privacy rules to activity notification emails by @wedamija in #108177
- Sanitize user display names in invite and integration request emails by @wedamija in #108165
- Sanitize user display names in team access request emails by @wedamija in #108154
Notifications
- Use plural form for QUOTA_SIZE_ANALYSIS enum value by @dashed in #107450
- Fix Size Analysis feature flag filter typo by @dashed in #107418
Objectstore
Onboarding
- Await project deletion before navigating back by @billyvg in #108155
- Restore opacity on PageCorners container by @jaydgoss in #107890
- Fix iOS Safari scroll position on welcome screen by @jaydgoss in #107539
- Correct "capture first error" onboarding link by @scttcper in #107706
- Platform Xamarin does not support logs by @Flash0ver in #107612
Preprod
- Use project id instead of slug in test assertion by @chromy in #108232
- Fix project slug/id confusion in a few places by @chromy in #107491
- Restrict attributes available on mobile builds page by @trevor-e in #107514
- Add back attributes to featureFilter by @chromy in #107337
- Settings button redirect by @chromy in #107488
- Add unique constraint to commit comparison by @trevor-e in #107371
- Remove redundant "apps analyzed" text when size checks … by @mtopo27 in #107292
- Remove ineffective retry logic for size status checks by @trevor-e in #107303
- Register snapshot models with Django to resolve migration drift by @NicoHinderling in #107302
- Use trace_id for EAP data deletion by @sentry in #107289
- Handle missing diff_type in treemap tooltip by @trevor-e in #107300
- Fix git metadata banner margin on small screens by @mtopo27 in #107270
- Update quota exceeded alert copy and link by @mtopo27 in #107279
- Fix URL length issue when "All Projects" selected in Mobile Builds by @runningcode in #107243
- Add NOT_STARTED state to frontend by @chromy in #107145
- Convert release_version to structured query for builds endpoint by @runningcode in #107157
- Disable Save Rule button when no unsaved changes by @mtopo27 in #107176
- Convert settings FF preprod-issues -> preprod-frontend-routes by @chromy in #107156
- Remove organization slug from legacy URL redirects by @runningcode in #106970
- Update SearchType enum on backend by @chromy in #106994
- Filter insight diff tabs by status by @mtopo27 in #106900
- Update build attributes to match search bar by @chromy in #106960
- Fix search project selection by @chromy in #106951
- Hide the discover button for mobile app size by @trevor-e in #106908
- Temporarily hardcode to neutral status checks by @trevor-e in #106699
- Show correct message on no size analysis by @chromy in #106705
- Use correct write keys for options by @chromy in #106691
- Use get_or_create to avoid duplicate comparison IntegrityError by @trevor-e in #106490
- Correctly attribute rate limiting errors by @trevor-e in #106580
- Add status check retry delay by @trevor-e in #106481
- Fix settings api bug for status checks by @NicoHinderling in #106480
Releases
- Return datetime from get_oldest_health_data_for_releases by @scttcper in #106997
- Exclude archived releases from "Resolve in Next Release" by @leeandher in #106674
- Add null checks for ECharts options in drawer by @seer-by-sentry in #106831
- Use mobile_app_info for preprod build count query by @cameroncooke in #106527
Replay
- Allow replay access to org tokens, superusers & SentryApps with granular permissions by @shellmayr in #107325
- Fix AI summary loading message randomization by @billyvg in #106723
Scraps
- Allow rendering Text as by @TkDodo in #108207
- Align leadingItems in compactSelect with check box/icon by @TkDodo in #106972
Seer
- Clarify Seer error message key in logs by @sentry in #108120
- SeerOperator fixes for explorer-autofix compatibility by @leeandher in #108271
- Fix Seer onboarding so that users get to the Code-Review step first when its needed by @ryan953 in #108183
- Fix seer onboarding to show the final summary step as the user progresses through the wizard by @ryan953 in #108164
- Fix label on Settings > Seer > Projects table to align with details page by @ryan953 in #108050
- Use provider.name for consistency by @billyvg in #107686
- Allow any seer-using org to get to the repo list page by @ryan953 in #107818
- Respect enable_seer_enhanced_alerts option in Slack entrypoint by @leeandher in #107624
- Fix links to seer settings by @scttcper in #107707
- Add aggregate field to anomaly detection api by @sehr-m in #107649
- RCA Onboarding step broken due to provider by @billyvg in #107680
- Various improvements to trace explorer setup endpoint by @JoshFerge in #107244
- Various improvements to anomaly detection endpoint by @JoshFerge in #107242
- Show repo owner/name in the list of seer connected repos by @ryan953 in #107177
- Remove empty Project column in Seer Settings > Repos by @ryan953 in #107134
- Settings was not splitting repo name and repo owner properly by @ryan953 in #107112
- Fix link to seer code-review docs by @ryan953 in #106683
- Update showNewSeer conditions to count the
code-review-betacohort as legacy orgs by @ryan953 in #106425 - Validate project permissions in trace explorer AI query by @oioki in #106432
Settings
- Add tooltip to explain Unknown Provider on repos page by @gaprl in #107816
- Prevent overflow from OpenTelementry yaml by @scttcper in #107804
- Update team modal design/copy by @scttcper in #107547
- When an org has a disabled github integration we incorrectly detected it as being setup by @ryan953 in #106910
- Handle stats API failure on Data Forwarding page by @leeandher in #106372
Span Buffer
- Add observability metrics to EVALSHA by @evanh in #106538
- Add debug logging option for span buffer subsegments by @lvthanh03 in #106539
Spans Migration
- Ensure validation of extrapolation mode on alert updates by @nikkikapadia in #107678
- Add validation to not update alerts to transactions or generic_metrics by @nikkikapadia in #107626
- Map span.module to span.category by @nikkikapadia in #107509
- Replace
parse_functionwith match and parse_arguments by @nikkikapadia in #107421 - Add spm translation and decimal apdex by @nikkikapadia in #107291
- Add event type check in migration function by @nikkikapadia in #106537
Stories
- Shadow by @natemoo-re in #107511
- Shorten component category labels by @natemoo-re in #107366
Tests
- Fix test pollution in CheckScopeTransactionTest by @joshuarli in #108284
- Prevent tests from producing real Kafka messages to taskbroker by @dashed in #107729
- Remove incorrect message.parameter.0 expectation by @phacops in #107339
- Add type annotations for mock_audit_logger parameters by @JoshFerge in #106849
- Update spans fields stats test for lastSeen field by @phacops in #106731
- Fix boolean conversion in scalar_to_any_value by @phacops in #106677
- Use
assert_any_callto address task severity flake by @kenzoengineer in #106623 - RenderWithOnboardingLayout utility shouldn't have a fix platformKey by @priscilawebdev in #106557
Top Issues
- Fix TopIssuesDrawer unconstrained width on long error messages in stacktrace by @yuvmen in #106332
- Swap Title and Subtitle in Drawer to match Cluster Card by @yuvmen in #106333
Trace Waterfall
- Span name panel was not taking into account scroll wheel by @bcoe in #108347
- Add cycle protections by @nsdeschenes in #106888
- Update chevron directions by @nsdeschenes in #106952
- Only check direct children by @nsdeschenes in #106874
Tracemetrics
- Add menu title to show loader by @nsdeschenes in #107586
- Metric Selector should pass along environment filter by @narsaynorath in #107440
- Align confidence footer with logs clarity by @narsaynorath in #107253
- Group by selector should allow clearing by @narsaynorath in #107250
- Switch to Aggregates mode when a group by is added by @narsaynorath in #107179
- Add timestamp to filterable fields by @narsaynorath in #106456
Typing
- Use cast for get_field return type in test_hybrid_cloud by @JoshFerge in #107793
- Rename detector_id annotation to avoid shadowing model field by @JoshFerge in #107791
- Fix order_by column type handling in base_query_set by @JoshFerge in #107790
- Move sentry.workflow_engine to strict mypy by @kcons in #107545
- Add missing type annotations to tests/sentry/users by @thetruecpaul in #106817
- Type tests.sentry.tempest by @thetruecpaul in #106795
Ui
- Wait for member store before id-based fetches by @scttcper in #108091
- Disallow body scroll while drawer is open by @TkDodo in #108027
- Add org slug to settings routes by @scttcper in #107722
- Wrap stacktrace link setup button on small screens by @scttcper in #107694
- Display specific API error messages for assignment failures by @geoffg-sentry in #107335
- Streamline colors for groupStatusChart by @TkDodo in #107044
- Delay checking frontend version for 10 minutes by @scttcper in #107016
Uptime
- Remove invalid select_related on ManyToManyField by @JoshFerge in #107738
- Allow disabled uptime monitors to be accessed via project endpoint by @jaydgoss in #107550
- Pass full subscription object to validator by @klochek in #107557
- Add failsafe to make sure we properly sync
capture_response_on_failureby @wedamija in #107380 - Backfill delete bad uptime checker assertion values by @klochek in #107359
- Preserve null assertions when editing monitors with feature flag off by @jaydgoss in #107365
- Handle overflow for long monitor names by @jaydgoss in #107116
- Use the first uptime region to run preview checks by @klochek in #106797
- Fix cURL snippet background leaking in alert form by @jaydgoss in #106722
- Allow typing intermediate values in status code input by @jaydgoss in #106487
- Fix bug where the data conditions for an uptime monitor aren't created correctly via the new ui by @wedamija in #106605
- Validator should not set null for body and related by @klochek in #106470
- Checker_api should not set null for body and related by @klochek in #106460
- Make verification section smaller in uptime monitor editor by @jaydgoss in #106402
Users
- Use project_id for HybridCloudForeignKey filter by @JoshFerge in #107746
- Assert user.id is not None before ORM get by @JoshFerge in #107745
Workflow Engine
- Remove unused has_reappeared from workflow event data by @kcons in #108082
- Add a cache for Workflows to reduce DB load by @saponifi3d in #106925
Other
- (agent) Parse JSON-stringified AI message content by @priscilawebdev in #107588
- (ai-drawer) Accomodate pretty/raw button in json viewer component by @priscilawebdev in #106549
- (ai-trace) List disappears on breakpoint change by @ArthurKnaus in #106548
- (api) Fix rate units not populating for equation fields by @DominikB2014 in #108043
- (api docs) Fix typo in API docs example by @shashjar in #108201
- (attribute-breakdown) Pass query instead of grabbing from context by @nsdeschenes in #108044
- (attributes) Set allowWildcards to false for project by @nsdeschenes in #108053
- (audit_log) Correct DetectorWorkflow audit log data by @seer-by-sentry in #106382
- (automation) Don't run automation on issues older than 2 weeks by @Mihir-Mavalankar in #107465
- (backend-overview) Render Laravel page before other platformized pages by @DominikB2014 in #108219
- (backup) Reorder imported models based on current canonical import order by @kcons in #106634
- (bug-prediction) Accept unprefixed provider by @kddubey in #107884
- (checkout) Reactive but debounced volume sliders by @isabellaenriquez in #106525
- (ci) Install uv in post_fetch for devenv ci by @joshuarli in #108265
- (code review) Create repo settings even if org's default code review toggle is false by @srest2021 in #106641
- (coding integration) Add short id for all cursor calls by @sehr-m in #106988
- (context) Redirect the user to the right page when a project was renamed by @shashjar in #106643
- (context-picker) Prevent layout shift when loading projects by @scttcper in #107463
- (conversations) Fix cache pollution during project transitions by @priscilawebdev in #107101
- (crons) Enable pointer events on incident indicator by @jaydgoss in #106319
- (darkmode) Code snippet background color by @shellmayr in #107397
- (debug) Putting debug on the same attribute breaks search by @wmak in #107278
- (debug-files) Extract query param to avoid passing None to ORM filter by @JoshFerge in #107740
- (deps) Address Dependabot security alerts for multiple packages by @BYK in #107908
- (detector-schedule-preview) Shouldn't overlay higher z-index comp… by @Abdkhan14 in #106753
- (detectors) Only render service incidents overlay on cron monitors by @jaydgoss in #106308
- (devservices) Update postgres container name by @hubertdeng123 in #107285
- (discover) Disable context menu for starred transaction cell by @DominikB2014 in #107362
- (dynamic-sampling) Transaction management error by @shellmayr in #108117
- (eap-spans) Handle None attribute with groupBy + topEvents by @DominikB2014 in #106875
- (eco) Fixes typing for integration debug data, reduces page size by @GabeVillalobos in #106472
- (encryption) Fix encrypted field metrics table_name tag by @vgrozdanic in #106957
- (eventstream) Use an arroyo producer for eventstream by @evanh in #104763
- (frontend) Include react config for our pipeline asset response by @trevor-e in #108157
- (github) Allow installing orphaned integrations from multi-org dropdown by @cathteng in #107130
- (hybridcloud) Use distribution metric for webhook delivery time by @armenzg in #108289
- (identities) Use GitHub logo for GitHub Copilot identity by @JoshFerge in #107497
- (integrations) Filter installed repos by organization in repo listing by @leeandher in #107677
- (issue owners) Allow updates when team membership is open by @lobsterkatie in #107895
- (issue-ownership) Stop codeowners matching suffixes by @cvxluo in #104398
- (issue-stream) Apply correct styles to waiting for error message by @priscilawebdev in #107839
- (jira) Add project search to issue sync config by @cathteng in #107865
- (killswitches) Always emit a metric if there is a match by @untitaker in #107068
- (llm-detection, seer-rpc) Return 429 on Snuba rate limit for Seer retry by @nora-shap in #107446
- (llm-detector) Add
org_slugto Seer request by @roggenkemper in #107630 - (metric alerts) Separate SubscriptionProcessor fetch phase from evaluation by @kcons in #106229
- (middleware) Skip OAuth endpoints in AI agent middleware by @dcramer in #106711
- (monitors) Typo Confirgure -> Configure by @chromy in #108013
- (perf) Avoid extra queries in MonitorEnvironmentSerializer by @kcons in #106428
- (perf-cli) Pass detector-specific settings in
sentry performancecommands by @roggenkemper in #108074 - (prevent) Improve redirects to pages that exist wrt the Prevent main nav button by @ryan953 in #106489
- (profiling) Fix pluralization of "samples" in flamegraph tooltip by @noahsmartin in #106381
- (project) Make org update and team cleanup atomic during project transfer by @yuvmen in #108153
- (prompts) Remove redundant organization_id from GET query params by @dcramer in #106413
- (redis) Cast Redis version to string before parsing by @shashjar in #107690
- (relay) Add back sessions EAP rollout rate by @noahsmartin in #108079
- (replay-summary) Pass org and proj id in state and delete requests by @aliu39 in #107089
- (sdk) Let the SDK instantiate MultiplexingTransport so that dsn is setup correctly by @sl0thentr0py in #107923
- (search) Handle currency as numeric by @nsdeschenes in #108224
- (searchQueryBuilder) Revert memo merge refs by @scttcper in #107206
- (security) IDOR in PromptsActivityEndpoint GET - scope project by organization by @dcramer in #104990
- (seer-explorer) Move seer-explorer FF check to endpoints by @vgrozdanic in #108108
- (seer-slack) Allow clicks on existing runs to handle gracefully by @leeandher in #108175
- (sentry-apps) Prevent race condition on service hook sentry app rpc by @leeandher in #106526
- (slack-seer) Simplify blocks, remove skipping steps and excess checks by @leeandher in #108063
- (snuba_rpc) Fix error handling for non-protofbuf responses for Snuba RPC by @yuvmen in #107995
- (spans) Add more observability for SpanFlusher.main timeout by @lvthanh03 in #106825
- (spans,logs) Adjust collapse buttons placement by @JPeer264 in #108022
- (storybook) Rendering without type-loader by @TkDodo in #108204
- (tags) Handle status tag by @wmak in #106056
- (theme) Dark chart palette by @natemoo-re in #106903
- (tokens) Add missing
asprop by @natemoo-re in #107712 - (trace) Improve trace performance by @wmak in #107358
- (trace-attrs) Assert organization_id is not None before ORM filter by @JoshFerge in #107741
- (trace-explorer) Handle empty baseline cohort in ranked attributes API by @seer-by-sentry in #106483
- (trace-items) Handle aliases by @wmak in #106607
- (traces) Use span.name instead of transaction by @wmak in #107543
- (type-coverage) Larger buffer & better summary by @TkDodo in #106862
- (unmerge) Explicitly set
first_seenvalues for each group-environment pair by @shashjar in #107907 - (uptime-ongoing-issues) Issue list errors when check-in timeline is zoomed by @Abdkhan14 in #107859
- (vercel) Check user_id is not None before ORM get by @JoshFerge in #107742
- (vsts) Guard identity_id is not None before ORM get by @JoshFerge in #107743
- (widget-builder) Prevent TypeError when sorting with equation-only yAxis by @seer-by-sentry in #106834
- (widget-viewer) Release test flaky by @narsaynorath in #107283
- Revert "Revert "ref(data-forwarding): Remove revamp-access feature fl… by @leeandher in #107933
- Revert "Revert "ref(data-forwarding): Remove revamp-access flag by @leeandher in #107934
- Improvements to seer preferences endpoints by @JoshFerge in #107257
- Improve seer automation endpoint by @JoshFerge in #107235
- Revert "fix(scraps): align leadingItems in compactSelect with check box/icon (#106167)" by @TkDodo in #106889
- Disallow custom CSS in marked by @oioki in #106368
Documentation 📚
- (agents) Consolidate critical instructions into main AGENTS.md by @armenzg in #106515
- Remove extras from installation instructions by @sentrivana in #107492
Internal Changes 🔧
Aci
- Remove unused RPC methods by @ceorourke in #108256
- Update sentry app installation outbox receiver's method call by @ceorourke in #108152
- Add 'new' RPC methods for updating action on sentry app installation deletion by @ceorourke in #108089
- Allow metric issue types to be enabled in the issue stream detector vis the
workflow-engine-metric-issue-uiflag by @wedamija in #108001 - Allow
MetricIssueui visibility to be controlled via multiple flags. by @wedamija in #107985 - Remove references to SentryAppIdentifier by @ceorourke in #107887
- Make sentry_app_installation_uuid optional by @ceorourke in #107879
- Remove support for legacy sentry app data in Actions by @ceorourke in #107174
- Unhook conditions from rules code by @mifu67 in #107754
- Clean up GA'd feature flags by @cathteng in #107739
- Add eventId to GroupOpenPeriodActivity serializer by @malwilley in #107464
- Migration to fix fallthrough_type on email Actions by @cathteng in #106902
- Search open period activity entries for event_id by @malwilley in #107431
- Start recording event_id field in GroupPeriodActivity by @malwilley in #107381
- Add event_id column to GroupOpenPeriodActivity model by @malwilley in #107305
- Add 'beta' warning to ACI endpoints by @ceorourke in #107008
- Use serializer responses as serialize response type by @ceorourke in #106747
- Rename _ensure_metric_detector by @kcons in #106720
- Delete dead detector processing code by @kcons in #106717
- Add feature flag for releasing metric issues by @malwilley in #106629
- Default test_post_process.py to workflow engine by @cathteng in #106598
- Default tests to workflow engine by @cathteng in #106589
- Add back subscription processor EAP test by @ceorourke in #105866
- Use rule test factory by @cathteng in #106431
- Create default detectors in tests by @cathteng in #106404
- Default tests to dual write by @cathteng in #106386
- Make latest workflow fire queries reliably fast by @kcons in #106400
- Remove unused detector workflow endpoints by @ceorourke in #106328
Agent
- Move node onboarding to its own file & clean-up by @priscilawebdev in #106946
- Create onboarding for client-side only by @priscilawebdev in #106758
Agents
- Prefetch and load drawer independently of trace's table by @priscilawebdev in #107663
- Remove ai-insights-generations-page feature flag by @priscilawebdev in #107481
- Add code comment with explanations by @priscilawebdev in #107319
Alerts
- Remove deprecatedRouteProps from metricAlertRuleDetails route by @ryan953 in #106348
- Migrate issue
AlertRuleDetailsview off ofdeprecatedRoutePropsby @shashjar in #106473 - Migrate
AlertsContainerand children views off ofdeprecatedRoutePropsby @shashjar in #106421 - Increase max rollup constants by @nikkikapadia in #106397
Api
- Deprecate last plugin webhook endpoints by @cvxluo in #107296
- Deprecate non-org-scoped accept-project-transfer endpoint by @cvxluo in #107209
- Remove deprecated crossdomain.xml endpoint by @cvxluo in #107293
- Deprecate non-org-scoped group external issue details endpoint by @roggenkemper in #106791
- Update group-details test mock URLs to org-scoped pattern by @roggenkemper in #106869
- Update group-event-details URLs to org-scoped pattern by @roggenkemper in #106871
- Update group-activities test mock URLs to org-scoped pattern by @roggenkemper in #106870
- Deprecate non-org-scoped group external issues endpoint by @roggenkemper in #106792
- Deprecate non-org-scoped group autofix endpoint by @roggenkemper in #106668
- Deprecate non-org-scoped group autofix update endpoint by @roggenkemper in #106666
- Deprecate legacy autofix setup endpoint URL by @roggenkemper in #106663
- Deprecate legacy ai summary endpoint URL by @roggenkemper in #106662
- Deprecate plugin endpoints by @roggenkemper in #106601
- Deprecate non-org-scoped group integration details endpoint by @roggenkemper in #106789
- Deprecate non-org-scoped group integrations endpoint by @roggenkemper in #106790
- Deprecate legacy group-note-details endpoint URL by @roggenkemper in #106608
- Deprecate non-org-scoped group-similar endpoint by @roggenkemper in #106684
- Deprecate non-org-scoped group-attachments endpoint by @roggenkemper in #106687
- Deprecate non-org-scoped group-user-reports endpoint by @roggenkemper in #106690
- Deprecate non-org-scoped group reprocessing endpoint by @roggenkemper in #106693
- Deprecate non-org-scoped group hashes endpoint by @roggenkemper in #106697
- Update frontend test to use org-scoped similar endpoint URLs by @roggenkemper in #106685
- Update group hashes mock URLs to org-scoped by @roggenkemper in #106696
- Deprecate non-org-scoped group-current-release endpoint by @roggenkemper in #106694
- Deprecate legacy group-notes endpoint URL by @roggenkemper in #106609
- Deprecate non-org-scoped similar-issues-embeddings endpoint by @roggenkemper in #106673
- Update suspect flags/tags tests to use org-scoped URLs by @roggenkemper in #106587
Autofix
- Add BQ analytics events for the automation tasks by @Mihir-Mavalankar in #107716
- Use low intelligence level for autofix by @Zylphrex in #107620
- Use low intelligence level for autofix by default by @Zylphrex in #107619
- Pass prompt metadata for explorer autofix by @Zylphrex in #107435
- Track issue age since first seen for new automation by @Mihir-Mavalankar in #107461
- Tweak prompts to always write the artifact by @Zylphrex in #107427
- Use random intelligence level for explorer autofix by @Zylphrex in #107353
- Hide solution option if coding already done by @roaga in #106409
- Less annoying five whys by @roaga in #106407
Autopilot
- Remove source_root from missing SDK integration detector by @ArthurKnaus in #108119
- Split tasks.py into separate detector modules by @ArthurKnaus in #107659
- Limit missing integration detector to JS and python by @ArthurKnaus in #107398
- Break trace propagation for spawned detector tasks by @vgrozdanic in #107323
- Split integration detector into per project tasks by @ArthurKnaus in #107239
- Use medium agent intelligence level by @ArthurKnaus in #107220
- Increase detector time interval by @ArthurKnaus in #107219
- Simplify missing integration detector prompt by @ArthurKnaus in #107060
Billing
- Removed prevent user and prevent review references(BIL-2092) by @krithikravi in #107567
- Remove deprecated performance promo frontend by @cvxluo in #107386
- Replace seer-user-billing with launch flag by @brendanhsentry in #107351
- Remove seer-user-billing flag by @brendanhsentry in #106982
- Rename "Size Analysis Uploads" to "Size Analysis Builds" by @dashed in #106813
- Add constants for emerge by @vbro in #106235
- Refactoring seat methods in quotas.py to not use data_category by @krithikravi in #106331
Cells
- Convert internal-project-config endpoint to internal by @cvxluo in #107301
- Convert relay endpoints to internal by @cvxluo in #107198
- Deprecate non-org-scoped related-issues endpoint by @cvxluo in #107180
- Update miscellaneous python tests to use org-scoped group endpoint URLs by @mifu67 in #106927
- Update remaining frontend tests to use org-scoped endpoint URLs by @mifu67 in #106928
- Deprecate group-tag-key-details endpoint by @mifu67 in #106920
- Deprecate group-tag-key-values endpoint by @mifu67 in #106904
- Update frontend group-tags code to use correct org-scoped URL by @mifu67 in #106730
- Deprecate group-tags endpoint by @mifu67 in #106728
- Deprecate group-stats endpoint by @mifu67 in #106719
- Deprecate group-event-details endpoint by @mifu67 in #106698
- Update frontend group-details tests to use correct org-scoped URL by @mifu67 in #106701
- Deprecate group-events endpoint by @mifu67 in #106644
- Deprecate group-details endpoint by @mifu67 in #106613
- Deprecate group-activities endpoint by @mifu67 in #106631
- Remove relay.public_keys.post capture message by @markstory in #106542
- Use isCellScoped for user customers endpoint by @evanpurkhiser in #106457
Ci
- Ignore
ruffreformatting commit in Git Blame by @shashjar in #108202 - Run tsgo (optional) in ci by @natemoo-re in #107433
Code Review
- Add date_updated and date_added columns to RepositorySettings by @srest2021 in #106977
- Reorder contributor seat check to avoid unnecessary seat-based-seer-enabled calls by @srest2021 in #106724
Code Review
- Log GH -> seer request time by @kddubey in #107834
- Add additional logging for sentry by @suejungshin in #107823
- Log code review request by @kddubey in #107445
- Remove non-validated payloads path by @armenzg in #107237
- Remove deprecated consent rpcs by @suejung-sentry in #107035
- Delete prevent ai configuration v0 table by @suejung-sentry in #107013
This changelog has been truncated. See the full changelog for all changes.
alertsworkflowsapiaibillingonboarding
Source: original entry ↗