github getsentry/sentry 26.4.0

11 hours ago

New Features ✨

Aci

Admin

Agents

Ai Insights

Ai Issues

Alerts

  • Add per-method workflow engine flags for project alert rule endpoints by @kcons in #112827
  • Set up prune_old_open_period_activity by @kcons in #112243
  • Report in Sentry and headers whether legacy models were used by @kcons in #110954
  • Add pure Detector/Workflow version of OrganizationCombinedRuleIndexEndpoint by @kcons in #110700

Api

Assisted Query

Attachments

Autofix

Aws Lambda

Billing

Bitbucket

Cells

Chartcuterie

Ci

Cmd K

  • Add 'superuser' keyword to admin actions by @JonasBa in #112298
  • Add comprehensive analytics for the new command palette by @jshchnz in #111684
  • Add Amplitude analytics instrumentation to command palette by @JonasBa in #111553

Cmdk

Code Mappings

  • Handle Java monorepo source roots in auto-derivation task by @romtsn in #112655
  • Allow multiple source roots per stack root by @romtsn in #111704

Codecov

Codeowners

Coding Integrations

Context Engine

Conversations

Dashboards

Data Export

Errors

Eslint

Experiments

Explore

Flagpole

Github

Gitlab

Grouping

Hybridcloud

Insights

Integrations

Intercom

  • Separate chat per org by @sentaur-athena in #112551
  • Closing intercom session on org change by @sentaur-athena in #112549

Issue Details

  • Add android native tombstones onboarding banner by @romtsn in #112478
  • Add analytics for similar and merged issues drawers by @cvxluo in #112618
  • Show supergroup in issue details sidebar by @scttcper in #112543

Issues

  • Use new stack trace in stack trace preview by @scttcper in #111592
  • Deduplicate replay-count API requests in issue stream by @scttcper in #112323
  • Refactor SuspectCommits layout, clean up types by @scttcper in #111818
  • Prefetch supergroup data and add stats columns to rows by @scttcper in #111719
  • Simplify shared issue event rendering by @scttcper in #111769
  • Recent issues with autofix view by @Zylphrex in #111617
  • New stack trace component by @scttcper in #109428

Logs

Metrics

Monitors

  • Add onboarding modal for the new alerts/monitors pages by @malwilley in #112694
  • Add info hint for diff-based issue detection by @mtopo27 in #111698

Nav

Notifications

  • Hook into the platform in the slack send_alert step for metric laerts by @Christinarlong in #112189
  • Add notification data and renderer for metric alerts by @Christinarlong in #111674
  • Add threading to notification service by @Christinarlong in #110951

Np

  • Adds Discord metric alert renderer by @GabeVillalobos in #112420
  • Adds Discord issue renderer, updates Slack renderer tagging extraction by @GabeVillalobos in #112079
  • Adds rough notification renderer for issue alerts, as a thin wrapper by @GabeVillalobos in #110929
  • Adds notification platform skill for creation of new notifications, providers, and renderers by @GabeVillalobos in #109754

Occurrences On Eap

Onboarding

  • Pre-populate repo selector with full repo list by @jaydgoss in #112685
  • Add onboarding docs for Vercel AI ToolLoopAgent by @constantinius in #112333
  • Gate SCM onboarding flow with useExperiment hook by @jaydgoss in #112206
  • Add animated Sentry logo to SCM onboarding steps by @jaydgoss in #112386
  • Add Litestar as a Python onboarding platform (FE) by @sentrivana in #111607
  • Added Metrics to Unity by @bitsandfoxes in #108118
  • Add Litestar as a Python onboarding platform (BE) by @sentrivana in #111522
  • SCM project details step UI polish and analytics by @jaydgoss in #111623
  • SCM platform features step UI polish and analytics by @jaydgoss in #111529
  • Add logs onboarding for Elixir by @sl0thentr0py in #110038
  • SCM connect step UI polish and analytics by @jaydgoss in #111478
  • Sync feature selections from context to SetupDocs URL params by @jaydgoss in #111334
  • Implement SCM project details step by @jaydgoss in #111306
  • Implement SCM platform & features step by @jaydgoss in #111160
  • Implement SCM_CONNECT step with provider connection and repo selection by @jaydgoss in #110883

Pipeline

