Download Latest Version 26.3.1 source code.tar.gz (52.1 MB)
Email in envelope

Get an email when there's a new version of Sentry

Home / 26.2.0
Name Modified Size InfoDownloads / Week
Parent folder
26.2.0 source code.tar.gz 2026-02-17 51.3 MB
26.2.0 source code.zip 2026-02-17 62.3 MB
README.md 2026-02-17 124.9 kB
Totals: 3 Items   113.8 MB 0

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 of flake8 to ruff by @shashjar in #108010
  • Add ruff as 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 Dashboard from static widgets to open widget library in builder by @edwardgou-sentry in #108060
  • Add staleTime to 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

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 hasLogsAndMetrics in 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.border violations by @natemoo-re in #107458
  • Catch theme.tokens.background violations by @natemoo-re in #107452
  • Catch theme.tokens.content violations by @natemoo-re in #107313
  • Add all TOKEN_RULES for use-semantic-token by @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 type attribute for filtering error/issue platform events by @shashjar in #108099
  • Implement double reads in the GroupEventsEndpoint by @shashjar in #105969
  • Implement count_if & min aggregates 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 size and distribution in 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 project when 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
  • 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 Generation to 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 code buttons 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/ return needsConfigReminder by @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_handoff from the bulk endpoint by @ryan953 in #106615

Seer Explorer

  • In trigger_autofix_explorer, send project_id when calling start_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

  • Add metrics for ts offset by @wmak in #107549
  • Process the last page by @wmak in #107544

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 :eyes: 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 SafeRolloutComparator to 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 ignored client 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_sensitive field to seer config model by @srest2021 in #107697
  • Disable :tada: 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

  • Fix mobile styles by @roaga in #107603
  • Add org id to update endpoint request by @roaga in #107071

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:read for 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.border violations by @natemoo-re in #107457
  • Address theme.tokens.background violations by @natemoo-re in #107451
  • Expand matches, skip custom properties by @natemoo-re in #107519
  • Address theme.tokens.content violations 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

Mail

  • 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

  • Workaround read timeouts by @jan-auer in #108112
  • Fix proxy in siloed mode by @lcian in #106172

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
  • 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-beta cohort 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_function with 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_call to 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_failure by @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_slug to 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 performance commands 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 as prop 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_seen values 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-ui flag by @wedamija in #108001
  • Allow MetricIssue ui 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 AlertRuleDetails view off of deprecatedRouteProps by @shashjar in #106473
  • Migrate AlertsContainer and children views off of deprecatedRouteProps by @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 ruff reformatting 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.

Source: README.md, updated 2026-02-17