github getsentry/sentry 26.10.0

6 hours ago

New Features ✨

Aci

Ai

Ai Monitoring

Api

Artifact Bundles

Auth

Autofix

Crons

  • Store check-in config snapshots by reference by @wedamija in #126539
  • Add table for deduplicated check-in config snapshots by @wedamija in #126541
  • Track usage of deprecated alertRule on Cron Monitor endpoints by @sentry-junior in #126666

Explore

Formulas

Inbound Filters

Ingest

  • Enable zstd compression for error ingestion tasks by @sentry-junior in #127202
  • Inline event payloads through the processing pipeline by @jan-auer in #126198

Lint

Logs

Np

Seer

Spans

  • Migrate saved queries with _if combinators by @wmak in #120696
  • Read attributes in enrichment using deprecation-aware accessor by @mjq in #126638

Timeseries

Other

Bug Fixes 🐛

Agents

Ai

Alerts

  • Exclude deprecated alert rule params from Monitor API docs by @kcons in #126738
  • Clean up unused workflow_engine migration code by @kcons in #126628
  • Generate modern monitor UI links in broken monitors notifications by @kcons in #126095

Auth

Ci

Dashboards

Formulas

Lint

  • Handle file URLs in oxlint diagnostics by @TkDodo in #126827
  • Don't fail CI on stale suppression budgets inherited from master by @sentry-junior in #126882
  • Make ratchet failures actionable by @natemoo-re in #126784

Notifications

Np

  • Match the Slack issue alert nudge and plan warning on the platform by @hobzcalvin in #126673
  • Fix platform issue renderers and skip stale shadow comparisons by @hobzcalvin in #126662
  • Output match diff to make failed shadow in unittests more helpful by @hobzcalvin in #126657

Releases

  • Default deploy dateFinished to now when null by @sentry-junior in #127563
  • Lock the swap tables in the order app statements take them by @ldelvoye in #127292
  • Lock child tables before sentry_release in the id swap by @ldelvoye in #127000

Replays

  • Retry GCS 502s on replay recording uploads by @sentry-junior in #127377
  • Build AI summary log rows from partial event data by @sentry-junior in #125881
  • Use handle_query_errors across replay endpoints by @sentry-junior in #125992

Sdk Crash

  • Ignore Flutter drawFrame and attachToBuildOwner wrappers by @sentry-junior in #127197
  • Match React Native Supabase captures by path, not module by @antonis in #125855

Seer

Tests

Other

  • (action-log) Attribute Cursor Origin webhook actions by @cvxluo in #127288
  • (admin) Restore page titles and breadcrumb trails by @TkDodo in #126821
  • (annotations) Handle invalid params by @wmak in #127546
  • (arithmetic) Improve arithmetic allowlists by @wmak in #126742
  • (assemble) Validate dist before setting assemble status by @mwarkentin in #127096
  • (assisted-query) Treat empty list as all accessible projects for issues RPCs by @aliu39 in #126806
  • (autofix) Report stackless PR iteration errors as exceptions by @joseph-sentry in #125514
  • (beacon) Snapshot modules during package version discovery by @aminvakil in #124713
  • (bootstrap) Report preload request failures as real errors and metrics by @billyvg in #126592
  • (combinators) Handle equations in migration by @wmak in #126768
  • (derived data) Filter out very recently backfilled actions in consistency check by @kcons in #127402
  • (digests) Make it impossible to create a Rule-based Record by @kcons in #127310
  • (dynamic-sampling) Count SnQL Snuba errors in the per-org task status by @shellmayr in #126830
  • (events) Handle 408s from snuba by @wmak in #127547
  • (explore) Show LLM calls without captured messages by @obostjancic in #127223
  • (github) Align webhook secret check with GHE by @giovanni-guidini in #127191
  • (inbound-filters) Let custom filter reads through without the plan feature by @shellmayr in #126875
  • (ingest) Handle invalid bundle_id in artifact bundle file details by @sentry in #127235
  • (insights) Register Agents tool usage and MCP onboarding referrers by @obostjancic in #126692
  • (integrations) Use workflow IDs for issue alert links by @kcons in #127343
  • (issue detection) Handle double-bracketed values in URLs by @lobsterkatie in #127094
  • (issues) Validate update bodies before reading discard by @yuvmen in #127342
  • (locking) Prefix lock release errors with an error code by @ldelvoye in #127334
  • (migrations) Drop pending deletions before the drift comparison by @sentry-junior in #127468
  • (msteams) Use the triggering event for the issue alert description by @hobzcalvin in #126963
  • (notification) Don't catch exceptions just to report them and re-raise them by @kcons in #126958
  • (opsgenie) Default alert priority to P3 when unset by @sentry in #126833
  • (preprod) Report unapproved snapshot changes as action_required by @mtopo27 in #127345
  • (profiling) Fix function regression detection by @mjq in #126614
  • (scim) Make privilege sync independent of task ordering by @oioki in #127177
  • (security) Scope key transaction team lookup to the organization by @markatsentry in #126066
  • (snuba) Preserve metadata for empty top-event series by @nsdeschenes in #126842
  • (tags) Select frequent tag values before the query limit behind a flag by @roggenkemper in #126749
  • (teapot) Parse specific entries from the Teapot raw response by @mujacica in #127041
  • (trace-items) Show backfilled replacement attributes in item details by @sentry-junior in #127257
  • (validate) Handle missing projects by @wmak in #127260
  • (webhooks) Stop using Rule in get_triggering_rule_name by @kcons in #127308
  • Group quote errors better by @wmak in #127256
  • Remove non-existent get_iterations() import by @alexander-alderman-webb in #126927

