github getsentry/sentry 26.8.0

4 hours ago

New Features ✨

Aci

Action Log

Agent Monitoring

Ai Monitoring

Api

Assisted Query

  • Forward flag options from the search-agent start endpoint by @aliu39 in #121884
  • Forward feature flags to Seer as request options by @aliu39 in #121784

Attachments

  • Redirect Objectstore-backed attachment downloads to Objectstore by @jan-auer in #120958
  • Store the filename with Objectstore attachment uploads by @jan-auer in #120964

Auth

Autofix

Conversations

Dashboards

Data Browsing

Difs

Dynamic Sampling

Explore

Feedback

Gal

  • Enroll eligible projects for backfill by @yuvmen in #121780
  • Add coordinator task for full backfill across all projects by @yuvmen in #119863

Gdd

  • When invalidating, ensure an invalidated GDD row exists by @kcons in #121398
  • Report incremental derived data processing latency by @kcons in #121030

Hybridcloud

  • Tag webhook delivery time with the mailbox event type by @vaind in #122026
  • Tag delivery outcomes and latency with their dispatcher and mode by @vaind in #121982
  • Attribute drain dispatches to push trigger vs scheduler by @vaind in #121882
  • Tag webhook delivery time by provider by @vaind in #121636
  • Tag webhook delivery metrics by provider by @vaind in #121609
  • Tag webhook backlog depth by event type by @vaind in #121601
  • Emit webhook mailbox depth and oldest-pending-age metrics by @vaind in #121506

Inbound Filters

Inbox

Investigations

Issue Inbox

Issue Progress

Issues

Onboarding

Pr Metrics

Preprod

Replays

Scraps

Search

Seer

Seer Billing

  • Remove OrganizationContributors integration id column by @srest2021 in #121011
  • Mark OrganizationContributors integration id as pending deletion by @srest2021 in #120980

Seerexplorer

  • Deep-link telemetry_live_search call rows by @sentry-junior in #122017
  • Surface residual Explore links and span deep-links by @sentry-junior in #121997
  • Report page location and timezone-aware send times by @azulus in #121758

Slack

Smart Assignment

Workflow Engine

Other

  • (admin) Improve admin search dropdowns by @scttcper in #121498
  • (auto_ongoing_issue) Smooth issue transition load by @kcons in #121691
  • (billing) Wire trace-metric retention to the byte category by @dashed in #120542
  • (billing-platform) Query usage by projects by @brendanhsentry in #121859
  • (coding-agents) Record the PR number on coding-agent results by @cvxluo in #120909
  • (derived data) Add README/AGENTS docs by @kcons in #122015
  • (discover) Put migration warning for discover split by @nikkikapadia in #121353
  • (events) Soft block external legacy events API usage by @mjq in #120854
  • (icon) Add IconCopyId and use it for ID copy buttons by @natemoo-re in #120907
  • (issue-details) Surface Seer assignee suggestions by @hobzcalvin in #121251
  • (issue-preview) Show root cause evidence by @roggenkemper in #121250
  • (issue-workflow) Register Seer action log rollout by @cvxluo in #121546
  • (link) Add tracking props to links by @TkDodo in #120307
  • (metrics) Add support in the data export processor by @JoshuaKGoldberg in #121566
  • (nav) Command Palette and Agent Sidebar trigger are competing for attention by @priscilawebdev in #121044
  • (post-process) Generic killswitch for pipeline steps by @untitaker in #121428
  • (pr-iteration) Resolve all review comment threads after iteration by @alexsohn1126 in #120589
  • (projects) Migrate filter debouncing to Pacer by @scttcper in #121800
  • (reports) Add PR links to past resolved issues by @shashjar in #121667
  • (sdk) Enable 'drop-error-if-contains-third-party-frames' by @JoshuaKGoldberg in #121966
  • (seer-infra-telemetry) Implement per-customer SA generation & deletion for GCP integrations by @shashjar in #120266
  • (sentry-apps) Collapse the permissions panel in creation templates by @cvxluo in #121640
  • (snuba) Complete and remove option rollout for response compress… by @tryangul in #120711
  • (stories) Add resizable demo with breakpoint ruler by @natemoo-re in #120568
  • (taskworkers) Add batch prevalidation to CursoredScheduler by @shellmayr in #121515
  • (trace) Include event data in trace item details API by @mjq in #121461
  • (traces) Show errors inline in Logs tab by @JoshuaKGoldberg in #118867
  • (ui) Upgrade TanStack Pacer devtools, recent search saving by @scttcper in #121325
  • (variables) Merge symbolicated frame variables into the event by @Dav1dde in #121457
  • Register agentic-triage-free-cohort-killswitch FlagPole flag by @Mihir-Mavalankar in #121630
  • Add leading icon to TextCopyInput by @evanpurkhiser in #121560
  • Pass variable extraction flag to Symbolicator by @szokeasaurusrex in #120882
  • Register variable extraction feature flag by @szokeasaurusrex in #120881
  • Refresh tracing empty state to include AI setup and updated copy by @bcoe in #120826