Preprod

  • Add artifact_type field to Explore UI (EME-874) by @cameroncooke in #113034
  • Add settings link to snapshot PR comments by @runningcode in #112909
  • Store metrics artifact type as string in EAP [backend] (EME-874) by @cameroncooke in #112905
  • Auto-filter installable:true when switching to Distribution view by @mtopo27 in #112533
  • Add snapshot PR comments toggle to project settings by @runningcode in #112362
  • Include authToken in ProjectPreprodUploadOptions by @lcian in #112466
  • Add snapshot PR comment templates by @runningcode in #112353
  • Check for actual build data when showing mobile builds tab by @NicoHinderling in #112525
  • Sort insight diff by total potential savings by @mtopo27 in #112476
  • Add snapshot details to admin info endpoint by @NicoHinderling in #112482
  • Upgrade admin panel's "rerun analysis" action to support batch (up to 100) by @NicoHinderling in #112481
  • Add snapshot auto-approval for repeated PR builds by @NicoHinderling in #112421
  • Add settings link to build distribution PR comments by @runningcode in #112366
  • Add installable attribute to EAP alias mappings by @mtopo27 in #112363
  • Split Mobile Builds settings into tabbed interface by @mtopo27 in #112151
  • Register feature flag and project option for snapshot PR comments by @runningcode in #112100
  • Add snapshot approval UI in header by @NicoHinderling in #111977
  • Add approval API endpoint and approval info in snapshot response by @NicoHinderling in #111976
  • Filter settings page builds by display type by @NicoHinderling in #112046
  • Create NEEDS_APPROVAL records in status check tasks by @NicoHinderling in #111975
  • Delete snapshot objectstore data on artifact deletion by @NicoHinderling in #111972
  • Add app identifier to size analysis alert notifications by @mtopo27 in #111994
  • Add triggered condition section for size analysis issues by @mtopo27 in #111978
  • Add value, conditions, and config to size analysis evidence_data by @mtopo27 in #111923
  • Add shadow taskbroker dispatch for launchpad integration by @NicoHinderling in #110602
  • Use sequential (n-1) comparisons for size analysis diff monitors by @mtopo27 in #111482
  • Improve Slack alert messages for size analysis monitors by @mtopo27 in #111660
  • Add preprod_artifact webhooks to frontend settings UI by @cameroncooke in #111475
  • Add build_distribution.completed webhook for Sentry Apps by @cameroncooke in #111474
  • Add Insight Diff section to issue detail by @mtopo27 in #111357
  • Add size_analysis.completed webhook for Sentry Apps by @cameroncooke in #111473
  • Register preprod_artifact webhook resource and event types by @cameroncooke in #111472
  • Show detector section in sidebar for size analysis issues by @mtopo27 in #111583
  • Add auto-expansion of a section on arrow key navigation by @rbro112 in #111536
  • Link artifact ID tags to build detail page by @mtopo27 in #111383
  • Support absolute detectors from single-build path by @chromy in #111141
  • Show processing state for snapshot comparisons by @NicoHinderling in #111355
  • Show original filename tooltip on renamed snapshots by @NicoHinderling in #111325
  • Add solo/diff toggle button to snapshot dev tools by @NicoHinderling in #111318
  • Add group support to snapshots frontend by @rbro112 in #110942
  • Reduce snapshots retention to 30 days by @lcian in #110988
  • Add Datadog metrics for snapshot upload and diff lifecycle by @NicoHinderling in #111024
  • Add group_id to all autofix.* events by @chromy in #110943
  • Add git metadata and artifact IDs as tags for size analysis issues by @mtopo27 in #110854

Profiling

  • New stack trace in span profile details by @scttcper in #112559
  • Use spans data source for profiles search bar in EAP mode by @mjq in #111772

Repos

Scm

  • Add get_git_commit and get_tree for GitLab by @billyvg in #111363
  • Allow GitLab repos to be selected for Seer by @billyvg in #111446
  • Show repos from other/unknown providers in the treeview component by @ryan953 in #111280
  • Move static facade to module level and dynamically construct the SCM type from the provider's capabilities by @cmanallen in #111113
  • Add get_archive_link to SCM API by @billyvg in #110987

Scraps

Search

  • Add experimental "recommended" issue sort by @mrduncan in #111043
  • Switch filter operator from contains to is on dropdown selection by @nsdeschenes in #111668

