releases.shpreview
Sentry/Sentry/26.5.0

26.5.0

New Features ✨

Aci

  • Add organizations:workflow-engine-metric-alert-endpoints-delete flag to allow deletes in the legacy API in #115382
  • Add deprecation headers to legacy rule endpoints in #114080
  • Add a warning banner for no connections on an Alert by @saponifi3d in #114772

Agent Ui

Autofix

Cells

Cmdk

  • Default to keepPreviousData in cmdkQueryOptions in #115085
  • Add webhooks keyword to Custom Integrations action by @JonasBa in #114974

Codeowners

  • Support excluding subdirectories via no-owner rules in #115322
  • Display exclusion rules in ownership rules table in #115391

Dashboards

Dynamic Sampling

Explore

Forms

Heatmap

Issues

Iswf

Logs

Onboarding

  • Add stream_gen_ai_spans to Python agent monitoring init options in #115470
  • Add streamGenAiSpans to JS agent monitoring init options by @obostjancic in #115371
  • Add platformProductInfo.generated.ts for SCM info-only platforms by @jaydgoss in #115092
  • Add platformProductInfo codegen script by @jaydgoss in #115177

Otlp

Ourlogs

Preprod

Repos

Seer

  • Populate SeerAgentRun alongside SeerRun in agent client in #115601
  • Add GitLab support to seer preferences endpoint in #115424
  • Add Seer plan flags to structured context check by @Mihir-Mavalankar in #115571
  • Pass api.web referrer from autofix UI by @chromy in #115546
  • Add reaction_added webhook handler for Seer agent feedback by @leeandher in #115490
  • Add CLI, Linear agent, and MCP autofix referrers by @chromy in #115514
  • Accept referrer input on GroupAutofixEndpoint by @chromy in #115497
  • Expose replay search RPC by @JoshFerge in #115500
  • Wire explorer chat write site through SeerRun outbox by @trevor-e in #115231
  • Wire legacy autofix write site through SeerRun outbox by @trevor-e in #115228
  • Add outbox receiver for SeerRun creation by @trevor-e in #115111
  • Enable context engine for all Seer plan orgs in explorer in #115452
  • Add structured LLM context for logs and releases pages by @Mihir-Mavalankar in #115293
  • Add feature flag to enable Code Mode for Slack Explorer by @azulus in #115233
  • Add structured LLM context for issue taxonomy pages in #115153
  • Copy changes and fixup links between pages by @ryan953 in #114918
  • Make the Autofix settings open in a drawer from the org settings page by @ryan953 in #114933
  • Create Seer sub-nav items, and SCM requirement interstitial by @ryan953 in #114896
  • Suppress re-triage of skipped issues in night shift by @trevor-e in #114915
  • Add event-specific LLM context hint for issue event route by @Mihir-Mavalankar in #114926
  • Add check for seer-gitlab-support in the /seer/onboarding-check/ endpoint by @ryan953 in #113851
  • Move seer default settings into flyout panels & rm overview page by @ryan953 in #114599
  • Add check for seer-gitlab-support to billing/subscription screens by @ryan953 in #113855
  • Add check for seer-gitlab-support to the seer config reminder by @ryan953 in #113852

Sentry Apps

Settings

Slack

Snapshots

Spans

Trace Waterfall

Ui

  • Add keywords for theme switching in Command Palette in #114970
  • Replace MemberListStore with React Query in #114658