Bug Fixes 🐛

Admin

  • Hide enterprise trial for non-free plans by @ndmanvar in #121783
  • Change help text to specify that it will enable business and not impa… by @ndmanvar in #121662

Agent Monitoring

Alerts

  • Send release environment name, not id, and update API docs by @hobzcalvin in #122074
  • Serialize targetless workflow actions by @cvxluo in #121986
  • Don't use legacy Rule name in issue alert notifs by @leeandher in #121960
  • Format failure rate notifications by @sentry-junior in #119878

Autofix

Charts

  • Rename LineSeries factory to lowercase for React Compiler by @sentry in #121927
  • Stabilize ChartComponent reference in EventsChart by @sentry in #120037
  • Prevent chart zoom handler invoked on propagated synced zoom actions by @edwardgou-sentry in #121723

Coding Conventions

  • Address no-capitalized-function-calls in viewHierarchy utils by @sentry in #121921
  • Rename capitalized 'Legend' function to 'legend' by @sentry in #121928
  • Rename Tree.FromAssertion to Tree.fromAssertion by @sentry in #121920
  • Rename ToolBox to getToolBox in charts components by @sentry in #121926
  • Refactor InlineEventAttachment for React Compiler by @sentry in #120032
  • Resolve static-component-definitions in SentryApplicationDetails by @sentry in #121127
  • Wrap open/closeDropdown with useCallback by @sentry in #121125
  • Resolve valid-use-memo in searchBar.tsx by @sentry in #121090

Conversations

Dashboards

  • Fix layout issues in dashboard page for mobile screen sizes by @edwardgou-sentry in #121883
  • Guard time series tooltip against stale replayed params by @JoshuaKGoldberg in #121782
  • Guard against undefined seriesNameString in widget legend decoding by @sentry in #121123
  • Heat maps in widget builder causing maximum depth error by @nikkikapadia in #120937
  • Reject saving non-text widgets with no dataset by @gggritso in #121776
  • Memoize unstable references to heat map data in widgets by @edwardgou-sentry in #121753
  • Omit parens from Open in Issues query for filtered widgets by @edwardgou-sentry in #121635
  • Refresh sidebar title after rename by @priscilawebdev in #121610
  • Use default query client instead of context api for events query by @nikkikapadia in #121558
  • Handle discover split datasets with null widget type by @nikkikapadia in #121548
  • Adhere to pure-render-functions in useTimeRangeWarning by @sentry in #121241
  • Keep custom date ranges beyond 90 days by @DominikB2014 in #120974
  • Guard against null environment in saved page filters by @TkDodo in #121066
  • Improve Y-axis when fitting Y-axis range to data by @gggritso in #120936
  • Disambiguate Dashboard widget error and loading states by @gggritso in #120855

Derived Data

  • More frequent periodic healing by @kcons in #122009
  • Modernize the behavior of invalidate_group_derived_data by @kcons in #121205

Discover

  • Stop fetching custom measurements metadata by @phacops in #122021
  • Put in discover dataset for null widget types during split by @nikkikapadia in #121468
  • Prevent TypeError when decoding null fields from URL by @sentry in #121035

Dynamic Sampling

Eap

  • Keep EAP queries inside the full-fidelity retention window by @phacops in #120872
  • Stop has:trace erroring on UUID-backed attributes by @JoshuaKGoldberg in #120856

Explore

Forms

Frontend

  • Allow project creation without team-roles by @sentry-junior in #121797
  • Correct useMemo dependencies in CategoricalSeriesWidget by @sentry in #121092

Gal

Gdd

  • Require that aggregator scope is a superset of their feature dependencies by @kcons in #121499
  • More efficient heal_stale_derived_data by @kcons in #121346
  • Use generate_project_derived_data in backfill by @kcons in #121392

Hybridcloud

  • Size the lease drain lock against a single delivery by @vaind in #121843
  • Dispatch push-triggered drains via batch claims by @vaind in #121221
  • Stop counting rejected webhooks as successful deliveries by @vaind in #121606
  • Skip the backlog estimate gauge instead of emitting zero by @vaind in #121521

Inbox

Insights

  • Make web vitals drawer body the scroll container by @sentry-junior in #121852
  • Fix valid-use-memo in TransactionNameSearchBar by @sentry in #121218

Integrations

Issue Details

Issue Detection

  • Handle NoneType request in query injection detector by @sentry in #121512
  • Handle NoneType for event.request in SQLInjectionDetector by @sentry in #121323

Issue Preview

Issue Stream

Issues

Jira

  • Add pagination to Jira project status getting by @Christinarlong in #121743
  • Catch apierror and display the project mappings anyway by @Christinarlong in #121478

Migrations

Monitors

Notifications

  • Guard against missing removeEventListener on PermissionStatus by @sentry in #121513
  • Add partial index for notificationmessage where parent IS NULL by @hobzcalvin in #121815
  • Use per-project emails on workflow notifications by @leeandher in #121349
  • Build valid release email URLs by @sentry-junior in #121114