Seer

  • Replace LLM triage with Explorer agent in night shift by @trevor-e in #112984
  • Add Sentry metrics to night shift pipeline by @trevor-e in #112967
  • Add ViewerContext authentication for Seer callbacks by @azulus in #112844
  • Add seer-run-id-in-slack feature flag by @alexsohn1126 in #112918
  • Add run ID to Seer Explorer Slack footer by @alexsohn1126 in #112835
  • Add Seer admin page with night shift trigger by @trevor-e in #112822
  • Re-land night shift run record writes during triage by @trevor-e in #112769
  • Re-land night shift run tracking models with db_constraint=False by @trevor-e in #112768
  • Add lightweight supergroups backfill task by @yuvmen in #112507
  • Read Seer project preferences from Sentry DB in Sentry endpoints by @srest2021 in #111594
  • Thread short-lived API token to Explorer MCP tools by @azulus in #112179
  • Add dual-read helpers for Seer project preferences from Sentry DB by @srest2021 in #111591
  • Distinguish legacy vs explorer autofix in agent_handoff initiator by @JoshFerge in #112575
  • Add candidate issue selection to night shift by @trevor-e in #112521
  • Record agent_handoff analytics in launch_coding_agents_for_run by @JoshFerge in #112516
  • Add rca_source to supergroup queries with feature flag gating by @yuvmen in #112436
  • Show the Seer settings link even when hideAiFeatures is enabled by @ryan953 in #112510
  • Add coding_agent field to agent handoff analytics by @JoshFerge in #112491
  • Add Night Shift nightly autofix cron scaffolding by @trevor-e in #112429
  • Add lightweight RCA clustering endpoint integration by @yuvmen in #112229
  • Enable sorting seer autofix project list by @ryan953 in #112250
  • Add widget-level LLM context to dashboard widgets by @Mihir-Mavalankar in #112267
  • Setup Agent bulk-edit on the Seer Autofix list page, and bring back Create PR bulk edits by @ryan953 in #112249
  • Add the stopping-point field to project-specific seer settings by @ryan953 in #112232
  • Wrap the seat-based wizard in a feature flag by @ryan953 in #112212
  • Add preamble to structured page context markdown by @Mihir-Mavalankar in #112235
  • Fall back to contextvar ViewerContext for Seer requests by @gricha in #112221
  • Implement the dropdown to save defaultAutomatedRunStoppingPoint by @ryan953 in #112211
  • Send structured LLMContext JSON as on_page_context by @Mihir-Mavalankar in #112200
  • Improve the loading state of the Seer SCM overview area by @ryan953 in #112054
  • Convert structured LLMContext JSON to markdown for on_page_context by @Mihir-Mavalankar in #112181
  • Add feature flag and register Dashboard in LLM context tree by @Mihir-Mavalankar in #111973
  • Send page_name in explorer chat requests from frontend by @Mihir-Mavalankar in #112124
  • Send page_name in explorer chat requests by @Mihir-Mavalankar in #112065
  • Add issue summary experimental flag by @JoshFerge in #112115
  • Add structured LLM context system for Seer Explorer by @Mihir-Mavalankar in #111554
  • Add org-level default stopping point and wire coding agent defaults into project creation by @srest2021 in #111697
  • Seer Autofix Settings Overview page by @ryan953 in #110758
  • Update default triggers for Code Review by @ryan953 in #111911
  • Add RPC interface for retrieving the installation_id by @cmanallen in #111893
  • Update Seer Settings to let people pick their preferred default agent for Autofix by @ryan953 in #111366
  • Add trigger_explorer method to SeerOperator by @alexsohn1126 in #109675
  • Seer Code Review Overview section by @ryan953 in #111593
  • Seer SCM Overview by @ryan953 in #111343
  • Rename SCM seer settings tab to Repositories by @ryan953 in #111538
  • Add dual-write for Seer project preferences to ProjectOptions and SeerProjectRepository by @srest2021 in #110704
  • Add feature-flags to control seer onboarding pages by @ryan953 in #111277
  • Iterate on the Seer Trial page styles by @ryan953 in #111275
  • Add SeerExplorerResponse notification data and Slack renderer by @alexsohn1126 in #109317
  • Add SeerOperatorExplorerCache for completion hook payloads by @alexsohn1126 in #109238
  • Show Upgrade Banner when on Legacy/Beta Seer by @ajay-sentry in #111056
  • Add Explorer methods to SeerEntrypoint protocol by @alexsohn1126 in #109231
  • Use Seer model_used response field for seer_model on GroupHashMetadata by @yuvmen in #111047
  • Expose defaultCodingAgent and defaultCodingAgentIntegrationId org fields by @ryan953 in #111051
  • Schedule context engine indexing hourly with load spreading by @Mihir-Mavalankar in #110886
  • Add a message to seer settings when Gen AI Features are disabled by @ryan953 in #110947
  • Add logging to lightweight RCA trigger flow by @yuvmen in #110930
  • Add links to provider integration pages from scm treeview by @ryan953 in #110890

Settings

  • Move Repositories sidebar link into the new Integrations section by @ryan953 in #112718
  • Add Integrations nav section with MCP & CLI page by @dcramer in #111419

Slack

  • Support unfurling Explore Metrics URLs in Slack by @DominikB2014 in #112706
  • Add Slack Agent DM and assistant thread support for Seer Explorer by @leeandher in #112493
  • Support unfurling Explore Logs URLs in Slack by @DominikB2014 in #112677
  • Pass display type from Explore URL to chartcuterie by @DominikB2014 in #112620
  • Pass timeseries data directly to chartcuterie for Explore unfurls by @DominikB2014 in #112585
  • Unfurl Explore Traces URLs with chart previews by @DominikB2014 in #112020
  • Add frontend pipeline step for Slack integration setup by @evanpurkhiser in #112417
  • Add tags to Slack event endpoint for observability by @DominikB2014 in #112023
  • Implement process_mention_for_slack task for Explorer by @alexsohn1126 in #109733
  • Add Explorer support to SlackEntrypoint by @alexsohn1126 in #109569
  • Add SlackMentionHandler for parsing @mentions by @alexsohn1126 in #109384
  • Handle app_mention events for Seer Explorer by @alexsohn1126 in #109335
  • Add staging app install button to Slack integration page by @alexsohn1126 in #110787
  • Add slack api methods for thread history and reactions by @leeandher in #107785
  • Add slack-staging-app feature flag and options by @alexsohn1126 in #110766

Snapshots