Other

  • (ai-conversations) Emit Sentry event on empty conversation detail page by @obostjancic in #115368
  • (auth) Add SuspendedUserMiddleware safety net in #114771
  • (billing) Use Intercom for ask Support links in #115527
  • (checkout) Use Intercom for ask Support link by @souredoutlook in #115218
  • (ci) Retry getsentry-dispatch by @joshuarli in #115309
  • (data-export) Add Sentry trace metrics for export outcomes in #115575
  • (endpoints) Add option to disable all project fetching in relay endpoints by @tobias-wilfert in #114947
  • (eslint) Enable @typescript-eslint/no-unnecessary-type-arguments by @JoshuaKGoldberg in #113674
  • (events) Add experimental api for events that allows sql by @wmak in #115330
  • (export) Update Storgae config for full trace export for Logs by @manessaraj in #114065
  • (external-issues) Use LLM generated title/description for ticket creation by @leeandher in #114760
  • (highlights) New loading state, stronger project types in #115352
  • (insights) Show source frames for slow DB spans by @scttcper in #115286
  • (integrations) Include organization_id in response tracking logs by @armenzg in #113903
  • (issue-detection) Tier-based traces per invocation by @roggenkemper in #114331
  • (playstation) Add feature for uploading attachments to object store by @tobias-wilfert in #114956
  • (process-segments) Add span deduplication filtering by @untitaker in #115283
  • (projects) Load project stats with react query, remove ProjectsStatsStore in #115463
  • (replays) Add replay dataset back to events by @wmak in #114234
  • (repositories) Filter out active repositories from the sync in #115034
  • (scm) Allow fetching by org/repo-name in #114369
  • (scraps) Markdown component by @natemoo-re in #115025
  • (search) Add userCount filter key to issue search autocomplete by @isaacwang-sentry in #114823
  • (search-query-builder) Add custom currency filter by @nsdeschenes in #114713
  • (seer-explorer) Add polling backoff for 5xx errors in #115538
  • (seer-slack) Add slack link parsing and insert slack thread info by @alexsohn1126 in #114442
  • (slo) Add SLO instrumentation to Jira search endpoint in #114513
  • (slot) Automatically bridge known contexts by @natemoo-re in #114548
  • (trace-meta) Add trace metrics by @wmak in #115107
  • (tracemetrics) Add Equation UI to Widget Builder in #115071
  • (types) Split Project into ProjectSummary and DetailedProject by @scttcper in #115024
  • (typing) Add pre-commit hook to prevent new weaklist additions by @armenzg in #114761
  • (viewer-context) Add seer_rpc_in + org_seer_rpc_in chokepoints in #115577
  • (webhooks) Add live-run flag to override circuit breaker dry-run by @Christinarlong in #114820
  • Extend performance profiles to V2 spans by @loewenheim in #115203
  • Allow interval on heatmap endpoint by @wmak in #115010
  • Add a random duration task for testing by @evanh in #114858

Bug Fixes 🐛

Aci

  • Require AlertRuleWorkflow IDs to be ints by @kcons in #115245
  • Add workflow ID to ActionInvocation by @kcons in #114770
  • Revalidate medium threshold when high threshold changes in #114923
  • Update the query filters to show monitor instead of detector by @saponifi3d in #114800

Ai Conversations

Api

  • Replace % formatting with string concatenation in count_hits to resolve Semgrep warning by @fix-it-felix-sentry in #114016
  • Validate root-cause-analysis query params via serializer by @oioki in #115297
  • Validate more user-provided int ids by @kcons in #115299
  • Return forbidden for gated events endpoint in #115148
  • Validate more user-provided integer ids by @kcons in #114996
  • Preserve string array span detail attributes in #114853

Attributes

Auth

  • Conditionally show unlinked member warning based on SSO requirement in #115461
  • Prefer session user over IdP email in SSO identity resolution by @michelletran-sentry in #115079

Autofix

Cells

  • Bump Organization replication_version to backfill mapping date_created by @lynnagara in #115423
  • Replicate Organization.date_added to mapping row in #115325

Charts

Codeowners

  • Return owner names on sync in #115583
  • Display dateSynced instead of dateUpdated in CODEOWNERS table in #115136
  • Add date_synced field to track actual CODEOWNERS sync time by @shashjar in #115115

Conversations

