github getsentry/sentry 26.4.1

7 hours ago

New Features ✨

Aci

Autofix

Claude Code

Cmdk

Code Review

Cursor

Dashboards

Detectors

Discord

Eslint

Explore

Explorer

Integrations

Issue Detection

Issues

Logs

Occurrences On Eap

  • Make organization trace item stats API endpoint generic over trace item type by @shashjar in #112889
  • Implement run_stats_query in Occurrences EAP RPC class by @shashjar in #112878

Onboarding

Opsgenie

Pagerduty

Perforce

Pipeline

Preprod

Scraps

Seer

Slack

Snapshots

Spans

Tracemetrics

Viewer Context

  • Add observe() helper and instrument 3 chokepoints by @gricha in #113237
  • Switch Seer API to JWT X-Viewer-Context header by @gricha in #112894

Vsts

Other

  • (agent-monitoring) Refer to sentry ai skills instead of hardcoding agent instructions by @shellmayr in #113049
  • (agents) Surface context utilization in AI span details by @obostjancic in #113407
  • (alerts) Allow arithmetic in alert validation by @wmak in #113105
  • (analytics) Tag integration install events with is_scm by @jaydgoss in #113225
  • (api) Allow per-org rate limit overrides for project transfer by @cleptric in #113507
  • (cells) Add organization avatar to control silo by @lynnagara in #113008
  • (coding agent integrations) Move alerts into the drawer instead of as toasts by @sehr-m in #113306
  • (compactSelect) Add menuMinWidth prop by @DominikB2014 in #113545
  • (crons) Update onboarding empty state illustration by @evanpurkhiser in #112399
  • (data-explore) Add new Query type for full export for simpler request validation by @manessaraj in #112953
  • (data-export) Exported attributes in data export should have public names by @manessaraj in #112846
  • (dev) Replace pre-commit with prek --quiet by @joshuarli in #110808
  • (disclosure) Support HTML attributes in Disclosure.Content by @Zylphrex in #113572
  • (errors) Create errors toolbar components by @nikkikapadia in #112526
  • (hotkey) Add hotkey icons, update docs by @natemoo-re in #113465
  • (identity) Add identity_ext_ids filter to identity RPC service by @alexsohn1126 in #113447
  • (insights) Integrate conversation details into trace AI tab by @obostjancic in #112907
  • (llm-detection) Add Seer budget pre-check before dispatching traces by @nora-shap in #113253
  • (mcp) Add devinfra-mcp to dotagents by @kenzoengineer in #113367
  • (navigation) Hide Insights sidebar behind feature flag by @gggritso in #112965
  • (night-shift) Trigger autofix for fixable candidates and add dry run mode by @trevor-e in #113056
  • (nightshift) Add tweaks option for prototyping nightshift by @chromy in #113675
  • (objectstore) Add CLI rate limiting to Objectstore endpoint by @lcian in #111063
  • (replay) Remove canvas recording by @billyvg in #113657
  • (replays) Move timestamp and widget controls inline in page-frame mode by @JonasBa in #113694
  • (seer agent) Add suggested question buttons to empty state by @sehr-m in #113636
  • (seer-slack) Add analytics for Seer agent Slack responses by @alexsohn1126 in #113318
  • (st) Install gcloud for local selective testing by @joshuarli in #113496
  • (supergroup) Retry snuba batch query in supergroups lightweight backfill by @cvxluo in #113184
  • (supergroups) Track drawer opens and add feedback button to header by @scttcper in #113497
  • (ui) Add LLM issue detection toggle to performance settings by @roggenkemper in #112711
  • (utils) Add PK caching and validate_item to CursoredScheduler by @roggenkemper in #113238
  • (vercel) Add frontend pipeline step for Vercel integration setup by @evanpurkhiser in #113220
  • (workflows) Restrict APIs based on metrics alert features by @kcons in #112600

Bug Fixes 🐛

Aci

Alerts

  • Accept "default" as a valid PagerDuty severity by @malwilley in #113614
  • Make everything vertical aligned by @priscilawebdev in #113532
  • Don't log APIException as error in alert rule serializer by @malwilley in #113584
  • More graceful handling of missing Detector in WorkflowEngineDataConditionSerializer by @kcons in #113575

Api

  • Allow Bearer token auth for GET /api/0/auth/ by @BYK in #112853
  • Serialize defaultCodingAgentIntegrationId as a string by @srest2021 in #113198