Documentation 📚

Api

Other

  • (explore) Show ingestion delay metadata in timeseries example by @edwardgou-sentry in #126713
  • (flags) Make /flags/logs endpoint public by @cmanallen in #126855
  • (forms) Validate conditional fields where rendered by @priscilawebdev in #126832

Internal Changes 🔧

✂️

Ai Monitoring

Alerts

Api

  • Expose attribute context in endpoint by @lzhao-sentry in #127372
  • Load the device model tables on first use by @shellmayr in #126453
  • Remove api-client-kind-check flag registration by @sentry-junior in #126859
  • Remove api-client-kind-check flag checks by @sentry-junior in #126847
  • Drop _test suffix from client_kind attribution attributes by @sentry-junior in #126840
  • Delete unused spans/fields and spans-samples endpoints by @DominikB2014 in #126716

Artifact Bundles

Attachments

  • Update comment & remove metric by @jjbayer in #126838
  • More tags for group update metric by @jjbayer in #126705
  • Instrument EventAttachment update by @jjbayer in #126682

Auth

Autofix

Backend

  • Start devservices and per-worker Snuba bootstrap early by @sentry-junior in #127397
  • Only run migration tests on PRs that touch migrations by @sentry-junior in #126951

Ci

Combinators

Crons

Deps

  • Bump devservices to 1.5.4 by @sentry-junior in #127440
  • Bump Sentry JavaScript SDK to 11.6.0 by @sentry-junior in #127004
  • Bump @sentry/conventions to 0.27.0 by @sentry-junior in #127180
  • Update nuqs to 2.10.2 by @nsdeschenes in #127078
  • Bump @types/node to 26.6.4 by @billyvg in #127058
  • Bump py relay by @k-fish in #126525
  • Upgrade pnpm to 12.10.1 by @evanpurkhiser in #126731
  • Bump solid-js and shell-quote for Dependabot alerts by @oioki in #126686
  • Bump @sentry/conventions to 0.26.0 by @sentry-junior in #126555
  • Bump @sentry/webpack-plugin to 5.4.1 by @sentry-junior in #126583

Explore

  • Break data browsing dependency cycles by @TkDodo in #127245
  • Remove dropped-data annotations from timeseries endpoint by @manessaraj in #127258
  • Remove explore-conditional-aggregates flag registration by @wmak in #126941
  • Move the Explore Traces table onto SimpleTable by @JoshuaKGoldberg in #126801
  • Stop computing byte sizes for dropped-data annotations by @manessaraj in #126728
  • Remove unused explore starred order endpoint by @lzhao-sentry in #126644
  • Drop includeMeasuredIngestionDelayMetadata param by @edwardgou-sentry in #126630

Flags

  • Unregister organizations:issue-stream-recommended-sort by @cursor in #127210
  • Remove organizations:tracemetrics-multi-metric-selection-in-dashboards registration by @cursor in #126414

Frontend

Icons

Integrations

  • Publish the integration validation endpoints by @leeandher in #126389
  • Stop sending legacy rule ids in Slack and Teams action payloads by @sentry-junior in #127418
  • Default max_retries to zero by @cmanallen in #127255
  • Extract shared repo field update into a helper by @giovanni-guidini in #127227
  • Look up linked groups without loading every install by @vaind in #126011

Issues

Jest

  • Share React across automatic mock registries by @nsdeschenes in #126567
  • Drop span attributes workaround, bump @sentry/jest-environment to 8.1.0 by @billyvg in #126648
  • Cache moduleNameMapper lookups and skip owner stacks in CI by @billyvg in #126649

Lint

Metrics

  • Remove the SENTRY_METRICS_SKIP_ALL_INTERNAL default by @Starrao123 in #127271
  • Remove InternalMetrics and the internal TSDB model by @Starrao123 in #126989

Monitors