Dashboards

  • Clarify mobile vitals app starts in #115264
  • Use span.op for MCP pre-built dashboard filters by @gggritso in #115540
  • Render unfurl chart with dual Y axes for multi-aggregate widgets by @DominikB2014 in #115411
  • Invalidate dashboards list and grid on delete in #115354
  • Exempt details widgets from limit validation in #115170
  • Preserve prebuilt globalFilter chips when cloning by @DominikB2014 in #115081
  • Close widget viewer modal when releases drawer opens by @skaasten in #114768
  • Default text widgets to 1 row tall by @jameskeane in #114898
  • Include threshold changes in revision diffs in #114607
  • Match widgets by content fingerprint when IDs differ and titles are non-unique by @skaasten in #114578
  • Show current version when no revisions exist by @skaasten in #114718

Explore

Insights

Integrations

  • Preserve async select value in external issue modal after dynamic refetch in #115593
  • Allow blank overview on sentry app form by @priscilawebdev in #114946
  • Validate integration_id in OrganizationIntegrationBaseEndpoint by @kcons in #114821

Issue Detection

Issues

  • Render assigned user avatars from member list in #115619
  • Resolve custom tag / column name collision in events tab & timeline chart in #115416
  • Resolve custom tag / column name collision on issue details page by @shashjar in #115096
  • Migrate data conditions away from old group type categories by @ceorourke in #114614
  • Return 400 for invalid action on group integration details by @mrduncan in #114657
  • Scope get_shared_for_org to the slug-resolved organization by @oioki in #114906
  • Fix typo "withing" → "within" in status_change comment in #114911

Iswf

Jest

  • Make command palette tests deterministic by mocking debounce in #115316
  • Mock Algolia search in command palette test to prevent timeout by @sentry in #115314

Onboarding

  • Mobile style tweaks for SCM onboarding by @jaydgoss in #115426
  • Center the SCM detection loading indicator in #115404
  • Add logs to browser JS and SolidStart product selection in #115399
  • Register Replay integration during onboarding flow by @jaydgoss in #114774

Ourlogs

Preprod

  • Fix snapshot list scroll-to and duplicate React keys in #115396
  • Clarify rerun analysis description in admin page by @NicoHinderling in #115340
  • Quote CSS mask-image URLs to handle special characters by @NicoHinderling in #115318
  • Improve snapshot status filter behavior by @NicoHinderling in #115224
  • Get snapshot PR comments from detailed project in #115173
  • Get snapshot status checks from detailed project in #115139
  • Add exponential retry for GitHub API calls in snapshot tasks in #114272
  • Use display_name for snapshot sidebar labels in #114710
  • Raise expiry_seconds on Objectstore upload token by @lcian in #114844
  • Ensure artifact belongs to accessible project by @klochek in #114446

Profiling

Releases

Replay

Replays

  • Use Spans dataset when fetching contents of "Trace" tab by @gggritso in #115530
  • Cap Mobile Replay <video> element pool by @gggritso in #115403
  • Make sure the replay player doesn't reset on a background update by @TkDodo in #115052

Repositories

  • Fix serialization error during repo sync in #114880
  • Convert repository sync api to be a control endpoint by @wedamija in #114797

Search

Search Query Builder

Seer

  • Prevent duplicate assisted-query submissions in #115566
  • Record user initiator for manual explorer handoffs in #115558
  • Preserve recommended sort order for unscored issues in night shift by @trevor-e in #115444
  • Normalize U+F00D wildcard operators in snapshot_to_markdown in #115397
  • Iterate on the Add Project to Autofix form to make it work better in #115306
  • Add sent_at timestamp to autofix PR analytics events by @trevor-e in #115341
  • Use IntoTip instead of QuestionTooltip in Core Review table by @ryan953 in #115308
  • Let manage your repository connections open in a new tab by @ryan953 in #115289
  • Use hash-based jitter for night shift org dispatch by @trevor-e in #115189
  • Use self.get_projects() in OrganizationAutofixAutomationSettingsEndpoint by @srest2021 in #114977
  • Improvements in #114881
  • Stop on-completion hook from re-pushing terminally errored repos in #114885

Settings

Slack