Auth

  • Pin SSO setup identity link to the authenticated session by @michelletran-sentry in #113720
  • Bypass SSO for viewer-context requests by @gricha in #113124

Automations

  • Keep alert titles in page layout by @priscilawebdev in #113405
  • Move detail header into the page-frame top bar by @priscilawebdev in #113270

Chartcuterie

Claude Code

  • Use deterministic external_id scoped to organization by @sehr-m in #113256
  • Convert workspace option to default-checkbox by @sehr-m in #113255

Conversations

Dashboards

Detectors

  • Don't assume the Detector cache is limited to enabled by @kcons in #113627
  • Bulk-fetch resolve thresholds in WorkflowEngineDataConditionSerializer by @kcons in #113347

Eco

  • Updates external ID field length for integrations by @GabeVillalobos in #113308
  • Improves domain checking for next URL in installation flow by @GabeVillalobos in #113118
  • Re-adds the Complete Installation button to integration config pages" by @GabeVillalobos in #113076

Explorer

  • Use new isDrawerOpen state for more accurate open/closed tracking by @aliu39 in #113639
  • Move CM toggle after CE in top bar by @azulus in #113315

Insights

  • Handle gen_ai.output.messages as JSON object by @obostjancic in #113537
  • Fix empty txn summary when transaction.op is default by @mjq in #113099

Integrations

Issue Details

  • Align content with page-frame top bar by @priscilawebdev in #113519
  • Update unassign assignee action by @JonasBa in #113510
  • Keep sticky event nav below page frame by @priscilawebdev in #113401

Issue Detection

Issues

  • Apply issue search conditions to next/prev event buttons on issue details page by @shashjar in #113234
  • Include group type id in AI-detected fingerprint by @roggenkemper in #113289
  • Forward message query in project events endpoint in EAP conditions by @shashjar in #113250
  • Prevent descender cutoff in GroupMetaRow annotations by @scttcper in #113243
  • Include event property fields in has: suggestions by @scttcper in #113231
  • Skip duplicate issue attachments query when possible by @scttcper in #113085

Migrations

  • Prevent modifying the type of a column that is part of an index during migrations by @wedamija in #113370
  • 0007 had the wrong migration dependency by @wmak in #113451

Onboarding

Ourlogs

Page Frame

  • Move primary actions into local page controls by @JonasBa in #113612
  • Remove empty headers and move breadcrumbs by @priscilawebdev in #113654
  • Constrain replay and feedback layouts by @priscilawebdev in #113266

Pageframe

Releases

  • Remove unused statsPeriod query parameter by @scttcper in #113482
  • Move feedback to top bar slot by @JonasBa in #113378
  • Move page-frame breadcrumbs into the top bar by @priscilawebdev in #113042

Replays

  • Hide trace ID in replay waterfall by @nsdeschenes in #113535
  • Move replay actions into the page-frame top bar by @priscilawebdev in #113148

Repos

  • Call repo sync batch tasks by @wedamija in #113132
  • Fix vsts sync error by @wedamija in #113136
  • Have repo sync batch up the work by @wedamija in #113131

Seer

  • Bill seat-based autofix based on Seer project preferences instead of code mappings and tuning by @srest2021 in #113700
  • Use count(value) in tracemetrics query for metric metadata by @isaacwang-sentry in #113616
  • Trigger night shift autofix end-to-end and persist Seer run ids by @trevor-e in #113619
  • Render all root nodes in snapshot_to_markdown by @Mihir-Mavalankar in #113607
  • Remove code mappings fallback when configuring Seer for existing org by @srest2021 in #113582
  • Remove code mappings fallback from has_project_connected_repos by @srest2021 in #113509
  • Correct coding agent docs links by @nikolovlazar in #113546
  • Clean up SeerProjectRepository after Seer API call succeeds on integration disabled and repo hidden/disabled by @srest2021 in #113345
  • Handle SeerApiError in Explorer chat endpoint by @Mihir-Mavalankar in #113458
  • Add kwargs to Seer cleanup tasks for safe arg change deploy by @srest2021 in #113449
  • Linkify short IDs with multi-hyphen project slugs by @JoshFerge in #113431
  • Extract clean message from coding agent HTTPError bodies by @sehr-m in #113305

Settings

Slack

Spans

Supergroups

  • Fallback to limited query on large supergroups by @scttcper in #113573
  • Hoist stream issues to the first page of the drawer by @scttcper in #113192
  • Add backfill referrer to Referrer enum by @cvxluo in #113092