Objectstore

  • Close the upstream response when a proxied download is abandoned by @jan-auer in #121714
  • Correct upload and response timeout handling by @lcian in #121149

Onboarding

Ourlogs

Performance

  • Adhere to pure-render-functions convention in traceWaterfallState.tsx by @sentry in #121239
  • Resolve static-component-definitions in performanceWidget by @sentry in #120030
  • Fix valid-use-memo in SearchBar by @sentry in #121216
  • Remove unused EventView prop by @scttcper in #120717

Pr Metrics

  • Group check rollups per suite, not per app by @vaind in #121664
  • Sweep activity of PRs that never earn attribution by @vaind in #121424

Preprod

Pure Render Functions

  • Correct useReleaseBubbles.tsx ref usage by @sentry in #121897
  • Memoize retentionPeriodMs in EventComparison by @sentry in #121235

Refactor Tasks

Releases

  • Attribute release-resolved issues in the group action log by @cvxluo in #121356
  • Stop using discover dataset for release comparison by @mjq in #120975

Replays

  • Handle sentry.java.android.unreal in configureReplayCard by @sentry in #120704
  • Adhere to pure-render-functions in ReplayLiveIndicator by @sentry in #121245
  • Don't discard a whole segment over one malformed click by @JoshuaKGoldberg in #121765
  • Further stop trusting the SDK type for click frame nodes by @JoshuaKGoldberg in #121766
  • Issue Replay archive events in the the time range of the original Replay by @gggritso in #121644
  • Unsquish the text unmasking banner in the player by @JoshuaKGoldberg in #121638
  • Remove gcTime: infinite for replay dom caching by @scttcper in #121529
  • See All Replays button shouldn't replace by @mjq in #119840
  • Improve error handling inside bulk Replay deletion by @gggritso in #121397
  • Remove unnecessary margins in table header cells by @JoshuaKGoldberg in #121315
  • Speed up Replay bulk delete code by paginating on sorting key by @gggritso in #121336
  • Adhere to pure-render-functions in NoReplaySummary by @sentry in #121242
  • Strip dashes from replay_id in bulk delete blob keys by @strongs in #121113
  • Register delete_recording_async under the old replays namespace too by @strongs in #121132
  • Route delete-script task to long pool and lighten its per-task cost by @strongs in #121121
  • Make delete_replays script mirror the bulk delete path so its Snuba finder stops timing out by @strongs in #121086
  • Restore to-be-deleted count in delete_replays logs by @strongs in #121071
  • Use keyset pagination in delete_replays finder so it stops timing out Snuba by @strongs in #121027
  • Handle click nodes without attributes by @scttcper in #120949
  • Handle missing data fields in AI summary by @sentry in #120859
  • Chunk bulk replay delete queries into 7-day windows by @sentry in #120456
  • Stop bulk delete progress stalling and rewinding by @JoshuaKGoldberg in #120772
  • Stop polling bulk delete jobs that are not running by @JoshuaKGoldberg in #120773
  • Source member access from the org members endpoint by @JoshuaKGoldberg in #120770

Scraps

Search

Seer

Sentry Apps

Settings

Slack

  • Deduplicate Seer Agent webhook retries by event_id by @joseph-sentry in #120934
  • Scope get_rule to the integration's organization by @frifri in #121023

Spans Migration

  • Review frontend flags for transaction dataset deprecation by @nikkikapadia in #121961
  • Account for null widget type transaction widgets by @nikkikapadia in #121654

Tests

  • Keep EAP snuba tests within 30d full-fidelity window by @phacops in #121693
  • Keep EAP snuba tests within 30d statsPeriod by @sentry-junior in #121595
  • Fix inbox test flaking in CI by @malwilley in #121565

Trace

Trace View

  • Build the loading placeholder out of spans by @gggritso in #121801
  • Resolve EAP attribute keys in trace header highlights by @buenaflor in #118918

Tracemetrics

  • Apply min-width to aggregate table columns by @narsaynorath in #121519
  • Map sentry.segment.name to transaction by @narsaynorath in #121335
  • Restore cell actions to aggregates table by @narsaynorath in #120837

Ui