Snuba

  • Add a metric in query_trace_data to see what spans report span.status "ok" but have an associated error by @constantinius in #112090
  • Add metric for Snuba RPC read timeout errors by @kylemumma in #111215

Source Map Config Issues

  • Filtering out config issues from default issues stream by @Abdkhan14 in #113031
  • Adding stats to group row ui by @Abdkhan14 in #113048
  • Updating title and subtitle by @Abdkhan14 in #112952
  • Adding copy markdown button to troubl… by @Abdkhan14 in #112943
  • Making source map doc links platform … by @Abdkhan14 in #112828
  • Adding Sentry Configuration nav item under issues by @Abdkhan14 in #112811
  • Implementing Impact section in issue details by @Abdkhan14 in #112782
  • Implementing problem, diagnosis and troubleshooting section designs by @Abdkhan14 in #112393
  • Logging extra data on occurrence trigger for UI validation by @Abdkhan14 in #112091

Source Map Issues

  • Supporting count_unique aggregation on eap processing errors by @Abdkhan14 in #112385
  • Adding group id and title as attr to processing error trace item by @Abdkhan14 in #112387

Spans

Stacktrace

  • Wire SCM source context into new stack trace by @scttcper in #111770
  • Add frontend hook and UI for on-demand SCM source context by @mujacica in #110327

Supergroups

  • Supergroup -> issue group by @cvxluo in #112990
  • Use issues search to highlight supergroup drawer issues by @scttcper in #112640
  • Add checkbox to supergroup rows for bulk selection by @scttcper in #112301
  • Filter supergroups to unresolved issues by @scttcper in #112383
  • Show filtered vs total events in supergroup chart by @scttcper in #112215
  • Add status filter to supergroups by-group endpoint by @scttcper in #112216
  • Smarter group loading and match highlighting by @scttcper in #111927
  • Add feedback component and experimental badge to drawer by @scttcper in #111859
  • Add group id to supergroup lookup endpoint by @cvxluo in #111265

Support

  • Add Intercom support widget frontend integration by @sentaur-athena in #108409
  • Add Intercom backend for identity verification by @sentaur-athena in #108408

Taskworker

  • Add ViewerContext propagation via context hooks by @gricha in #112217
  • Update Taskbroker / Taskworker Client to Support Push Mode by @george-sentry in #112629

Text

Tracemetrics

  • Add group by selector to equations by @narsaynorath in #113051
  • Enable aggregate panel to show equation result by @narsaynorath in #112966
  • Do not allow deletion of metrics used in equations by @narsaynorath in #112893
  • Disable the samples panel for equations by @narsaynorath in #112959
  • Use reference map to render equations by @narsaynorath in #112817
  • Add column sorting to samples table by @nsdeschenes in #112577
  • Allocate stable labels for metric queries by @narsaynorath in #112675
  • Add skeleton for equation builder in Explore by @narsaynorath in #112504
  • Bypass metric field validation for equations by @narsaynorath in #112479
  • Refresh the metrics refresh by @nsdeschenes in #111920
  • Add new and reorder columns by @nsdeschenes in #112027
  • Add feature flag for equations in metrics explorer by @narsaynorath in #112025
  • Update ArithmeticBuilder to allow for REFERENCE tokens by @narsaynorath in #111956
  • Display metric name in aggregates table when no group by selected by @nsdeschenes in #111513
  • Add trace metric bytes DataCategory to stats page by @k-fish in #111431
  • Show approximation for tracemetrics total count by @narsaynorath in #111356
  • Add unreal, unity to supported platforms by @narsaynorath in #111361
  • Add referrer for raw count normal extrapolated request by @narsaynorath in #111335
  • Show all attributes in group by for multi metrics by @narsaynorath in #111012
  • Add tracemetrics to dashboard global filters by @k-fish in #110781

Ui

  • Migrate jest from babel-jest to @swc/jest by @scttcper in #112895
  • Port eslint-plugin-sentry to this repo by @scttcper in #112081

Viewer Context

  • Restore ViewerContext from JWT in middleware by @gricha in #112875
  • Add JWT encode/decode for ViewerContext propagation by @gricha in #112765

Workflow

  • Add index on GroupOpenPeriodActivity.date_added by @kcons in #111968
  • Make OrganizationIncidentDetailsEndpoint.get support single-written workflows by @kcons in #111588
  • Add flag to enable workflow engine version of ProjectRulesEndpoint.get by @kcons in #111230

Workflow Engine

Workflows

  • Start using the action filters cache by @klochek in #111817
  • Make thresholds in prune_old_fire_history options by @kcons in #111575
  • Add periodic WorkflowFireHistory backlog clean-up task by @kcons in #111458
  • Add flag to enable workflow engine version of ProjectRuleDetailsEndpoint.get by @kcons in #111330
  • Add index on WorkflowFireHistory.date_added by @kcons in #111026
  • Add doc to clarify the current implementation strategy of the API backport project by @kcons in #111006