Snapshots

Span Buffer

Spans

  • Remove conditional cleanup to fix flush lock double-flush bug by @untitaker in #114883
  • Release flush lock in done_flush_segments in #115169

Tracemetrics

Typing

  • Remove snuba modules from the mypy weaklist by @kcons in #115439
  • Remove more of sentry.incidents from the weaklist by @kcons in #115304
  • Remove sentry.incidents.serializers from the mypy weaklist by @kcons in #115232

Ui

  • Allow tooltips inside hovercard in #115590
  • Separate issues feed overlay groups in #115576
  • Rank trace group by matches with fzf in #115032
  • Table header icon size in #114913

Workflows

  • Require int ids in AlertRuleDetectorValidator by @kcons in #115510
  • Don't report timeouts as errors in process_workflow_event or delayed_workflows by @kcons in #115215
  • Require action_filters to be a list of dicts by @kcons in #114860

Other

  • (agent-ui) Derive staleness from a direct check w/scheduled rerender by @aliu39 in #115344
  • (ai) Mirror AI conversation message parsers in #114707
  • (alerts) Return 400 when trigger IDs don't belong to the alert rule being updated in #115573
  • (Anomaly Detection) Verify the users project permissions in #114900
  • (avatar) Add cached fallback to AsyncMemberAvatar by @natemoo-re in #115554
  • (backendJsonFormAdapter) Convert disabledReason to disabled string in #114847
  • (checkboxState) Update useListItemCheckboxContext to not rely on ApiQueryKey directly, only QueryKeyEndpointOptions in #114997
  • (ci-st) Don't print confusing 0 test count if all tests are selected by @joshuarli in #115305
  • (data-forwarding) Better permissions controls on editing page in #114966
  • (digests) Don't filter by RuleSnooze by @kcons in #115229
  • (discover) Guard against undefined items in collectQueryStringByKey by @sentry in #115469
  • (eap) Normalize dashed UUIDs in search filters and resolve internal column names by @BYK in #114550
  • (eslint) Inline disable new violations in #114941
  • (events) Invert PS/AMD logos in dark mode by @priscilawebdev in #115369
  • (feature-flags) Use sm text in tooltip date by @priscilawebdev in #115159
  • (feedback) Disallow OR/AND operators in feedback search by @mrduncan in #115113
  • (gsAdmin) Update admin portal contact channel and owner link by @swartzrock in #114399
  • (identity) Remove bogus email_verified from VSTS identity providers by @michelletran-sentry in #114863
  • (logs) Correct Date.now mock in virtual streaming test by @sentry in #114793
  • (migrations) Catch missing historical_silo_assignments on MOVE_TO_PENDING by @wedamija in #115087
  • (mypy) Remove stale weaklist entry for deleted test file by @NicoHinderling in #115204
  • (nightshift) Make the (temporary) alert be a system alert, no rounded corners in #114921
  • (oauth) Prevent session overwrite attack in authorization flow by @semgrep-code-getsentry in #113791
  • (occ-eap) Prevent throw on None stack frame in #115395
  • (ownership) Show specific error messages when ownership rule owners are invalid by @shashjar in #114802
  • (release-health) Add stable processing jitter by @JoshFerge in #115507
  • (repos) Fix virtualized repo list scroll container in non-nested mode in #114901
  • (sdk-crash) Exclude React Native Supabase instrumentation from SDK crash detection by @antonis in #115259
  • (seer-explorer) Clear input when switching sessions or starting new chat in #115440
  • (seer-slack) Change thinking status by @alexsohn1126 in #115280
  • (sentry-apps) Gate dashboard stats queries by @priscilawebdev in #115056
  • (sentryapps) Need GET to be exception cased to view the app status in _admin by @Christinarlong in #114980
  • (slack-unfurl) Preserve multiple groupBy entries on explore unfurl by @DominikB2014 in #114862
  • (snuba) Map ClickHouse 'Too many simultaneous queries' to 429 instead of 500 by @BYK in #114551
  • (superuser) Improve banner ux by @priscilawebdev in #115168
  • (test) Fix flaky filesChanged test by using regex matcher by @ryan953 in #114975
  • (tests) Fix missing control silo urls in test by @wedamija in #114870
  • (trace-details) Show replacement attributes when no deprecated source exists in #114943
  • (trace-meta) Fix types for EAP Trace Meta by @nsdeschenes in #115553
  • (traces) Add null state to application metrics dropdown in #115617
  • Allow reading multiple env secrets for Launchpad in #115632
  • Wrap custom tags project_id and project.name by @cobyeastwood183 in #115402
  • Mypy-weaklist-stale-on-delete by @joshuarli in #115213
  • Be less strict when parsing apiUrls by @TkDodo in #114978
  • Disable billing platform exception logging by @noahsmartin in #114872