Other

  • (accountSecurity) Adhere to valid-use-memo convention by @sentry in #121217
  • (aci) Allow adding triggers to an alert with triggers: null by @RudraPatel2003 in #121622
  • (action_log) Codify that pipeline_hash=NULL means invalidated by @kcons in #121273
  • (ai-monitoring) Stop title generation from joining AI conversations by @vgrozdanic in #120793
  • (api) Return X-Max-Hits header from OffsetPaginator by @malwilley in #122044
  • (arithmetic-builder) Align function tokens vertically by @nsdeschenes in #121705
  • (ask-seer) Use grammar-neutral Ask Seer fallback labels by @nsdeschenes in #121441
  • (auth) Validate org and provider in pipeline state by @michelletran-sentry in #121528
  • (auto_ongoing) Don't tag metric with count by @kcons in #121687
  • (billing) Clarify promo code redemption layout by @sentry-junior in #119526
  • (button) Keep the chonky silhouette visible under the focus ring by @cvxluo in #120219
  • (ci) Add timeouts to snuba test endpoint requests by @mchen-sentry in #121579
  • (clipboard) Prevent unhandled promise rejection from NotAllowedError by @sentry in #121032
  • (cmdk) Do not create a queryObserver for disabled resources by @TkDodo in #120963
  • (code-mappings) Decode path mapping url before validation by @Lms24 in #121593
  • (codeowners) Ignore stale organization_integration_id input by @scttcper in #120977
  • (contexts) Show <redacted> instead of "null" for scrubbed user context fields by @shashjar in #120930
  • (conventions) Update sentry-conventions package to 0.19.0 by @mjq in #121641
  • (crons) Generate unique slugs for duplicate monitor names by @mrduncan in #121456
  • (deps) Bump seroval to patch critical deserialization vuln by @oioki in #121304
  • (drawers) Move scrollbars to the right by @sentry-junior in #121860
  • (eapMetricsField) Correct valid-use-memo for debounced setSearch by @sentry in #121215
  • (errors) Transactions homepage showed broken state by @nikkikapadia in #121228
  • (events-screenshot) Stabilize AttachmentComponent reference by @sentry in #120036
  • (eventstream) Safely roll out FutureTrackingProducer by @lvthanh03 in #121671
  • (feedback) Avoid mutating event context data by @scttcper in #120716
  • (filters) Use renamed markLine export in custom filters by @sentry-junior in #121967
  • (group_notes) Use the activity flag rather than the write flag by @kcons in #121202
  • (grouping) Bound lookaheads in parameterization regexes by @oioki in #121470
  • (inbound_email) Provide ActionContext for issue notes by @sentry in #120880
  • (inbound-filters) Customer filter table columns by @shellmayr in #121711
  • (issue) Fix bulk lookup for group events by @saponifi3d in #120834
  • (issue detection) Handle URL placeholders more gracefully by @lobsterkatie in #121875
  • (issue-inbox) Show Identified issues when suggested as owner by @sentry in #121561
  • (issue-progress) Heal null has_other_open_prs in PR lifecycle backfill by @malwilley in #120947
  • (issue-views) Give Stars column enough width for its header by @sentry-junior in #121750
  • (java) Deobfuscate bare class names in cast exception messages by @tedjuntunen-sentry in #121781
  • (jira-server) Scope webhook integration lookup to the provider by @vaind in #121280
  • (keyStats) Adhere to pure-render-functions convention by @sentry in #121237
  • (lint) Wrap useMemo function reference in detectSection.tsx by @sentry in #121212
  • (metrics) Switch project details off of metricsEnhanced by @k-fish in #120777
  • (metricsVisualize) Refactor useCallback to useMemo for debounced function by @sentry in #121124
  • (navBillingStatus) Prevent TypeError when localStorage is null by @sentry in #121704
  • (ongoing) Remove redundant subqueries by @kcons in #121660
  • (orgs) Allow members to create projects by default by @sentry-junior in #121727
  • (outcomes) Add quantity to outcomes metric by @untitaker in #121288
  • (perforce) Add support for p4 broker by @mujacica in #120824
  • (profiling) Cap span query limit to API max of 100 by @romtsn in #119924
  • (query agent) Expand always allow list to include context fields by @shruthilayaj in #121977
  • (react-compiler) Rename TraceTree.Depth to TraceTree.depth by @sentry in #121925
  • (react-hooks) Fix impure Date.now() call in useCommandPaletteAnalytics by @sentry in #121244
  • (release) Use spans dataset for transaction table by @mjq in #121563
  • (sampling) Update warning by @wmak in #120846
  • (scm) Make PR lifecycle writes monotonic across reordered webhooks by @vaind in #121059
  • (security) Fix a possible security issue on the workflow_engine api by @saponifi3d in #120941
  • (seer-settings) Fix agent handoff dropdown selection not persisting by @srest2021 in #120820
  • (seerExplorer) Handle localStorage access in Safari private mode by @sentry in #121031
  • (seerWorkflows) Fix pure-render-functions in index.tsx by @sentry in #121238
  • (service-worker) Prevent TypeError from undefined registration by @sentry in #120863
  • (stacktrace) Use single select for View and Sort in display options by @TkDodo in #121160
  • (tabs) Defer ResizeObserver recompute to prevent useEffectEvent error by @sentry in #120862
  • (traces) Replace count(span.duration) with count(spans) in explore equations by @narsaynorath in #121634
  • (workflow) Remove noisy DetectorGroup.DoesNotExist log by @sentry in #121024
  • (workflow_engine) Attribute test-fired actions in the group action log by @cvxluo in #121373
  • (workflows) Validate Sentry App action targets by @cvxluo in #121996
  • Reject source files greater than 190 MiB by @elramen in #121718
  • Make updateSlackAlert responsive towards its container by @TkDodo in #121316
  • Wrap integration issue-linking and workflow trigger_action in action_context_scope by @sentry in #120873
  • Only hide issueList actions on narrow viewPorts, not containers by @TkDodo in #120833