Other

  • (ai-detected-issues) Add new AI detected issue group types by @roggenkemper in #112848
  • (ai-monitoring) Fetch model context size and rename task to fetch_ai_model_info by @constantinius in #112656
  • (auto-save) Restore focus to field after auto-save completes by @TkDodo in #110834
  • (claude) Default workspace_name to 'default' by @sehr-m in #110950
  • (claude integration) Return full text block alongside URL by @sehr-m in #110953
  • (command-palette) Add feedback button and preload image in empty state by @JonasBa in #111555
  • (core-ui) Add ClearButton to CompositeSelect by @nsdeschenes in #111706
  • (dashboard) Adds warning messages on generated dashboard errors when caught in the frontend by @edwardgou-sentry in #111531
  • (data-forwarding) Migrate setup form to useScrapsForm by @JonasBa in #108805
  • (debug-files) Show console symbol sources for orgs with console access by @JoshuaMoelans in #109781
  • (deletions) Add CLI command to list and run scheduled deletions by @leeandher in #112018
  • (dynamic-grouping) Show supergroup membership on issues stream by @scttcper in #111249
  • (eventstore) Implement get_event_by_id as EAP query by @shashjar in #110925
  • (explorer) Add relevant repos to explorer by @sehr-m in #111046
  • (feature-showcase) Redesign and rewrite FeatureTourModal as FeatureShowcase by @malwilley in #112532
  • (features) Add data browsing widget unfurl feature flag by @DominikB2014 in #111897
  • (feedback) Redirect to the feedback details page when given a projectName & eventId by @ryan953 in #111931
  • (github-enterprise) Route installation_repositories to control silo by @wedamija in #112245
  • (identity) Add OAuth2ApiStep for API-driven OAuth2 flows by @evanpurkhiser in #111578
  • (incidents) Add is_metric_subscription_allowed; use it by @kcons in #112241
  • (issue-detection) Register ai-issue-detection feature flag by @roggenkemper in #113062
  • (issueList) Add group_ids to issues.viewed by @mrduncan in #111551
  • (llm-detection) Accept additional_attributes param in get_trace_waterfall by @nora-shap in #112239
  • (llm-detector) Add beta badge for AI detected issues by @roggenkemper in #112686
  • (metrcis) Add formula -if combinators by @wmak in #112016
  • (metric-issues) Use placeholder loaders for attribute comparison… by @malwilley in #111676
  • (middleware) Enable viewer context middleware by default by @gricha in #112293
  • (native) Log symbolicator response on empty thread list by @jjbayer in #110976
  • (notificaitons) Add threading to platform providers by @Christinarlong in #109248
  • (notification) Simplify renderer and data to be already processed text by @Christinarlong in #112182
  • (oauth) Show public app device flow URLs by @dcramer in #111655
  • (objectstore) Enable token generator in objectstore client by @matt-codecov in #105707
  • (pageframe) Adopt TopBar.Slot in Layout.Title by @natemoo-re in #112515
  • (perforce) Implement get_file() for source context by @mujacica in #111768
  • (performance) Add search support to EAP txn summary sample events by @mjq in #111349
  • (project) Increase securityTokenHeader max_length from 20 to 64 by @sentry-junior in #112483
  • (prompts) Register android tombstones onboarding prompt by @romtsn in #112477
  • (refactor) Move common exceptions out of the discover db by @manessaraj in #111713
  • (releases) Cache calls to compare-commits by @armenzg in #112494
  • (replay) Add a button to toggle the replay-details layout between the default & video-only by @ryan953 in #111944
  • (replays) Make bulk delete API endpoints public by @billyvg in #111679
  • (searchbar) Sort value suggestions by fuzzy match relevance by @scttcper in #111037
  • (seer agent) Add integration button to handoff dropdown by @sehr-m in #111499
  • (seer-slack) Check channel type for correct history scope before API call by @alexsohn1126 in #112371
  • (sentry apps) Add circuit breaker into webhook code by @Christinarlong in #111723
  • (spans-migration) Add a flag bypass for self hosted migrations by @nikkikapadia in #111150
  • (symbolicator) Pass objectstore token to symbolicator by @matt-codecov in #112058
  • (test) Add it.isKnownFlake for opt-in stress-testing flaky Jest fixes by @JoshuaKGoldberg in #111860
  • (timeseries) Add 6h interval by @wmak in #112678
  • (trace) Make trace ID clickable in span attributes table by @matejminar in #111395
  • (uptime) Move suggest assertions button to verification section by @jaydgoss in #109106
  • (usageStats) Add new no_parent_span client discard reason by @Lms24 in #112937
  • (utils) Add ContextPropagatingThreadPoolExecutor and S016 lint rule by @gricha in #111451
  • (wmak) Use non strings in group by by @wmak in #111753
  • Add referrer tag to snuba timeout metric by @kylemumma in #112826
  • Add repo indexing job by @shruthilayaj in #112136
  • Add ViewerContext middleware for API requests by @gricha in #112172
  • Add ViewerContext dataclass and contextvar module by @gricha in #112156
  • Add EAP double read for release health data by @noahsmartin in #111229
  • Let SCM platform support self-hosted GitLab by @jacquev6 in #111061
  • Remove Legacy Seer toggle BE code and update preflight checks by @ajay-sentry in #111049
  • Add seer-gitlab-support feature flag by @billyvg in #110659