Tracemetrics

Ui

  • Add tooltips to icon-only header actions by @priscilawebdev in #113151
  • Track topbar offset for sticky headers by @natemoo-re in #113298
  • Adjust placeholder height for DashboardGrid by @TkDodo in #113160

Workflows

  • Delete workflows when the Rule is deleted by @kcons in #113588
  • Handle duplicated AlertRuleWorkflow entries for a Workflow more gracefully by @kcons in #113138
  • Don't reuse existing workflow in create_priority_workflow by @kcons in #113133
  • Cache integration lookups, and pass the cache to render_label by @kcons in #112976

Other

  • (api-docs) Add missing spaces in stats endpoint help text by @sentry-junior in #113529
  • (assisted-query) Apply Seer visualizations and sort to metrics page by @isaacwang-sentry in #113232
  • (autofix) Remove unconfigured projects gate and remove code mapping repos fallback by @srest2021 in #113077
  • (billing) Account for gifted quantities in productIsEnabled check by @dashed in #113142
  • (button) Map button size="zero" to icon size "xs" by @TkDodo in #113646
  • (ci) Prevent shell injection in setup-devservices action by @fix-it-felix-sentry in #113400
  • (cmdk) Do not fire selections on Tab key press by @JonasBa in #113381
  • (dashoards) Fix table widget column widths snapping after user resize by @edwardgou-sentry in #112960
  • (drawer) Match responsive header height on small screens by @priscilawebdev in #113016
  • (dropdowns) Match focused item mask to overlay background token by @cvxluo in #113354
  • (eslint) Used extends for remaining plugin configs by @JoshuaKGoldberg in #113365
  • (explore) Handle nullable aggregations in equations by @wmak in #113456
  • (feature-flags) Add Node.js support to feature flag onboarding by @scttcper in #112745
  • (grouping) Remove redundant time regex by @lobsterkatie in #113601
  • (issue-views) Render editable title in topbar slot for page-frame layout by @JonasBa in #113488
  • (iswf) Surfaces linked issues for Sentry Apps with no UI components by @GabeVillalobos in #113372
  • (logs) Remove duplicate main element on logs page by @priscilawebdev in #113649
  • (mcp) Sync .cursor/mcp.json with dotagents output by @hubertdeng123 in #113512
  • (metrics) Prevent page scroll when opening metric selector by @nsdeschenes in #113460
  • (monitors) Move edit breadcrumbs into the top bar by @priscilawebdev in #113272
  • (mypy) Fix issues with test_scm_onboarding.py by @kcons in #113598
  • (night-shift) Remove poll timeout that aborted Explorer runs by @trevor-e in #113137
  • (paginator) Replace f-string with % formatting to avoid SQL injection false positive by @fix-it-felix-sentry in #113402
  • (performance) Support continuous profiling in sampled events table by @mjq in #113183
  • (pipeline) Fix GitHub setup_action=install breaking API pipeline popup flow by @evanpurkhiser in #113240
  • (replay) Add tooltip to timestamp settings button by @JonasBa in #113377
  • (repositories) Properly set external_id in organization_code_mappings_bulk by @wedamija in #113618
  • (scraps) Propagate drf field validation errors in autoSaveForm by @TkDodo in #113644
  • (search) Return empty result on disjoint group_id intersection by @yuvmen in #113320
  • (search-query-builder) Escape literal asterisks in filter values by @nsdeschenes in #113404
  • (selective-testing) Update to fix import gap raised in getsentry by @rbro112 in #113357
  • (stack-trace) Show for frames with no filename by @scttcper in #113108
  • (tests) Stabilize flaky React Native metrics onboarding test by @JoshuaKGoldberg in #112000
  • (trace) Keep loading breadcrumbs in the page-frame top bar by @JonasBa in #113384
  • (tracemetric) Change metric selector syntax by @k-fish in #113206
  • (traces) Add md gap in explore content section by @nsdeschenes in #113333
  • (typing) Annotate group_status parameters as int by @JoshFerge in #113424
  • (uptime) Fix cron monitor incident timing inconsistency by @klochek in #112692
  • (viewer-context) Populate org after request resolution by @gricha in #113139
  • (views) Standardize Save as buttons by @priscilawebdev in #113655
  • (workflow_engine) Manually add date_updated/added timestamps for detectorstate commits by @klochek in #113480
  • (workflowEngine) Use primary border color by @TkDodo in #113560
  • Revert "feat(integrations): Send SLO lifecycle metrics to Sentry via SDK (#112839)" by @getsentry-bot in 7e3195c1
  • Don't use type as a variable by @wmak in #113080