Documentation 📚

  • (breadcrumb-list) Move copy action into overflow menu by @priscilawebdev in #121287
  • (preprod) Publish skipped status check endpoints by @jamieQ in #120926
  • (replays) Hide deprecated /replay-count/ data sources by @mjq in #120914
  • (settings) Document token exclusion when Allowed Domains is * by @elramen in #121608
  • (workflow-engine) Document architecture and extension points by @saponifi3d in #121761
  • Discourage make test-selective by @joshuarli in #120987

Internal Changes 🔧

Aci

  • Remove legacy default rule creation from project workflows receiver by @ceorourke in #121890
  • Remove legacy incidents list, latest alerts widget, and incident redirect by @ceorourke in #121853
  • Remove unused url field from NotificationRuleDetails and orphaned get_snooze_url by @ceorourke in #121774
  • Remove unreachable uptime existing or create page by @ceorourke in #121754
  • Relocate alerts shared modules by @ceorourke in #121639
  • Point backend alert links at monitors instead of legacy alert pages by @ceorourke in #121642
  • Move orphaned fns/consts into their only consumers by @ceorourke in #121650
  • Remove legacy issue alerts by @ceorourke in #121542
  • Remove legacy metric alert pages by @ceorourke in #121352
  • Remove workflow-engine-ui feature flag registration by @ceorourke in #121223
  • Remove legacy crons and uptime overviews by @ceorourke in #121193
  • Remove workflow-engine-ui flag from test fixtures by @ceorourke in #121224
  • Remove legacy_alert param from detector anomaly data endpoint by @ceorourke in #121194
  • Remove workflow-engine-ui flag from even more places by @ceorourke in #121088
  • Remove workflow-engine-ui flag from some more places by @ceorourke in #121003
  • Remove workflow-engine-ui flag from create alert entry points by @ceorourke in #120986
  • Remove workflow-engine-ui flag from alert/automation redirects by @ceorourke in #120757
  • Remove workflow engine UI flag on the backend by @ceorourke in #120712

Agent Monitoring

Agents

  • Compact AGENTS.md files and defer deep guides to skills by @natemoo-re in #121469
  • Trim derivable content from AGENTS.md by @billyvg in #121311

Ai Monitoring

Alerts

  • Remove orphaned Slack metric alert message builder by @ceorourke in #121564
  • Clear localStorage between anomaly banner tests by @JoshuaKGoldberg in #121172
  • Increase brownouts for legacy alerts API even more by @ceorourke in #121091

Api

  • Remove unused InternalEAFeaturesEndpoint by @shashjar in #122089
  • Withhold attribute context from the public spec by @skaasten in #121646
  • Remove unused organization option features by @scttcper in #120905
  • Add event.type Sentry attribute to all event endpoints by @mjq in #120871

Auth

Autofix

Codeowners

  • Add owners for investigations by @vaind in #121947
  • We don't own all endpoints by @sentaur-athena in #121550
  • Exclude auto-generated API urls file from ownership by @malwilley in #120780

Control

  • Drop check_run/check_suite completed with no pull request in their own repo by @vaind in #121719
  • Drop unconsumed check_suite webhook actions at the parser by @vaind in #121434

Conversations

Dashboards

  • Take keyed params in applyDashboardFilters by @edwardgou-sentry in #121756
  • Migrate to container queries by @TkDodo in #121835
  • Use EmptyState in the chart NoData panels by @gggritso in #120935
  • Remove organizations:dashboards-ai-generate-edit flag check by @cvxluo in #120591

Deps

Detectors

  • Migrate to built-in container queries by @TkDodo in #121058
  • Improve logging of span-first/legacy detector mismatches by @lobsterkatie in #120685

Discover

  • Restrict the fn argument of fn_span_count by @phacops in #121911
  • Migrate layouts to container queries by @TkDodo in #121063

Dynamic Sampling

Eslint

Event Formatter

  • Use formatter for copy to markdown by @shayna-ch in #119834
  • Add new event formatter to rpc by @shayna-ch in #119938
  • Add more to the event formatter by @shayna-ch in #119862
  • Add llmFormat to endpoint by @shayna-ch in #119545
  • Add event formatter to sentry backend by @shayna-ch in #119250

Explore

Forms

Gdd

  • Restructure transactions around _ensure_derived by @kcons in #121581
  • Factor out basic group batching and processing methods by @kcons in #121266

Grouping

Hybridcloud

  • Remove dead member teams replication option by @ldelvoye in #121878
  • Fold the dispatch due-check into the claim update by @vaind in #121454
  • Log webhook discards at warning and stop sampling their counters by @vaind in #121604
  • Read webhook payloads from primary in control tasks by @beezz in #121514
  • Drop unused priority index on WebhookPayload by @vaind in #121283
  • Remove the async api gateway by @ldelvoye in #121229
  • Drop unused schedule_for index on WebhookPayload by @vaind in #121260

Inbox

Integrations

  • Add field on integration to not overwrite metadata by @Christinarlong in #121621
  • Clean up the sentry app request log by @mrduncan in #121536