Documentation 📚

Internal Changes 🔧

Aci

Agents

  • Clarify frontend typecheck command in #115421
  • Better instructions for using apiOptions by @TkDodo in #114949

Alerts

Autofix

Billing

Cells

  • Remove cell restriction code for Jira and integrations by @lynnagara in #115508
  • Rename SENTRY_OUTBOX_MODELS key from REGION to CELL by @lynnagara in #115210
  • Assert control org listing matches cell response in #114919
  • Remove dead OrganizationRegionEndpoint in #114791

Ci

  • Skip importing irrelevant test files during pytest collection in #114107
  • Route postgres through Unix domain socket in CI in #114108
  • Re-apply parallel devservices startup for backend tests by @mchen-sentry in #114104

Codeowners

Cross Events

Dashboards

Deps

Deps Dev

Explore

Feedback

Flags

  • Remove organizations:alerts-timeseries-comparison registration by @wedamija in #113375
  • Remove organizations:symbol-sources gates (backend) by @wedamija in #114993
  • Remove organizations:performance-transaction-summary-eap registration by @wedamija in #115015
  • Remove organizations:performance-transaction-summary-eap gates (frontend) by @wedamija in #115014
  • Remove organizations:integrations-cursor registration by @wedamija in #115017
  • Remove organizations:insights-prebuilt-dashboards by @gggritso in #114960
  • Remove organizations:integrations-cursor gates (frontend) by @wedamija in #115016
  • Remove organizations:symbol-sources gates (frontend) by @wedamija in #114991
  • Move 2 should-be-permanent flags to permanent.py by @wedamija in #114934
  • Remove organizations:new-organization-member-invite by @wedamija in #114812
  • Remove organizations:integrations-deployment by @wedamija in #114990
  • Remove organizations:on-demand-gen-metrics-deprecation-query-prefill by @wedamija in #114810
  • Remove organizations:app-store-connect-multiple by @wedamija in #114935
  • Remove organizations:dashboards-starred-reordering (backend) in #114817
  • Remove organizations:continuous-profiling-beta-ui (registration) in #114816
  • Remove organizations:dashboards-starred-reordering (frontend) in #114818
  • Remove organizations:continuous-profiling-beta-ui (frontend) in #114815
  • Make organizations:workflow-engine-log-evaluations permanent in #114803
  • Remove organizations:uptime-auto-detected-monitor-emails in #114806
  • Remove organizations:normalize_segment_names_in_span_enrichment by @wedamija in #114809
  • Remove organizations:on-demand-gen-metrics-deprecation-prefill by @wedamija in #114811
  • Remove organizations:on-demand-metrics-query-spec-version-two by @wedamija in #114808

Forms

Integrations

Issue Detection

Issues

Iswf

Jest

  • Mark flaky Jest tests with it.isKnownFlake() in #115447
  • Update flaky test markers based on recent CI data by @ryan953 in #115277

Lint Rules

Onboarding

