github getsentry/sentry 26.5.0

3 hours ago

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

  • Span id link overflow by @nikkikapadia in #115380
  • Validate project access for starred segments in #115418

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

  • Prevent row-lock contention on last_seen bump by @yuvmen in #115443
  • Handle integration token states in releases promo by @gggritso in #115254

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

  • Use stricter value for selector options by @nsdeschenes in #115479
  • Fix palette differences between table and viz by @k-fish in #115282

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 📚

  • (spans) Update span buffer docs by @lvthanh03 in #115483
  • Document Application Metrics dataset in #115089

Internal Changes 🔧

Aci

  • Update API docs landing page description by @ceorourke in #115509
  • Remove beta tag on API docs by @ceorourke in #115284
  • Use addErrorMessage for detector mutation errors by @evanpurkhiser in #115205
  • Update new monitor page copy in #115158
  • Narrow latest group detector query by @scttcper in #115027
  • Move metric issues into generic post processing pipeline by @ceorourke in #114786

Agents

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

Alerts

  • Remove metric alert constraint on NotificationMessage by @ceorourke in #115529
  • Move spike protection API docs to their own section by @ceorourke in #115521
  • Drop IncidentTrigger model by @ceorourke in #115502
  • Remove IncidentTrigger model by @ceorourke in #115492
  • Remove a couple more usages of IncidentTrigger by @ceorourke in #115458
  • Delete triggered_incidents from AlertRuleTrigger by @ceorourke in #115454
  • Remove triggered_for_incident from tests in #115451
  • Remove triggered_incidents from AlertRuleTrigger in #115449
  • Remove usage of IncidentTrigger in #115436
  • Drop RuleFireHistory table in #115401
  • Remove RuleFireHistory in #115328
  • Remove metric alerts dual processing log flag by @ceorourke in #115342
  • Remove issue alert columns from NotificationMessage by @ceorourke in #115290
  • Remove unused incident endpoint code by @ceorourke in #115250
  • Remove dead alerts code by @ceorourke in #115301
  • Remove unused incidents code by @ceorourke in #115236
  • Drop SystemAlerts from the init queue component map by @evanpurkhiser in #115223
  • Remove issue alert constraints on NotificationMessage by @ceorourke in #115150
  • Remove dead standalone SystemAlerts mount by @evanpurkhiser in #115222
  • Unpublish legacy rule endpoints by @ceorourke in #115154
  • Adopt useModal in issue rule actions in #115119
  • Remove should_fire_workflow_actions in #115083
  • Drop NeglectedRule table by @ceorourke in #114976
  • Remove NeglectedRule model by @ceorourke in #114927

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

  • Replace derived state in editAccessSelector in #115155
  • Use VisualizationWidget for all dataset types in #114622
  • Adopt useModal in dashboard revisions in #115122
  • Lower default async queue parallel limit to 15 by @DominikB2014 in #115076
  • Drop DashboardLastVisited table by @wedamija in #114930
  • Remove DashboardLastVisited model by @wedamija in #114929
  • Remove top_n and stacked_area display type handling by @DominikB2014 in #114903
  • Improve number formatting documentation in #112410

Deps

  • Bump taskbroker-client and relax bump_version lint by @untitaker in #115281
  • Bump urllib3 from 2.6.3 to 2.7.0 by @dependabot in #115298
  • Bump lxml from 5.3.0 to 6.1.0 by @dependabot in #115060
  • Bump mistune from 2.0.4 to 3.2.1 by @dependabot in #115260
  • Bump django from 5.2.12 to 5.2.14 by @dependabot in #115261
  • Bump cryptography from 46.0.5 to 46.0.7 by @dependabot in #115061
  • Bump requests from 2.32.4 to 2.33.0 by @dependabot in #115062
  • Bump pillow from 12.1.1 to 12.2.0 by @dependabot in #115059
  • Update mypy to 1.20.2 by @JoshFerge in #114969

Deps Dev

  • Bump pytest from 8.1.2 to 9.0.3 by @dependabot in #115057
  • Bump terser from 5.40.0 to 5.46.2 by @dependabot in #114826

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

  • Add ExternalActor.source field by @hobzcalvin in #115300
  • Remove integration repos tab, rename to Settings by @evanpurkhiser in #115196
  • Log Jira issue.updated webhook payloads behind a flag by @hobzcalvin in #114822

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

  • Enabling unicorn/refer-native-coercion-functions and fixing violations by @Abdkhan14 in #115078
  • Enabling unicorn/no-array-push-push and fixing violations by @Abdkhan14 in #115093
  • Enabling 'unicorn/no-zero-fractions' and fixing vi… by @Abdkhan14 in #115077
  • Enabling unicorn/throw-new-error' and fixing viola… by @Abdkhan14 in #115074

Onboarding

  • Replace deprecated useRouter with useLocation and useNavigate by @cursor in #115453
  • Exclude flutter profiling from SCM info cards in #115383
  • Migrate storeCrashReports config by @priscilawebdev in #114942

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

  • Add back options for conditional flush cleanup by @lvthanh03 in #115075
  • Unregister graduated option enforce-segment-size by @lvthanh03 in #114773

Types

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

Ui

