megachangelog
Announcement26.5.0

Sentry 26.5.0 Release

Sentry 26.5.0 includes major enhancements across multiple product areas: autofix now supports coding agents with improved introspection, dashboards feature new visualization components and widget-aware charts, Explore adds heatmap tooltips and array query syntax support, Issues includes new Seer-powered actions in activity timelines, and numerous improvements to OTLP endpoints (now GA), snapshot comparison workflows, organization management, and logging capabilities.

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

releaseautofixdashboardsexploreotlpsnapshots

Source: original entry ↗

More from Sentry

Follow Sentry to get its new changes in your feed and email digest.

Announcement0.1.0

First curated Scraps entries published

Initial release of curated Scraps entries covering themes, tokens, layout, typography, separators, quotes, loaders, inline code, and keyboard key labels.

scrapsui-componentsdesign-systemrelease
Announcement26.9.0

Sentry 26.9.0

Sentry 26.9.0 introduces numerous enhancements across anomaly detection, action logging, admin features, AI monitoring, API endpoints, authentication, and more. Updates include improved stateful detectors, conversation sorting and filtering, new API documentation standards, Auth V2 frontend improvements, and infrastructure optimizations.

apiauthai-monitoringadminperformance
Announcement26.8.0

Version 26.8.0 Release

Sentry 26.8.0 introduces numerous features and improvements across multiple product areas including enhanced alert configuration with every_event conditions, agent monitoring UI improvements with interactive JSON rendering and timeline enhancements, expanded API response schemas, Autofix steering and checkpoint improvements, and broader platform enhancements for conversations, dashboards, dynamic sampling, and data exploration.

alertsagent-monitoringapiautofixconversations
See all Sentry changes →