Bug Fixes 🐛

Aci

Agents

Ai Conversations

Ai Insights

Alerts

  • Fallback to transactions dataset for performance alerts by @nikkikapadia in #112802
  • Fix trigger ordering in workflow-based AlertRule serializer by @kcons in #112727
  • Make ProjectRuleStatsIndexEndpoint 400 on a bad date range by @kcons in #112505
  • Better messaging for missing snoozeCreatedBy by @kcons in #112506
  • Reject EAP alerts with invalid time windows by @kcons in #112322
  • Incorporate EventsAnalyticsPlatform into our downgrade checking by @kcons in #112061
  • Fix alert link unfurling URL by @malwilley in #111033

Apigateway

Attachments

Auth

Autofix

  • Filter out autofix code mappings with bad repos (inactive, no integration, etc.) by @srest2021 in #112825
  • Remove autofixEnabled check from project setup guard by @chromy in #112792
  • Check preference repositories instead of tuning for Seer autofix onboarding check by @srest2021 in #112726
  • Show Add Integration CTA when no coding agents installed by @JoshFerge in #112625
  • Dual-delete Seer preferences for disabled repositories by @srest2021 in #112503
  • Validate Seer-supported SCM providers for Seer project preferences by @srest2021 in #112518
  • On repo hide, delete corresponding SeerProjectRepository rows by @srest2021 in #112266
  • Only write handoff.auto_create_pr ProjectOption if not default by @srest2021 in #112208
  • Handle NoneType project preferences from Seer API by @sentry in #112009
  • Restarting root cause from error should use new run by @Zylphrex in #111995
  • Github webhook analytics for explorer autofix by @Zylphrex in #111913
  • Remove broken docs link from GitHub Copilot CTA by @JoshFerge in #111298
  • Better loading states for agent handoffs by @Zylphrex in #111107

Billing

  • Updated name to application metrics and fixed tests(BIL-2235) by @krithikravi in #113002
  • Subscription UI misalignment by @brendanhsentry in #112485
  • Fix flaky paymentForm test by awaiting button enabled state by @hubertdeng123 in #112188
  • Update ent trial copy by @brendanhsentry in #110904

Cells

Chartcuterie

Ci

Claude Integration

Cmdk

Codeowners

  • Add coverage for markdownTextArea and clean baseline by @chromy in #112339
  • Show all owner names in avatar stack tooltip by @scttcper in #110946
  • Stringify owner IDs and add typed schema structures by @scttcper in #110604

Coding Integrations

Conversations

Dashboards

Deletions

Demo Mode

Detectors

  • Surface API error messages for cron detector creation by @malwilley in #112630
  • Make AlertRuleDetector.objects filter out pending deletion Detectors by default by @kcons in #112550
  • Ensure metric Detector deletion cleans up the AlertRule by @kcons in #112425

Docs

Eap

  • Handle contexts in trace-item attributes by @wmak in #112524
  • Declare http.response_status_code as integer attribute by @DominikB2014 in #111232
  • Replace exclusive time as attribute for count functions by @mjq in #111176

Explore

Grouping

Incidents

  • Compute resolution correctly in metric issue detector by @kcons in #112623
  • Fix 60x resolution inflation when switching to DYNAMIC detection without explicit time_window by @kcons in #112695

Insights

Integrations

  • Hide Fix with Seer button on Slack unfurls by @leeandher in #112940
  • Set sample_rate=1.0 on repo sync metrics by @wedamija in #112861
  • Fix security vulnerabilities in Jira by @ceorourke in #112409
  • Handle null items in organization integrations serialization by @leeandher in #112391
  • Disallow modifying a repo's integration by @cmanallen in #111739
  • Handle forbidden errors in integration proxy by @chromy in #111123
  • Handle unauthorized and rate-limited errors in integration proxy by @chromy in #111030

Issues

  • Hide line numbers on non-in-app stack trace frames by @scttcper in #112885
  • Remove unsed group prop from ContextCard by @scttcper in #112816
  • Exclude gen_ai ops from consecutive HTTP detector by @mrduncan in #112517
  • Prevent double fetch of group search view endpoint by @scttcper in #112324
  • Guard against NaN in supergroup row stats during loading by @scttcper in #112294
  • Include exception header in copy-as-text for new stack trace by @scttcper in #111965
  • Redesign new stack trace grid by @scttcper in #112059
  • Avoid supergroup refetches on row removal by @scttcper in #111865
  • Add stack trace column gap between coverage border and source code by @scttcper in #111556
  • Move coverage legend above stack trace by @scttcper in #111494
  • Apply issue.id filter to postgres queryset candidates by @scttcper in #110757

Logs

Metrics

Modal

  • Avoid modal shift by @natemoo-re in #111666
  • Restore focus to trigger element when modal closes by @JonasBa in #111542