Notifications

  • Use origins for notification identity by @kcons in #127085
  • Remove legacy translation helpers by @kcons in #127422
  • Check legacy rule existence instead of fetching it by @sentry-junior in #127421
  • Remove render-only Rule compatibility by @kcons in #126791
  • Add and use NotificationOrigin.is_test_notification by @kcons in #127103
  • Use NotificationActionContext instead of Rule in alert actions by @kcons in #126733
  • Expand NotificationOrigin to alert actions by @kcons in #126598
  • Use explicit origins for notification rendering by @kcons in #126529

Np

  • Move slack metric alerts to shared np by @shayna-ch in #127064
  • Build Slack metric alert platform data with the shared factory by @hobzcalvin in #126674

Performance

Profiling

Refactor Tasks

  • Move conventions to search blocks with excerpts by @ryan953 in #126965
  • Use the scanner's default model and concurrency by @ryan953 in #126423

Releases

Reprocessing

  • Copy unprocessed event in symbolication instead of consumer by @matt-codecov in #126811
  • Optionally pass unprocessed copy inline instead of via redis by @matt-codecov in #126810

Seer

Source Map Debug

Tables

Tests

Tsdb

  • Remove the servicehook_fired TSDB model and its stats endpoint by @Starrao123 in #127317
  • Remove the unused project_total_forwarded TSDB model by @Starrao123 in #126979
  • Replace redis-blaster with redis-py in RedisTSDB by @Starrao123 in #126797
  • Delete unused RedisTSDB methods by @Starrao123 in #126788

Ui

Workflow Engine

  • Correctly report required scopes for alerts by @leeandher in #126383
  • Use CacheMapping for release condition caches by @sentry-junior in #126532