Issues

Logs

Migrations

Notifications

  • Restructure get_parent_notification_message query to hit index better by @kcons in #121980
  • Seer activity alerts link to issue inbox if available by @leeandher in #121764

Onboarding

Organizations

  • Drop outbox replication from member teams by @ldelvoye in #121810
  • Add new_id shadow column to organizationmember_teams by @ldelvoye in #121552

Performance

Pr Metrics

  • Register permanent organizations:pr-metrics flag by @vaind in #121936
  • Promote the PR lifecycle mappers out of the webhooks by @cvxluo in #121009

Preprod

Profiling

  • Rename capitalized static methods in Flamegraph class by @sentry in #121929
  • Fix pure-render-functions violation in useRelativeDateTime by @sentry in #121246
  • Migrate layouts to container queries by @priscilawebdev in #120953

Project Install

  • Extract channel query options by @sentry-junior in #121377
  • Stabilize notification refetch tests by @scttcper in #121389

Relay

  • Reduce lock contention on Relay usage by @Dav1dde in #121987
  • Separate reprocessing tasks from issues tasks by @Dav1dde in #121841
  • Separate project config invalidations from computations by @Dav1dde in #121836
  • Remove relay.invalidation-direct-outside-atomic option check by @shellmayr in #121281
  • Remove metric extraction code used to generate rules for the project config by @Dav1dde in #121324
  • Add drop-transaction-metrics2 to drop metric extraction configs by @Dav1dde in #121045

Replays

  • Remove unused bulk delete job chunk size option by @gggritso in #121896
  • Remove unused offset parameter from run_bulk_replay_delete_job by @gggritso in #121893
  • Add smart chunking for Replay bulk delete job by @gggritso in #121372
  • Bound the GCS delete pool on the bulk replay delete path by @gggritso in #121337
  • Remove the Arroyo ingest replay recordings consumers by @lvthanh03 in #121257
  • Migrate layouts to container queries by @priscilawebdev in #120952
  • Adds additional logging info on deletion progress by @GabeVillalobos in #120997
  • Give spans path in replay counts its own referrer by @mjq in #120906

Scm

  • Scope GitHub rate-limits based to the resource requested by @cmanallen in #121995
  • Add more accurate rate-limit metric reporting by @cmanallen in #121970
  • Ignore rate-limit endpoint when requesting from a cell silo by @cmanallen in #121969
  • Return the parsed parts of a pull-request URL by @cvxluo in #120945

Scm Multi Platform Detection

  • Removing flag usage by @Abdkhan14 in #120683
  • Removing legacy platform detector by @Abdkhan14 in #120680

Scraps

Seer

  • Remove dead use_agent_sandbox option by @chromy in #122028
  • Remove organizations:seer-explorer-ui-tools by @cvxluo in #121041
  • Skip check-suite pull requests not based in the suite's repo by @vaind in #121724
  • Add tests for ProjectRepository fallback in free cohort orgs by @Mihir-Mavalankar in #121742
  • Restore Seer automation in post-process by @skonves in #121486
  • Add viewer_context_scope to post_process_group by @sehr-m in #121545
  • Render Code Mode calls instead of the generic tool row by @azulus in #121582
  • Add viewer_context_scope to ingest and explorer_index paths by @sehr-m in #121467
  • Remove issue summary from post process temp by @cvxluo in #121426
  • Instrument _resolve_viewer_context for SeerViewerContext retirement by @sehr-m in #121270
  • Remove Langfuse URL plumbing from Seer Explorer by @aliu39 in #121186
  • Remove obsolete issue and event details RPC by @isaacwang-sentry in #121080
  • Require the PR fields on a coding-agent result by @cvxluo in #121102
  • Remove legacy PR-created attribution/linking from process_autofix_updates (CW-1719 phase 2) by @vaind in #120584

Slack

Spans

  • Remove unused issue detection enablement option by @lobsterkatie in #121259
  • Use selective issue detection enablement option by @lobsterkatie in #121211
  • Add option to control which issue detectors run by @lobsterkatie in #121108
  • Only fetch issue detection settings once by @lobsterkatie in #121110
  • Replace TaskProducer with FutureTrackingProducer for segments by @lvthanh03 in #120810

Tables

Taskworker

  • Mark raw-mode namespaces explicitly by @untitaker in #121297
  • Clean up producer cutover logic by @lvthanh03 in #120807

Trace

Traces

Ui

Weekly Report

  • Remove "Resolved in PR" label by @amy-chen23 in #120758
  • Add x-axis to graph by @amy-chen23 in #120815

Weekly Reports

  • Move utils.py tests into test_weekly_reports_utils.py by @amy-chen23 in #120763
  • Add legend to chart by @amy-chen23 in #120706

Workflow Engine