Nav

  • Match secondary page-frame nav link :active color to primary by @JonasBa in #111664
  • Replace aria-selected with aria-current on navigation links by @JonasBa in #111278
  • Cap list item height for page-frame secondary nav variants by @JonasBa in #111195
  • Update stale route links causing unexpected navigation redirects by @JonasBa in #110498

Notifications

  • Handle null provider in organization integrations filter by @mtopo27 in #112368
  • Update alert rule URLs to use /issues/alerts/ prefix by @JonasBa in #110499

Np

  • Updates issue notification data factory to select correct handler class by @GabeVillalobos in #112892
  • Adds attachment to Slack render type, updates metric renderer by @GabeVillalobos in #112312
  • Updates IssueNotificationData, render logic to correctly extract action data by @GabeVillalobos in #111689

Onboarding

  • Add step for OpenAI based framework for conversation ID sources by @constantinius in #112781
  • Change agent monitoring empty state to use openai instead of openai-agents by @constantinius in #112344
  • Pass accessibleOnly to SCM repo search by @jaydgoss in #111895
  • Wrap connected tag in Container to constrain width by @jaydgoss in #111936
  • Handle repo selection race with background link_all_repos by @jaydgoss in #111716
  • Reset downstream state when repository changes by @jaydgoss in #111479

Performance

  • Restore feature parity on EAP Sampled Events tab by @mjq in #111891
  • Bring back user column on segment span tables by @mjq in #111351
  • Use spans dataset for EAP txn summary search bar by @mjq in #111299

Pipeline

Preprod

  • Hide approve button on status check when snapshots already approved by @NicoHinderling in #112978
  • Reapply snapshot PR comment task with TASKWORKER_IMPORTS fix by @runningcode in #112900
  • Use odiff CLI mode to work around server-mode false match bug by @NicoHinderling in #112829
  • Log when PR comment is skipped due to no installable artifacts by @runningcode in #112780
  • Allow branch ref ellipsis in mobile builds table (EME-882) by @cameroncooke in #112774
  • Add organization_slug to snapshot log statements by @NicoHinderling in #112499
  • Add tab=size to size status check settings URL by @mtopo27 in #112352
  • Use RPC service for cross-silo user lookup in snapshot endpoint by @NicoHinderling in #112129
  • Use recompare endpoint and add user-facing status check rerun by @NicoHinderling in #112084
  • Speed up error page on snapshots and improve error UI by @NicoHinderling in #112076
  • Exclude snapshot artifacts from size status check (EME-962) by @runningcode in #111981
  • Post NEUTRAL status check when all artifacts are skipped by @mtopo27 in #111811
  • Prefer display_name for snapshot sidebar labels by @runningcode in #111779
  • Align relative_diff extract_value with frontend percentage convention by @mtopo27 in #111682
  • Differentiate snapshot status check when base_sha is unset by @NicoHinderling in #111658
  • Show total image count in snapshot sidebar sections by @NicoHinderling in #111576
  • Use content_hash as canonical image key for deduplication by @NicoHinderling in #111467
  • Fix typecheck errors from monitor filters reland by @chromy in #111142

Profiling

  • Render flamechart title only in top bar by @JonasBa in #113018
  • Query spans instead of discover on landing page by @mjq in #112251

Releases

  • Support environment filter in the query param by @skaasten in #112805
  • Validate project access in release details endpoint by @michelletran-sentry in #112831
  • Prevent false positive regressions when follows_semver flips after resolution by @shashjar in #111584
  • Add gap between release detail header action groups by @scttcper in #111581

Replays

  • Use Dataset enum instead of string comparisons in replay counts by @scttcper in #111954
  • Update stats link to new path by @priscilawebdev in #111778

Repos

  • Make it clearer when repos are disabled or connected properly by @ryan953 in #111764
  • Filter null integrations in useScmIntegrationTreeData by @ryan953 in #110868

Scraps

  • Status indicator layering by @natemoo-re in #112197
  • Omit type from SVGIconProps by @natemoo-re in #111353

Search

  • Clarify is:linked/is:unlinked filter descriptions by @cvxluo in #111224
  • Render negated multi-value filters with and by @nsdeschenes in #111203
  • Assign return value of date.replace() in parse_iso_timestamp by @karesansui-u in #110504