Documentation 📚

  • (agents) Forbid customer info in PRs, commits, and code by @JoshFerge in #113300

Internal Changes 🔧

Aci

  • Replace multiple flag usage with single flag by @ceorourke in #113461
  • Add single flag to control metric alert backwards compatible endpoints by @ceorourke in #113228
  • Split connected detectors into projects and monitors lists by @malwilley in #113205
  • Roll out DELETE metric alert endpoint flag by @klochek in #113215
  • Roll out DELETE issue alert endpoint flag by @klochek in #113216
  • Report more used legacy models by @ceorourke in #113233

Alerts

  • More efficient GroupOpenPeriod query by @kcons in #113556
  • Migrate rule node fields to JsonFormAdapterFieldConfig by @priscilawebdev in #112779

Api

Billing

  • Bumped protos version to 0.8.15 by @krithikravi in #113699
  • Renamed metrics to application metric counts(BIL-2237) by @krithikravi in #113580

Cells

Ci

  • Tolerate action-download flakes on collect-test-data by @mchen-sentry in #113453
  • Wait.py, add healthcheck logging by @joshuarli in #113361
  • Add import analysis to selective testing by @rbro112 in #113247

Cmdk

Commits

Dashboards

Explore

Explorer

Flags

  • Remove dead projects:data-forwarding flag by @wedamija in #113374
  • Remove 5 dead feature flag registrations by @wedamija in #113373

Grouping

  • Add MAC address parameterization regex by @lobsterkatie in #113129
  • Make ip regex stricter by @lobsterkatie in #112995

Integrations

Issue Detection

Issues

  • Extract shared search + serialize helpers by @cvxluo in #113562
  • Removing option registration no longer needed by @shashjar in #113597
  • Use boolean option for application of issue search conditions to prev/next event navigation by @shashjar in #113555
  • Migrate similar stack trace to react-query by @scttcper in #113344
  • Consolidate duplicate issue tags requests into one by @scttcper in #113079

Iswf

  • Uses repository URL by default when linking external repos by @GabeVillalobos in #113360
  • Adds Repository URL to organization_integration_repos endpoint by @GabeVillalobos in #113358

Nav

Nightshift

Onboarding

Pipeline

Preprod

Seer

Selective Testing

  • Add selective testing instructions to agents.md files by @rbro112 in #113334
  • Re-add make test-selective command by @rbro112 in #113265

Supergroups

  • Always use lightweight RCA read path by @cvxluo in #113583
  • Extract helper for get-by-group-ids Seer call by @cvxluo in #113492
  • Remove id from drawer breadcrumb by @cvxluo in #113179
  • Make backfill tuning params configurable via options by @yuvmen in #113074

Tracemetrics

Tsc

Ui

  • Change bulk delete modal text from 'automations' to 'alerts' by @souredoutlook in #113631
  • Scope isDrawerOpen to useDrawer callsite by @natemoo-re in #113629
  • Add jest/swc transform cache to frontend-optional workflow by @scttcper in #113086
  • Prefer InfoTip for page title help by @JonasBa in #113026

Viewer Context

Other

Other

  • ref(seer) remove seer border by @JonasBa in #113710
  • devenv: optional gcloud by @joshuarli in #113709
  • feature(seer agent): change styling of input bar and message bubbles by @sehr-m in #113630
  • feature(seer agent): icon changes by @sehr-m in #113632
  • styles(scraps): Subtract top from SlideOverPanel height by @Zylphrex in #113610
  • styles(autofix): Format autofix message content as markdown by @Zylphrex in #113433
  • ref(cmdk) improve nesting structure by @JonasBa in #113152
  • enh(code-mappings): Improve bulk code mappings validation error message for wrong mappings format by @romtsn in #113296
  • types: Move sentry.search.events.filter from mypy ignore to stronglist by @kcons in #113191
  • Add logger warnings for display name filter action by @geoffg-sentry in #113168
  • Display name validation and filtering for apps and orgs by @geoffg-sentry in #113106
  • Fix/monitors UI copy by @souredoutlook in #113050
  • Add project auth checks in external issue creation and deletion by @geoffg-sentry in #112709
  • Restrict allowed values in sentry.conf.py for feature-flags by @geoffg-sentry in #112980

Don't miss a new sentry release

NewReleases is sending notifications on new releases.