Preprod

  • Unify snapshot detail header badges with table status column in #115633
  • Extract shared snapshot status derivation for list and detail endpoints in #115604
  • Remove approval_status from frontend search attributes in #115588
  • Add no_base_build comparison state for snapshots by @mtopo27 in #115561
  • Move comparison state badges from Changes to Status column by @mtopo27 in #115506
  • Reorder snapshot table columns and show Base badge in Status by @mtopo27 in #115488
  • Standardize logging key to preprod_artifact_id by @NicoHinderling in #115462
  • Increase process_artifact deadline from 12 to 15 minutes by @NicoHinderling in #115349
  • Remove redundant content_hash and fix extra field leakage in snapshot responses by @NicoHinderling in #115323
  • Use React components for app size treemap tooltip by @TkDodo in #115045
  • Add blocklist to filter internal fields from snapshot metadata tooltip by @NicoHinderling in #114988
  • Align snapshot status checks UI with PR comments pattern by @runningcode in #114963

Profiling

  • Remove base64 rollout option for profile task payload in #115387
  • Remove base64 encoding from profile task payload by @untitaker in #115069

Repos

Repositories

  • Switch over queries for RepositoryProjectPathConfig to use the new ProjectRepository table in #115516
  • Switch over queries for SeerProjectRepository to use ProjectRepository in #115456
  • Mark project_repository column as not null. by @wedamija in #115524
  • Backfill the new ProjectRepository table by @wedamija in #115351
  • Dual write to the new ProjectRepository table when we create related rows in other tables in #115346
  • Add a table to allow us to link a project to a repository in #115331
  • Remove most feature flags from repo syncing by @wedamija in #115033

Searchquerybuilder

  • Share filter parser grammar in #115557
  • Avoid full filter parse for free text in #115563

Seer

Seer Explorer

  • Rewrite types to use zod schemas in #115206
  • Increase stale timeout to 120s in #115386
  • Remove unused isVisible and isMinimized props from InputSection by @aliu39 in #115227

Settings

Snapshots

  • Fix snapshot product doc link in #115410
  • Update settings badge from alpha to beta by @mtopo27 in #115275
  • Improve responsiveness for snapshot detail view in #114967

Spans

Types

  • Add type stubs for prism-line-highlight plugin in #115067
  • Narrow type in Promise.catch from any to unknown in #114849

Ui

Other

Other

  • fix(cells) Increase the task deadline for outbox scheduling in #115636
  • o11y(preprod): Add context to snapshot status check and PR comment logs in #115612
  • o11y(assisted-query): track result counts after AI query is applied in #115240
  • fix(relocations) Use str instead of uuid task parameter in #115587
  • chore(cells) Reduce indirection in organization.provisioning in #115522
  • fix(cells) Move metric collection for outbox backfill in #115552
  • Add evals devservices mode by @JoshFerge in #115526
  • ref(flex) run codemod on orphaned files by @JonasBa in #115393
  • feat(cells) Add option based control for cell rollout by @markstory in #115409
  • deps(scm): Upgrade sentry-scm to 0.14.0 in #115376
  • Fully remove issue alert columns on NotificationMessage in #115327
  • feat(cells) Make organization-create work in control silo by @markstory in #115238
  • fix(types) Remove sentry.net.http from the ignore list by @markstory in #115185
  • chore(cells) Remove org_setup_complete by @markstory in #115103
  • switch from alpha -> beta badge by @mtopo27 in #115197
  • Remove Rulefirehistory references in #115035
  • fix(spans) Trim environment names to prevent overflows in #115141
  • Remove references to RuleFireHistory by @ceorourke in #115036
  • chore(tests) Improve assertion failure messages for analytics events by @markstory in #115002
  • fix(cells) Add referrer to org create endpoint by @markstory in #114962
  • chore(cells) Remove remaining usage of deprecated provisioning options by @markstory in #114879
  • Add 'organizations:relay-default-trace-id' to config in #114907
  • Update SDK version and options by @cleptric in #114856
  • Additional logging and metrics for suspended user activity by @geoffg-sentry in #114749

Plus 1 more

Fetched May 18, 2026