Seer

  • Use standard hotkey for minimize behavior, remove tab hijacking by @natemoo-re in #112993
  • Feature flag Seer RPC preference reads by @srest2021 in #112865
  • Dont show the Seer subscription banner to orgs with managed subscriptions by @ryan953 in #112810
  • Set a min height for the virtual scrolling Code Review settings table by @ryan953 in #112814
  • Prevent horizontal scrollbar flash on block entry animation by @aliu39 in #112823
  • Clear cache for /seer/onboarding-check/ api response, and iterate on seer config reminder by @ryan953 in #112643
  • Decouple create-pr setting from stopping point by @ryan953 in #112646
  • Convert Seer Repo Details form to new form system, clear onboarding-check cache by @ryan953 in #112645
  • Add links to manage your agent integrations, by @ryan953 in #112642
  • Populate referrer field in agent_handoff analytics from launch path by @JoshFerge in #112523
  • Make widget conditions readable for the Seer Explorer agent by @Mihir-Mavalankar in #112502
  • Fix spacing on the Seer overview page by @ryan953 in #112407
  • Dual-delete Seer project preferences on integration uninstall by @srest2021 in #112296
  • Add dual-write when project preference doesn't exist, and pass full preference to autofix request by @srest2021 in #111966
  • Don't read from org defaults when creating default project preference by @srest2021 in #111967
  • Align project grouping record deletion with Seer API by @sentry in #111756
  • Fix a typo, no dash by @ryan953 in #111558
  • Render explorer panel when page-frame feature is enabled by @JonasBa in #111502
  • Fix race condition in Seer settings dual-write to Sentry DB by @srest2021 in #111477
  • Fix tab normalization so Seer Settings tab hrefs are correct by @ryan953 in #111279
  • Remove noisy capture_exception for expected ObjectDoesNotExist by @aliu39 in #111257
  • Handle missing OrganizationMember in collect_user_org_context by @aliu39 in #111255
  • Rename Autofix Handoff option to be: No Handoff by @ryan953 in #111118
  • Handle enum deserialization in autofix tasks by @sentry in #110959

Seer Explorer

Settings

  • Portal SettingsPageHeader action to TopBar in page frame layout by @priscilawebdev in #112771
  • Surface slug validation errors on org settings form by @cvxluo in #112556
  • Invalidate cache in notification settings by @natemoo-re in #112161
  • Widen teams table actions column by @cvxluo in #111683

Slack

Snapshots

  • Fix staff auth blocking initial size comparison selection by @NicoHinderling in #112739
  • Disable CSS animations for snapshot testing by @rbro112 in #111485
  • Use explicit HEAD rather than merge commit for frontend snapshots by @rbro112 in #111202

Stories

  • Adjust search scroll behavior by @natemoo-re in #112045
  • Avoid circular dependencies on Button by @natemoo-re in #112039

Supergroups

  • Supergroup drawer checkbox, closing fixes by @scttcper in #112999
  • Improve backfill task resilience and observability by @yuvmen in #112968
  • Scope matched groups query to current page by @scttcper in #112864
  • Filter resolved groups from Seer response by @scttcper in #112403
  • Use placeholder data to avoid loading flash on group changes by @scttcper in #112202

Test

Tests

Trace

Tracemetrics

  • Pass draggable attributes to drag button by @narsaynorath in #112981
  • Prevent header text wrapping in samples table during loading by @nsdeschenes in #112576
  • Allow delete for big number when more than 1 field by @narsaynorath in #111791
  • Prevent widget builder from querying before ready by @narsaynorath in #111665
  • Update aggregate defaults in dashboards by @narsaynorath in #111521
  • Check type and unit objects for yAxis by @narsaynorath in #111132
  • Legend labels should be labelled uniquely with different aggs by @narsaynorath in #111114
  • Open in explore for multi metrics opens each by @narsaynorath in #110993
  • Update filter bar to handle multiple metrics by @narsaynorath in #111011
  • Support multi metric selection in y-axes by @narsaynorath in #110983

Typing

  • Type post-process by @thetruecpaul in #112203
  • Codemod -> None to a bunch of tests by @thetruecpaul in #111812

Ui

  • Fix the logs page divider by @priscilawebdev in #113024
  • Fix "Missing queryFn" error in useAggregatedQueryKeys by @scttcper in #112488
  • Remove overflow hidden from GuidedSteps StepDetails by @priscilawebdev in #112336
  • Increase node memory limit locally, decrease ci by @scttcper in #112066
  • Prevent code block overflow in GuidedSteps onboarding by @nikolovlazar in #111657
  • Use design system Text components for organization role field by @JonasBa in #111624
  • Preserve Seer paths in URL normalization by @scttcper in #111317
  • Preserve seer paths in url normalization by @scttcper in #111322
  • Fix ScrollCarousel story crash in production by @priscilawebdev in #111184

Workflow

  • Replace getSantry with dedicated GH app for api schema workflow by @Jeffreyhung in #111720
  • Prevent IndexError when serializing workflows without WDCGs by @kcons in #110915

Workflows

  • Don't return Workflows while they're being deleted by @kcons in #112541
  • Rule.status derived from snooze, not Workflow.status by @kcons in #112302
  • Add detector group caching in ensure_association_with_detector by @klochek in #111714
  • Add single-written workflow engine support to ProjectAlertRuleDetailsEndpoint by @kcons in #111379
  • Make TTL a definitional part of CacheMapping rather than an optional param by @kcons in #111376
  • Don't crash when no action filter are provided by @kcons in #110905

Other

  • (_admin) Dedupe GroupSubscription conflicts during user merge by @billyvg in #111566
  • (admin) Use supported Sentry app badge variant by @dcramer in #112086

This changelog has been truncated. See the full changelog for all changes.

Don't miss a new sentry release

NewReleases is sending notifications on new releases.