Other

  • (agent) Refactor interrupt display logic to use a hasSentInterrupt flag by @aliu39 in #115094
  • (agent-ui) Use block id instead of timestamp for optimistic block logic by @aliu39 in #115226
  • (ai) Add form submit + mutation guidance to migration skill by @priscilawebdev in #115358
  • (api) Remove unused fileNameBlocklist constant in #115183
  • (app) Flatten root provider chain into a list by @evanpurkhiser in #115311
  • (arithmeticBuilder) Replace derived state with useMemo in story by @ryan953 in #115145
  • (artifact-bundles) Scope indexing state query to org by @scttcper in #114183
  • (assisted-query) Remove old ai_query analytics events and analyticsSource prop by @aliu39 in #115243
  • (attributes) Tidy up attribute getter functions by @nsdeschenes in #114846
  • (automations) Adopt useModal in action settings by @evanpurkhiser in #115125
  • (autopilot) Remove task scheduling for dead autopilot project by @vgrozdanic in #115465
  • (billing-platform) Log response in service method wrapper by @brendanhsentry in #115246
  • (Capacitor) Update getting started from new projects in #113913
  • (cmdk) Migrate command palette identifier lookup to apiOptions in #114835
  • (context engine) Add date and time data to context by @Mihir-Mavalankar in #115392
  • (crons) Adopt useModal in upgrade CTA in #115118
  • (data-forwarding) Ensure DataForwarding page is usable for members/team-admins in #114859
  • (ds) Remove reservoir sampling rule by @Dav1dde in #115365
  • (dynamic-sampling) Add status to duration metrics in per-org pipeline by @shellmayr in #114954
  • (endpoints) Remove old options by @tobias-wilfert in #114951
  • (eslint) Fixing violations and enabling no-prototype-builtins rule in #114866
  • (events) Adopt useModal in events interfaces by @evanpurkhiser in #115116
  • (explorer) Refactor optimistic block state in useSeerExplorer by @aliu39 in #114603
  • (feature-flags) Use React components for flag series tooltip by @TkDodo in #114968
  • (features) Remove organizations:discover flag in #114895
  • (flagpole-wildcard-op) Implementing 'matches' as a flagpole con… by @Abdkhan14 in #115385
  • (frontend) Use tsgo for frontend typecheck, upgrade tsgo by @scttcper in #115504
  • (gsAdmin) Migrate relocation modals to scraps by @priscilawebdev in #115363
  • (insights) Remove usage of insights-prebuilt-dashboards feature flag in #114373
  • (issue-details) Use React components for event markline tooltip in #115043
  • (lint) No-non-null-assertion in scraps by @TkDodo in #115165
  • (metrics) Remove now-unused prune_old_open_period_activity task in #114897
  • (monitors) Singularize Monitor Type labels by @souredoutlook in #115100
  • (mypy) Extend prevent-weaklist-additions hook to also guard disable_error_code section by @joshuarli in #115217
  • (occ-eap) Raise missing trace ID log to info by @thetruecpaul in #115088
  • (performance) Adopt useModal in performance views in #115121
  • (process-segments) Remove semantic partitioning option by @untitaker in #115370
  • (projects) Convert deprecated project redirect to hooks by @scttcper in #115249
  • (releases) Use React components for mobile builds chart tooltip in #115044
  • (relocation) Adopt useModal in relocation admin in #115117
  • (replay) Adopt useModal in replay components in #115120
  • (rules) Remove references to NeglectedRule in #114894
  • (scraps) Update FeatureBadge to use Tag variants with icon-only content in #115064
  • (slack) Update chart unfurl link-identity prompt copy by @DominikB2014 in #115086
  • (slot) Remove missing-outlet warning by @natemoo-re in #115110
  • (st) Add file to test mappings by @joshuarli in #114882
  • (supergroups) Drop deprecated RCASource in #114912
  • (tag) Use gap instead of margins for spacing by @evanpurkhiser in #115020
  • (tracemetrics) Refactor equation prefix stripping in alerts by @narsaynorath in #114319
  • (tsc) Switch useApiQuery to apiFetch and unify queryKey shape in #114845
  • (unfurl) Split explore unfurl parsing per dataset by @DominikB2014 in #114764
  • (webhooks) Add log to note stats on who is tripping the breaker by @Christinarlong in #114888
  • (workflow_engine) Pass workflow_id explicitly instead of via queryset annotation in #114784
  • Add simple dashboard generation instructions in #115635
  • Remove createDefinedContext utility, inline standard createContext + hooks in #115544
  • Migrate chartSelectionContext to nuqs by @ryan953 in #115324
  • Remove useResettableState() by @ryan953 in #115512
  • Inline getExtrapolateFromLocation and remove helper by @ryan953 in #115445
  • Upgrade backend mypy to 2.1.0 by @JoshFerge in #115477
  • Inline getTitleFromLocation helper function by @ryan953 in #115441
  • Add new referrer to track in-chat links in #115398
  • Add last_usage_ts to usage service in #115353
  • Migrate simple useQueryParamState call sites to nuqs in #115310
  • Drop withSentryAppComponents HoC by @evanpurkhiser in #115334
  • Drop withConfig HoC by @evanpurkhiser in #115333
  • Drop withOrganizations HoC by @evanpurkhiser in #115321
  • Upgrade sentry-arroyo from 2.39.1 to 2.39.2 by @george-sentry in #115269
  • Add seer paying orgs to context engine by @shruthilayaj in #115208
  • Clean up explorer index flags by @shruthilayaj in #115186
  • Bump protos in #115187
  • Bump protos in #115152
  • Run getsentry acceptance on gsApp changes by @priscilawebdev in #114704
  • Bump protos by @noahsmartin in #115040
  • Bump sentry-protos to 0.8.27 in #114931
  • Bump sentry-protos to 0.8.26 in #114905
  • Bump new development version by @sentry-release-bot[bot] in 7e8b2314

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

Don't miss a new sentry release

NewReleases is sending notifications on new releases.