Other

  • (✂️) Update knip and address new findings by @TkDodo in #121629
  • (aq) Add codemode toggle to FE request by @aliu39 in #121888
  • (automations) Migrate media queries to container queries by @TkDodo in #121295
  • (billing) Remove dead AM2 compatibility task by @mjq in #120976
  • (breadcrumbs) Add useHasNewBreadcrumbs hook by @priscilawebdev in #120796
  • (charts) Rename MarkLine utility to markLine for convention adherence by @sentry in #121930
  • (data_export) Rename array telemetry attrs to unprefixed names by @manessaraj in #121485
  • (deps-dev) Bump oxfmt from 0.58.0 to 0.61.0 by @dependabot in #121383
  • (derived data) Split promotion logic to its own module by @kcons in #121771
  • (difs) Preserve storage when cloning ProGuard by @lcian in #121064
  • (emptyState) Earlier breakpoints by @TkDodo in #121828
  • (fe) Update @sentry/conventions to 0.19.0 by @mjq in #121645
  • (features) Remove gen-ai-consent feature flag by @Mihir-Mavalankar in #121196
  • (feedback) Stop expanding latest event attachments by @malwilley in #120817
  • (flamegraph) Rename STACK_TO_COLOR to stackToColor for ESLint compliance by @sentry in #121924
  • (global-selection) Speed up environment selector for many envs by @scttcper in #120944
  • (inbound-filters) Use legible prefix for custom inbound filter outcomes by @shellmayr in #121834
  • (ingest) Remove billing-metrics-consumer by @sentry-junior in #121955
  • (input) Switch from effect + setState to callback-ref + resizeObserver by @TkDodo in #120874
  • (investigations) Delete unused cell models by @wedamija in #121906
  • (issue detection) Allow passing settings and detectors to detection runner by @lobsterkatie in #121094
  • (js) Bump @sentry/{browser,core,node,react} to 10.69.0 by @billyvg in #121170
  • (metrics) Remove queries against the unavailable generic metrics storage by @phacops in #122048
  • (ourlogs) Unmark stale flaky markers in logsTableRow tests by @JoshuaKGoldberg in #120847
  • (post-process) Clean up rollout option by @cvxluo in #121736
  • (producers) Replace TaskProducer with FutureTrackingProducer by @bmckerry in #121171
  • (releases) Migrate responsive layouts to container queries by @priscilawebdev in #121825
  • (scm-first-messaging-integration) Refactor the messaging integration launcher for inline consumers by @Abdkhan14 in #121200
  • (search-bar) Avoid duplicate recent search queries by @scttcper in #120985
  • (security) Remove obsolete HPKP/Expect-CT/Expect-Staple relay tests by @mrduncan in #119685
  • (seer-billing) Stop writing OrganizationContributors.integration_id and make it nullable by @srest2021 in #120767
  • (self-hosted) Ensure all organizations have the all-projects detector by @leeandher in #121865
  • (sentryapps) Add an option to override default webhook timeout for specific apps by @Christinarlong in #121770
  • (snuba) Add referrer attribute to invalid referrer log by @mjq in #121002
  • (stats) Migrate organization stats to container queries by @priscilawebdev in #121699
  • (stories) Surface SeerMarkdown story when embed registry changes by @natemoo-re in #120853
  • (symbolicator) Use pre-signed URLs for minidumps and apple crash reports by @jan-auer in #120884
  • (teams) Extract and deduplicate shared teams-table styles by @JoshuaKGoldberg in #121177
  • (teamSelector) Inline getOptions into useMemo for React Compiler by @sentry in #121089
  • (tests) Fix broken inbox test by @malwilley in #121539
  • (trace-view) Remove demo mode from the trace waterfall by @gggritso in #121796
  • (types) Extract PageFilterDatetime from PageFilters by @JoshuaKGoldberg in #122040
  • (utils) Move is_valid_ip to shared utils module by @lobsterkatie in #121804
  • (webhooks) Open the floodgates for all issue types to get issue.created webhooks by @Christinarlong in #120768
  • (weekly report) Remove project selection banner from weekly report email by @shashjar in #121479
  • (wfe-evals) To Logger Method by @saponifi3d in #121106
  • (workflows) Fix test to use a valid action identifier by @kcons in #122012
  • Remove promotions framework by @noahsmartin in #122011
  • Bump sentry-protos by @noahsmartin in #121910
  • Bump sentry-sdk to 2.68.0 by @getsentry-bot in #121942
  • Bump taskbroker-client to 0.20.21 by @getsentry-bot in #121891
  • Bump sentry-protos 0.61.1 by @brendanhsentry in #121866
  • Bump sentry-protos to 0.61.0 by @armenzg in #121772
  • Bump sentry-protos to 0.60.1 by @brendanhsentry in #121751
  • Bump sentry-options to 1.2.6 by @getsentry-bot in #121659
  • Migrate alerts list to container queries by @TkDodo in #121612
  • Migrate profiling flag to flagpole by @noahsmartin in #121651
  • Move feature checks to flagpole by @noahsmartin in #121617
  • Remove latest tier check by @noahsmartin in #121597
  • Bump sentry-protos to 0.59.2 by @brendanhsentry in #121572
  • Bump sentry-options to 1.2.5 by @getsentry-bot in #121544
  • Delete setuptools + pip by @joshuarli in #121540
  • Bump taskbroker-client to 0.20.20 by @getsentry-bot in #121525
  • Use revealOnHover primitive in eventTagsTreeRrow by @TkDodo in #121452
  • Show flake8-sentry violations in the terminal by @armenzg in #121439
  • Update typescript-eslint by @TkDodo in #121444
  • Teach AI to never read from or write to refs during render by @TkDodo in #121416
  • Replace curl-pipe-bash with action-setup-cli for Sentry CLI setup by @oioki in #121427
  • Eslint v10 by @TkDodo in #121433
  • Update tanstack query by @TkDodo in #121312
  • Remove feature list from frontend plan definition by @noahsmartin in #121386
  • Bump sentry-arroyo to 2.42.2 by @getsentry-bot in #121381
  • Replace backend driven feature lists with frontend mapping by @noahsmartin in #121367
  • Bump sentry-protos 0.59.1 by @brendanhsentry in #121350
  • Bump sentry-arroyo to 2.42.1 by @getsentry-bot in #121307
  • Simplify useProjectWebVitalsScoresTimeseriesQuery by @TkDodo in #121299
  • Use a business check for SCM multi org by @noahsmartin in #121258
  • Remove unnecessary insights-query-date-range-limit check by @noahsmartin in #121255
  • Bump sentry-protos to 0.58.1 by @brendanhsentry in #121226
  • Remove unused project plugin feature by @noahsmartin in #121222
  • Migrate last flags to flagpole by @noahsmartin in #120948
  • Bump sentry-protos to 0.57.2 by @brendanhsentry in #121098
  • Bump platformicons to 9.6.0 by @sentry-junior in #120619
  • Bump sentry-protos to 0.57.1 by @brendanhsentry in #121081
  • Tighten remaining paths-filter ro v4 by @joshuarli in #120996
  • Ro files-changed by @joshuarli in #120989
  • Remove experimental span V2 pipeline feature by @loewenheim in #120955
  • Sentry-options 1.2.2 by @joshuarli in #120913
  • Point CODEOWNERS at renamed team Agent Interfaces by @vaind in #120867
  • Bump taskbroker-client to 0.20.18 by @getsentry-bot in #120923
  • Bump sentry-protos to 0.55.0 by @armenzg in #120919
  • Migrate layouts/thirds from media queries to container queries by @TkDodo in #120799
  • Update feature flags to use flagpole by @noahsmartin in #120852
  • Bump sentry-protos to 0.53.1 by @brendanhsentry in #120816
  • Remove enterprise team from frontend by @noahsmartin in #120781
  • Add flagpole project scope flags by @noahsmartin in #120776
  • Move subscription flags to flagpole by @noahsmartin in #120748
  • Bump new development version by @sentry-release-bot[bot] in ecd0d63a