Other

  • (aci) Delete clear_expired_rulesnoozes task by @kcons in #126820
  • (apidocs) Reuse experimental parameter marking by @wmak in #127419
  • (artifact-lookup) Optionally skip legacy release file queries for releases without any by @mwarkentin in #126357
  • (billing) Filter usage query to billable outcomes by @noahsmartin in #127348
  • (ctrl) Removes organizations from list live in decommissioned localities/cells by @GabeVillalobos in #126676
  • (dashboards) Remove circular dependencies by @TkDodo in #127232
  • (DE) Refactor, rename and move files around for better structure by @adrianviquez in #127093
  • (debug files) Add legacy WASM code/debug ID columns by @loewenheim in #127508
  • (discover) Make save as query button same as traces by @lzhao-sentry in #126464
  • (filters) Remove ingest codeownership by @jjbayer in #127517
  • (forms) Migrate subscription cancellation form to Scraps by @priscilawebdev in #126130
  • (inbound_email) Remove NewNoteForm by @evanpurkhiser in #126869
  • (ingest) Add shared filter definitions to global config by @vjeranc in #127378
  • (insights) Remove deprecated starred-segments route by @DominikB2014 in #126955
  • (issue detection) Expand tests checking span attributes in shim event by @lobsterkatie in #127090
  • (issueDetails) Break circular dependency between sidebar and detectorSection by @sentry in #127477
  • (migrations) Don't leave project state rendered after pending-deletion ops by @sentry-junior in #127458
  • (node) Upgrade to Node 26.11.1 by @billyvg in #127036
  • (o11y) Remove utils.tracing module by @alexander-alderman-webb in #127178
  • (oauth) Route consent authentication through canonical login by @evanpurkhiser in #126175
  • (ourlogs) Remove the regex searches flag from the backend by @JoshuaKGoldberg in #127038
  • (pre-commit) Bump check-jsonschema to 0.38.2 by @scttcper in #126663
  • (quotas) Remove unused Quota.is_rate_limited by @Starrao123 in #126604
  • (ratelimit) Skip org lookup RPC for sentry app tokens by @scttcper in #126661
  • (release) Bump craft to 2.34.1 by @sentry-junior in #127399
  • (replays) Move the Network and Errors tables onto SimpleTable by @JoshuaKGoldberg in #126864
  • (router) Adopt V8 import paths while retaining V6 by @nsdeschenes in #126570
  • (scraps) Scope release tags and automate versioning by @natemoo-re in #126643
  • (search_resolver) Cleanup aggregate definitions by @wmak in #127055
  • (self-hosted) Drop BuildKit cache and skip QEMU for native builds by @sentry-junior in #127277
  • (sentry-apps) Index SentryAppInstallation.uuid by @mwarkentin in #126952
  • (settings) Move the members list onto SimpleTable by @JoshuaKGoldberg in #127045
  • (skills) Remove completed container query migration guide by @priscilawebdev in #127002
  • (sms) Load phonenumbers on first use by @shellmayr in #126446
  • (snuba) Remove referrers for deleted TSDB models 0 and 105 by @Starrao123 in #127326
  • (templates) Remove legacy indicator initialization by @evanpurkhiser in #126771
  • (uptime) Remove the uptime.config-drift.repair option by @Starrao123 in #126618
  • (vercel) Remove the Vercel integration, now served from getsentry by @scttcper in #126538
  • (workflows) Share slow-condition query preparation by @cvxluo in #127325
  • Bump sentry-relay to 0.10.1 by @sentry-release-bot in #126839
  • Bump sentry-protos to 0.83.0 by @sentry-release-bot in #127335
  • Bump sentry-options to 1.2.15 by @sentry-release-bot in #127320
  • Bump sentry-protos to 0.82.1 by @sentry-release-bot in #127315
  • Replace timer-driven waits with fake clocks by @natemoo-re in #127079
  • Bump sentry-arroyo to 2.46.0 by @sentry-release-bot in #127296
  • Bump taskbroker-client to 0.20.28 by @sentry-release-bot in #127295
  • Bump sentry-sdk to 2.72.0 by @sentry-release-bot in #127195
  • Bump sentry-conventions to 0.27.0 by @sentry-junior in #127179
  • Bump sentry-sdk to 2.71.0 by @sentry-release-bot in #127181
  • Inline span-streaming branch of tracing shims in app-backend files by @alexander-alderman-webb in #124533
  • Inline span-streaming branch of tracing shims in replays by @alexander-alderman-webb in #124720
  • Inline span-streaming branch of tracing shim in trace_func decorator by @alexander-alderman-webb in #127163
  • Inline span-streaming branch of tracing shims in autofix by @alexander-alderman-webb in #127161
  • Inline span-streaming branch of tracing shims in ingestion_delay by @alexander-alderman-webb in #127162
  • Pull Docker Hub images from getsentry/image-mirror by @sentry-junior in #127117
  • Bump sentry-protos to 0.82.0 by @sentry-release-bot in #127102
  • Inline span-streaming branch of tracing shims in owners-snuba files by @alexander-alderman-webb in #124718
  • Skip suppression pruning for backend-only PRs by @nsdeschenes in #127032
  • Inline span streaming branch of tracing shims in monitors.consumers by @alexander-alderman-webb in #124688
  • Inline span-streaming branch of tracing shims in unowned files by @alexander-alderman-webb in #124872
  • Inline span-streaming branch of tracing shims in Alerts & Monitors files by @alexander-alderman-webb in #124532
  • Inline span-streaming branch of tracing shims in consumers.profiler by @alexander-alderman-webb in #124717
  • Inline span-streaming branch of tracing shims in Notifications files by @alexander-alderman-webb in #124716
  • Inline span-streaming branch of tracing shims in SDK helpers by @alexander-alderman-webb in #124724
  • Inline span-streaming branch of tracing shims in Data Browsing files by @alexander-alderman-webb in #124870
  • Inline span-streaming branch of tracing shims in Issue Feed files by @alexander-alderman-webb in #124710
  • Inline span-streaming branch of tracing shims in Releases by @alexander-alderman-webb in #124536
  • Inline span-streaming branch of tracing shims in security files by @alexander-alderman-webb in #124723
  • Inline span-streaming branch of tracing shims in dashboard by @alexander-alderman-webb in #124696
  • Inline span-streaming branch of tracing shims in Seer files by @alexander-alderman-webb in #124714
  • Move scraps package codeowners to shared block by @TkDodo in #126824
  • Delete unused quotas functions by @noahsmartin in #126767
  • Bump sentry-protos to 0.81.1 by @sentry-release-bot in #126735
  • Unify TopBar title slot with breadcrumbs titleItem by @TkDodo in #126554
  • Use deprecation-aware EAP attribute accessors by @mjq in #126640
  • Inline span-streaming branch of tracing shims in Issue Detection files by @alexander-alderman-webb in #124711
  • Inline span-streaming branch of tracing shims in billing by @alexander-alderman-webb in #124721
  • Inline span-streaming branch of tracing shims in Ingest files by @alexander-alderman-webb in #124707
  • Bump sentry-conventions to 0.26.0 by @sentry-junior in #126553
  • Fix type in virtual_context assertion in elapsed_if test by @alexander-alderman-webb in #126680

Other

  • Ensure email sent to user's stored email by @michelletran-sentry in #127388
  • types(digest): Narrow event_to_record to just GroupEvent by @kcons in #127316
  • types(notifications): Annotate plugins.base.structs.Notification and remove from weaklist by @kcons in #126975
  • typing(notifications): Type BaseNotification message descriptions by @armenzg in #126764
  • chores(codeowners): Replace design team with product design by @Jeffreyhung in #126741

Don't miss a new sentry release

NewReleases is sending notifications on new releases.