Other

  • ref!(metrics): Remove generic metrics sets, gauges, and distributions by @phacops in #122014
  • Remove unreachable onboarding Redis check by @evanpurkhiser in #122010
  • Support multiple onboarding projects and issues by @evanpurkhiser in #122019
  • Add API endpoint to get agentic onboarding runs by @evanpurkhiser in #121915
  • Add agentic onboarding progress endpoints by @evanpurkhiser in #121914
  • deps(scm): Upgrade sentry-scm to 1.5.0 by @cmanallen in #121953
  • fix(reprocessing) Add debouncer to tail spawns in reprocess_group by @markstory in #121900
  • Fix HTML entity for non-breaking space in alerts.html by @elijames-codecov in #121793
  • ui(workflow-engine): Correctly position tooltip for disabled monitor mode by @leeandher in #121732
  • deps(ui): Upgrade oxfmt to 0.63.0 by @scttcper in #121661
  • deps(ui): Upgrade fuse.js by @scttcper in #121571
  • impr(jira): Add new format for explicit deletes by sending diff from frontend by @Christinarlong in #121472
  • impr(jira): replace the mass overwrite with diff method by @Christinarlong in #121198
  • Remove isLegacyAlert from the anomaly thresholds hook by @ceorourke in #121464
  • cleanup(gdd): Delete process_project_derived_data by @kcons in #121399
  • impr(jira): Add audit log and transaction for jira project mappings updates by @Christinarlong in #121112
  • o11y(aq): tag new 400 logs w params by @aliu39 in #121366
  • Bump granian to 2.8.0 by @gi0baro in #121303
  • o11y(seer): fix query validation logs to be warning level by @aliu39 in #121115
  • Update alert message to promote agent tracing by @elijames-codecov in #121068
  • Require RpcUser for select option, create and delete external issue by @geoffg-sentry in #120995
  • deps(ui): Upgrade React Aria packages by @scttcper in #120714
  • revert(explore): Stop hiding number attributes that exist as boolean tags by @skaasten in #120897
  • migration(workflow-engine): Make project FK nullable on Detector by @leeandher in #120687

Plus 1 more

Don't miss a new sentry release

NewReleases is sending notifications on new releases.