github getsentry/sentry 26.7.0

4 hours ago

New Features ✨

Action Log

  • Efficient project bulk GroupDerivedData generation task by @kcons in #119664
  • Feat(action_log): More GroupAction-based aggregators by @kcons in #119551
  • Track pull request lifecycle activities by @malwilley in #119523
  • Make OrganizationGroupIndexProgressEndpoint optionally use GroupDerivedData.progress by @kcons in #119165
  • Ensure we have GroupActions for all type enums by @kcons in #119535
  • Property for typed action data by @kcons in #119442
  • Add ReconcileStatusAction action by @kcons in #119128
  • Add backfill_group_activities by @kcons in #119162
  • Outbox-based GroupActionLogEntry management by @kcons in #117836

Admin

Agent Monitoring

Agents

Ai

Ai Conversations

Api

  • Advertise required scopes on token-scope 403s (RFC 6750) by @gricha in #118612
  • Add response schemas to private events and notes endpoints by @azulus in #118518
  • Add COMMUNITY ApiOwner for endpoints from disbanded teams by @vgrozdanic in #118336
  • Document issue/release/team params; mark legacy endpoints deprecated by @gricha in #117874
  • Document accepted query params on issue & release list endpoints by @gricha in #117843

Auth

Autofix

Cells

  • Register synapse devservices public key in cell-routing mode static relays by @lynnagara in #118315
  • Set CSRF trusted origins for cell-routing mode by @lynnagara in #118306
  • Use :7899 instead of :7901 for relay-edge in devservices by @lynnagara in #118308

Conversations

Dashboards

Data Export

Difs

  • Redirect to Objectstore for Objectstore-backed DIF downloads by @lcian in #119392
  • Set filename metadata on Objectstore-backed DIFs by @lcian in #119308
  • Add capability to write new difs to Objectstore by @lcian in #117502
  • Add capability to read difs from Objectstore by @lcian in #117501

Dynamic Sampling

Eap

Explore

Features

Gal

Gale

Gsadmin

Icons

Inbound Filters

Integrations

Issue Details

Issue Progress

Issue Search

Issues

Logs

Onboarding

Ourlogs

Pr Iteration

Pr Iteration

Pr Metrics

Preprod

Profiling

Project Creation

Relay

  • Remove graduated feature flag by @jjbayer in #119711
  • Add a metric to verify that the billing metrics consumer is not producing outcomes. by @klochek in #119304
  • Warn on Client Keys pages when a Relay DSN endpoint override is set by @ArthurKnaus in #119098
  • Add option to configure attachment inline limit by @tobias-wilfert in #119034
  • Add DSN endpoint override input to org Relay settings by @ArthurKnaus in #118710
  • Allow a custom Relay endpoint to override DSNs by @ArthurKnaus in #118707
  • Expose feature flag for minidump with extra exceptions by @jjbayer in #118431

Replays

  • Support querying segment_names by @mjq in #119633
  • Show mobile-specific network details setup instructions by @romtsn in #118544
  • Port ingest-replay-recordings to a taskbroker task by @untitaker in #118645

Scm

Scm Multi Platform Detection

  • Conditional use of new multi dete… by @Abdkhan14 in #118500
  • Removing parallel call of test endpoint in FE by @Abdkhan14 in #118501
  • Registering flag by @Abdkhan14 in #118494
  • Parallelizing repo and content reads by @Abdkhan14 in #118359
  • Adding new metrics by @Abdkhan14 in #118099
  • Implementing scoped matching by @Abdkhan14 in #117720

Scraps

Sdk

  • Double-write dashboard tags to attributes by @Lms24 in #118841
  • Double-write alert rule tags to attributes by @Lms24 in #118840
  • Double-write remaining tags to attributes by @Lms24 in #118843
  • Double-write profiling tags to attributes by @Lms24 in #118838
  • Double-write performanceForSentry tag to attribute by @Lms24 in #118839
  • Double-write explore spans tag to attribute by @Lms24 in #118842
  • Double-write initializeSdk tags to attributes by @Lms24 in #118837
  • Double-write bootstrap request tags to attributes by @Lms24 in #118836
  • Migrate frontend to span streaming by @vgrozdanic in #116466

Search

Seer

  • Redesign the Sentry Workflows page shard and issue UI by @trevor-e in #119662
  • Surface issue titles and PRs on night-shift triage results by @trevor-e in #119661
  • Include low-value-span issues in night shift triage by @chromy in #119503
  • Include five_whys reasoning in Slack autofix root cause u… by @Zylphrex in #119408
  • Trigger autofix iteration from PR review comments by @alexsohn1126 in #119225
  • Give each project its own night shift candidate quota by @trevor-e in #119265
  • Scope night shift result dedupe to (run, kind, idempotency_key) by @trevor-e in #119141
  • Markdown embed registry by @natemoo-re in #119159
  • Record a night shift result row for every triage verdict by @trevor-e in #118976
  • Block coding-agent handoff for non-GitHub projects in the table by @billyvg in #118588
  • Add get_issue_ownership RPC to Seer tools by @hobzcalvin in #118802
  • Detect GitLab bots in contributor seat tracking by @billyvg in #117762
  • Add validate endpoint to the execute table query rpc by @wmak in #118953
  • Restrict GitLab repos to Seer handoff in Autofix settings by @billyvg in #118493
  • Allow custom questions on the org Seer runs endpoint by @chromy in #118929
  • Mirror a SeerAgentRun for start_feature_run by @trevor-e in #118962
  • Accept viewer context auth on the Seer RPC endpoint by @azulus in #118948
  • Add referrer column to SeerRun by @trevor-e in #118931
  • Add group filter to the org Seer runs search by @chromy in #118896
  • Expose per-run one-shot outputs on the runs list via ?outputs by @chromy in #118827
  • Summarize a run via the agent_question one-shot by @chromy in #118826
  • Add organization Seer runs list endpoint by @chromy in #118732
  • Add Seer one-shot client by @chromy in #118565
  • Enable streaming animation by @natemoo-re in #118068
  • Include SeerRun uuid in webhook and PR groups responses by @trevor-e in #118594
  • Poll Seer Explorer by UUID by @trevor-e in #117780
  • Write SeerRunPullRequest links for Seer-created PRs by @trevor-e in #118580
  • Add get_organization_projects RPC method by @aliu39 in #118427
  • Surface convention attribute context in built_in_fields by @DominikB2014 in #118567
  • Add SeerRunPullRequest model linking runs to PRs by @trevor-e in #118572
  • Persistent seer panel by @TkDodo in #117898
  • Restrict night shift to an org's allowed project slugs by @trevor-e in #118411
  • Send connected repos to night-shift triage by @trevor-e in #118407
  • Skip night-shift projects that can't open a PR by @trevor-e in #118386
  • Backfill night shift run shards from legacy seer_run by @trevor-e in #118154
  • Shard night shift triage into per-chunk feature runs by @trevor-e in #118080
  • Route night shift feature delivery through the outbox by @trevor-e in #118040
  • Add validate_llm_proxy_key RPC endpoint by @sehr-m in #117885
  • Run night shift every 12 hours by @chromy in #117929
  • Add Sentry Workflows run history page by @jshchnz in #117820
  • Add per-org night shift run-option overrides by @chromy in #117826
  • Return sentry_run_id from runs list and dashboard generate by @trevor-e in #117808
  • Return sentry_run_id from explorer chat GET by @trevor-e in #117778
  • Register seer-explorer-persistent-sidebar feature flag by @TkDodo in #117791
  • Register seer-explorer-thinking-summary feature flag by @natemoo-re in #117688
  • Pass enable_tool_summary to agent_run_options by @natemoo-re in #117689

Seer Activity

  • Better communicate incompatible alerts by @leeandher in #119007
  • Support webhooks for Sentry Apps by @leeandher in #118255
  • Use a strategy for emailing issue owners by @leeandher in #118106
  • Implement notification platform handlers for activity alerts by @leeandher in #117543

Seer Billing

  • Write integration hostname to organization contributors, attempt 2 by @srest2021 in #119589
  • Add nullable hostname column to organization contributors by @srest2021 in #119430
  • Write organization contributor provider by @srest2021 in #119274
  • Add nullable provider column to OrganizationContributors model by @srest2021 in #119272
  • Cut over seat assignment to OrganizationContributorAction by @srest2021 in #118763
  • Add billable contributor action processor to GitHub and GitLab for dual-writing contributor actions by @srest2021 in #118205
  • Add OrganizationContributorAction model for tracking billable PRs by @srest2021 in #118194

Seer Explorer

Seer Infra Telemetry

  • Include non-dismissed available monitoring providers in explorer chat request by @srest2021 in #119357
  • Add standalone Connectors settings page for monitoring providers by @shashjar in #118967
  • Add success return URL to connect/reauth monitoring provider payloads by @srest2021 in #118702
  • Pass a custom OAuth return URL to the identity pipeline by @srest2021 in #118704
  • Add GCP support to McpIdentityProvider for MCP tool calls by @shashjar in #118695
  • Reauthenticate monitoring provider in explorer by @srest2021 in #118592
  • Add PUT reauthenticate to monitoring provider endpoint by @srest2021 in #118577
  • Scope monitoring provider connections to organizations by @shashjar in #118181
  • Add Datadog PAT connect flow to monitoring providers UI by @shashjar in #118382
  • Add auth method field to monitoring provider connections RPC by @srest2021 in #118283
  • Add OrganizationIdentity model for per-org monitoring provider connections by @shashjar in #118179
  • Add get monitoring provider connections RPC by @srest2021 in #118210
  • Wire up DatadogPatIdentityProvider to monitoring provider endpoints by @srest2021 in #118073
  • Add a PAT-only DatadogIdentityProvider by @srest2021 in #118072
  • Pass monitoring providers in explorer chat request by @srest2021 in #117768
  • Add monitoring providers section to Seer Advanced Settings page by @shashjar in #117758
  • Add monitoring provider refresh access token RPC by @srest2021 in #117472
  • Implement monitoring provider connection API endpoints by @shashjar in #117854
  • Auto create IdentityProvider for Datadog in IdentityPipeline by @srest2021 in #117705
  • Store Datadog org id when building identity, to be used as IdentityProvider external id by @srest2021 in #117491

Sentry Apps

Slack

Spans

  • Increase process_segment_task deadline to 65s by @lvthanh03 in #119117
  • Add option to rollout process_segment task by @lvthanh03 in #119003
  • Create a task for process segment by @lvthanh03 in #118950
  • Set conversation_id and session_id on TraceItem by @phacops in #118419

Spans Migration

Taskbroker

  • Remove Taskworker Topics from Topic Enum by @george-sentry in #119150
  • Add taskworker-process-segments to Topic enum by @lvthanh03 in #119061
  • Add taskworker-launchpad-push to Topic enum by @evanh in #118161

Taskworker

  • Make merge/unmerge self-chaining idempotent by @yuvmen in #118966
  • Make the router default topic configurable by @enochtangg in #119238
  • Add --min-concurrency Flag to Taskworker by @george-sentry in #118850
  • Add --prometheus-port to run taskworker by @enochtangg in #118780

Trace

Trace Items

Traces

Utils

Weekly Report

  • Add batching for all + removing FF by @amy-chen23 in #119679
  • Total Issues chart rendering by @amy-chen23 in #119229
  • Update notification page for project customization by @amy-chen23 in #118934
  • Add API endpoints and report filtering by @amy-chen23 in #118696
  • Add WeeklyReportProjectExclusion model by @amy-chen23 in #118522
  • Remove "Most Frequent Transactions" section by @amy-chen23 in #118396
  • Add "Past Resolved Issues" by @amy-chen23 in #117751

Weekly Reports

  • Combine error and performance issues into top issues by @amy-chen23 in #119677
  • Add data layer for Total Issues graph by @amy-chen23 in #119154

Other

  • (action log) Use derived data for search and sort by @ceorourke in #119423
  • (activity) Emit group activity when a linked PR is closed by @malwilley in #118524
  • (ai-spans) Adjust JSON expansion defaults by @constantinius in #119505
  • (alerts api) Double frequency of deprecation brownouts by @kcons in #119536
  • (api-docs) Publish group integration details endpoint by @cvxluo in #118698
  • (assisted-query) Support org-level flags in the assisted query agent by patching via Sentry Request by @manessaraj in #118744
  • (billing-platform) Register getsentry over-usage shadow referrer by @armenzg in #118677
  • (broadcasts) Add sdk_update broadcast category by @sfanahata in #117476
  • (claude-code) Persist vault per GitHub installation by @sehr-m in #118271
  • (cmdk) Route "api key" search to auth token settings pages by @JoshFerge in #117693
  • (core) Add xs size variant to Radio by @jaydgoss in #118374
  • (dev) Add CMD+K command to toggle analytics debug mode on/off by @ryan953 in #118290
  • (developer-settings) Add webhook headers field to custom integrations by @billyvg in #117091
  • (discover) Errors product relocation info banner by @nikkikapadia in #119306
  • (ecosystem) Add activity for created external issues by @scttcper in #117428
  • (events) Add more information to the id errors by @wmak in #118485
  • (frontend) Add route-map generator by @azulus in #118195
  • (github) Handle new_permissions_accepted installation webhook by @joseph-sentry in #119006
  • (gitlab) Track merge request lifecycle state on PullRequest by @malwilley in #118604
  • (grouping) Add more context to Seer exception-type mismatch log by @yuvmen in #118391
  • (ingest-metrics) Ensure billing metrics consumer avoids outcome double-billing by @klochek in #117186
  • (insights) Add analytics events for AI trace interactions by @obostjancic in #117906
  • (issue-list) Add issue preview drawer for awaiting input page by @malwilley in #117934
  • (issue-preview) Add autofix tab to issue preview drawer by @malwilley in #118292
  • (issue-workflow) Action log derived data by @kcons in #117238
  • (issueList) Add ProgressState enum and progress column icons by @malwilley in #117736
  • (llm-proxy) Add internal endpoint for JWT key generation by @sehr-m in #119138
  • (merge) Separate start task names for merge and unmerge chains by @yuvmen in #119641
  • (metrics) Validate metrics search filters by @nsdeschenes in #118355
  • (migration) Add webhook_headers field to SentryApp by @billyvg in #117088
  • (nav) Open starred issue views in a new tab on modifier-click by @cvxluo in #117879
  • (notif-platform) Support in-paragraph link blocks by @leeandher in #118280
  • (onboarding-multi-platform-detection) Updating UI for multiple detected platforms by @Abdkhan14 in #118930
  • (outcomes) Begin porting track_outcomes to TaskProducer by @bmckerry in #118487
  • (platform) Add service worker proxy by @cmanallen in #117814
  • (processing_errors) Roll out TaskProducer to EAP producer by @bmckerry in #118585
  • (producer) Start rolling out rdkafka poll metrics by @bmckerry in #119565
  • (quotas) Add value-based equality and ordering to QuotaConfig by @armenzg in #118861
  • (releases) Improve release bubble interactions by @scttcper in #119440
  • (rollout) Allow overriding rollout comparison metric sample rate by @lobsterkatie in #118474
  • (scm-onboarding-multi-platform-detection) Removing test endpoint… by @Abdkhan14 in #118621
  • (sdk-crashes) Add is_anr_or_apphang tag to sdk crash monitoring metrics by @romtsn in #118983
  • (search-query-builder) Convert to filter key on comparison ops by @nsdeschenes in #117207
  • (span buffer) Add span-first slow DB span detector by @lobsterkatie in #117551
  • (startup) Add SENTRY_TRACE_STARTUP instrumentation for initialize_app by @untitaker in #118444
  • (taskworkers) Add option to set skip_await_futures by @bmckerry in #118462
  • (text) Allow responsive display prop, exclusive with ellipsis by @TkDodo in #118908
  • (tracemetrics) Add standard metric attributes to query builder by @nsdeschenes in #114708
  • (unmerge) Add killswitch by @cvxluo in #118595
  • (upload) GA upload endpoint by @jjbayer in #119050
  • (uptime) Roll out TaskProducer to EAP producer by @bmckerry in #118584
  • (validate) Use the filter mode by @wmak in #118401
  • (validator) Add query validation by @wmak in #117781
  • (viewer-context) Add project_id to ViewerContext by @sehr-m in #119663
  • (web) Add WebMCP/agent discovery endpoints, robots.txt update, a… by @elijames-codecov in #117830
  • Add organizations-explore-modal-export flag by @JoshuaKGoldberg in #119216
  • Wire up examples of service-worker "requests" that return a result from the worker by @ryan953 in #119088
  • Add highlight ability to compact select component by @adrianviquez in #118705
  • Container queries by @TkDodo in #118724
  • Add github webhook handling for PR pr_iteration_webhook by @joseph-sentry in #118050
  • Support 'acks' kafka producer config by @untitaker in #118379
  • Update autofix PR description footer by @joseph-sentry in #118037
  • Seer drawer pictureInPicture by @TkDodo in #116670
  • Options read hook by @joshuarli in #117547

Bug Fixes 🐛

Aci

  • Update the resolution API to use create_group_activity by @saponifi3d in #118854
  • Add more debug information to the metric, so we can filter by detector type by @saponifi3d in #118806
  • AlertRuleTriggerAction.DoesNotExist fix by @saponifi3d in #118383
  • Error when updating non-Anomaly Detection to Anomaly Detection by @saponifi3d in #117947

Action Log

  • Make progress gate project-level by @kcons in #119569
  • Move publish API to a dependency-light module to avoid import cycles by @kcons in #119266
  • Serialization improvements by @kcons in #119076
  • Fail consistently on schema violation in process_group_action_log_event by @kcons in #118974
  • Only send updates for columns that change by @kcons in #118048
  • Change publish interface to require a Project; use it in feature gate by @kcons in #117776

Ai Conversations

Alerts

Auth

  • Do not update email in UserDetailsEndpoint by @nora-shap in #119253
  • Avoid false no-org access on login by @JoshFerge in #118666

Autofix

Avatars

Conversations

Dashboards

Deps

Discover

  • Convert ColumnEditCollection to functional component by @sentry in #118796
  • Coerce issue.id tag value to string for transactions by @phacops in #118222

Dynamic Sampling

Eap

  • 400 instead of 500 for InvalidSearchQuery in trace-item attribute endpoints by @kcons in #118700
  • Skip validation for empty-string sentinel in has: queries by @kcons in #118703

Explore

Externalissues

  • Migrate ticketRuleModal API request to async/await by @sentry in #118268
  • Migrate api.request to api.requestPromise in useIntegrationExternalIssues by @sentry in #117755

Feedback

  • Don't orphan feedback payloads in the processing store by @evanh in #119642
  • Show inline integrations on feedback details by @scttcper in #117772

Flags

  • Loosen statsig webhook deserialization by @cmanallen in #118858
  • Validate webhook signature before organization lookup by @skaasten in #118649

Gal

Github

  • Ungate inbound issue status sync from removed feature flag by @souredoutlook in #119079
  • Don't set external_id on @localhost CommitAuthors by @scttcper in #117574

Gsadmin

  • Render the doc integration logo preview correctly by @cvxluo in #119171
  • Add CTA to reset stranded partner billing by @dashed in #118464

Integrations

  • Show admin tooltip on disabled Update Now button by @joseph-sentry in #119657
  • Re-register github project management feature flag by @cvxluo in #118575
  • Show disabled configuration count in integration row by @souredoutlook in #118469

Issue Details

Issue Progress

Issues

Jira

Logs

  • Set correct groupBy for Open in Explore with tables by @narsaynorath in #119721
  • Extract collapse functionality into its own button by @adrianviquez in #118053

Metrics

O11y

  • Add span first traces sampler by @alexander-alderman-webb in #119242
  • Restore max_value_length by @cleptric in #118743

Onboarding

  • Remove CocoaPods from Apple SDK onboarding by @philprime in #118723
  • Use skills.sentry.dev URL in AI-assisted setup prompt by @evanpurkhiser in #118259
  • Prevent duplicate SCM project create on repeat click by @jaydgoss in #117538
  • Commit the auto-detected platform to the host by @jaydgoss in #117341

Ourlogs

Performance

  • Exclude db.cursor spans from N+1 DB detection by @ericapisani in #118031
  • Remove sample transaction creation endpoint by @mjq in #118237
  • Remove sample transaction button from performance onboarding by @mjq in #118184

Pr Metrics

Preprod

  • Treat builds with an installable file as installable by @mtopo27 in #119230
  • Keep metadata popup double-click from opening focus view by @mtopo27 in #118833

Project Creation

Replay

Replays

Scraps

Sdk Crash Detection

  • Allow device/os/app context fields through event stripper by @runningcode in #118916
  • Allow ART memory/GC context through event stripper by @runningcode in #118915

Search

Seer

  • Ellipsize issue titles and show only PR number in workflows by @trevor-e in #119698
  • Anchor Explorer command menu to input by @TkDodo in #119614
  • Log every disqualifying reason for skipped night shift projects by @trevor-e in #119552
  • Don't request embed widgets for entrypoint (Slack) agent runs by @chromy in #119396
  • Stop conflating night-shift run id with Seer's run id in logs by @trevor-e in #119349
  • Route issue_comment webhooks to handler for GHE by @billyvg in #119261
  • Narrow night shift scheduling spread to 1 hour by @trevor-e in #119258
  • Sanitize NUL chars and lone surrogates from run outbox payloads by @trevor-e in #119168
  • Capitalize Slack in updateSlackAlert copy by @trevor-e in #119148
  • Skip GitLab seat seeding when webhook actor is not the MR author by @billyvg in #119124
  • Register get_organization_projects on internal RPC by @trevor-e in #118690
  • Remove derived state for addAutofixRepoModal by @sentry in #118623
  • Resolve UUID run_id in OrganizationSeerAgentUpdateEndpoint by @trevor-e in #118616
  • Unstick Copilot handoff status when global_id is empty by @JoshFerge in #118415
  • Forward attribute context through get_attribute_names RPC by @DominikB2014 in #118351
  • Inherit org-flag agent run options on the feature-run path by @trevor-e in #118218
  • Link each night shift shard to Seer Explorer in workflows by @trevor-e in #118187
  • Surface night shift shard seer run ids in the workflows API by @trevor-e in #118186
  • Add GitLab support to web vitals Seer eligibility hook by @billyvg in #117747
  • Add GitLab support to web vitals Seer eligibility check by @billyvg in #117746
  • Use URL-safe GitLab path when building owner/name by @billyvg in #118054
  • Show GitLab icon for GitLab SCM links in evidence UI by @billyvg in #118055
  • Route coding agent handoff CTA through seer/settings/ by @billyvg in #117622
  • Capture GitLab webhook validation failures as exceptions by @billyvg in #117969
  • Normalize GitLab webhook trigger_at to ISO 8601 by @billyvg in #117968
  • Route stopping point and handoff changes through seer/settings/ by @billyvg in #117526
  • Invalidate seer projects list after adding project via modal by @billyvg in #117868

Seer Infra Telemetry

  • Strip whitespace from Datadog PAT access_token in build_identity by @srest2021 in #118507
  • Wrap monitoring provider disconnect logic with transaction by @shashjar in #118402
  • Add Datadog site allowlist to identity provider by @shashjar in #117541

Selective Testing

  • Add more files to FST, and regression tests for deleted/moved files by @joshuarli in #118059
  • Add src/sentry/snuba/events.py to full-suite trigger by @joshuarli in #117950
  • Always run silo and backup validate meta-tests by @joshuarli in #117932

Sentry Apps

  • Restrict access to external issue actions without correct scope by @ceorourke in #118968
  • Dont use alarm for control webhooks by @Christinarlong in #117760

Sentry Apps

  • Resolve web urls in webhook text summaries by @cvxluo in #119643
  • Validate URI to prevent signed request routing to attacker hosts by @Christinarlong in #118679

Service Worker

  • Register as module for WebKit 26 compatibility by @sentry in #119729
  • Ignore InvalidStateError during update check by @sentry in #119726
  • Skip Sentry capture for AbortErrors from update checks by @billyvg in #119459

Spans

  • Parse callstack string in 'file I/O on main thread' detector by @lobsterkatie in #119181
  • Retry transient process segment task failures by @lvthanh03 in #119239
  • span.status:internal_error should also consider error by @mjq in #118476
  • Write span status field as trace item attribute by @mjq in #118461
  • Import span-first detectors rollout controller by @lobsterkatie in #118324

Stats

  • Align timezone handling with user preferences and UTC params by @billyvg in #119331
  • Handle duplicate user tags by @wmak in #118244

Test

  • Freeze time in deprecation url_names test to avoid noon-UTC flake by @mchen-sentry in #118672
  • Pass project features to GroupFixture in similarIssues.spec.tsx by @sentry in #118111

Trace

Trace Waterfall

Tracemetrics

  • Allow clearing equation to trigger update by @narsaynorath in #118919
  • Store label format of equation so duplicates aren't clobbered by @narsaynorath in #118367
  • Limit adding series in widget builder to max amount by @narsaynorath in #118156
  • Disable equation field if loading metrics by @narsaynorath in #118155
  • Filter out and disable rate aggregates in equations by @narsaynorath in #118045
  • Literals in equations delete incorrect item by @narsaynorath in #117926
  • Use portal to prevent clipping of dropdown menus by @narsaynorath in #117922

Traces

Ui

  • Paint SplitPanel divider accent above pane content by @priscilawebdev in #119383
  • Pin GridEditable header height in Safari on back-nav by @priscilawebdev in #119490
  • Ignore 1Password in overlay search inputs by @scttcper in #119172
  • Resize autosize textarea on container width changes by @TkDodo in #118855
  • Give the main scrollbar on the html element secondary background color by @TkDodo in #118435

Validate

  • Check attributes in query even during error by @wmak in #118018
  • Make the default behaviour better by @wmak in #117962

Vercel

  • Upsert env vars one target at a time to avoid ENV_CONFLICT by @Christinarlong in #118490
  • It seems like we need v10 for vercel to upsert env vars by @Christinarlong in #118314
  • Use upsert to set env vars when linking projects by @Christinarlong in #118207
  • Redirect sentry.dev root to sentry.io by @ryan953 in #118076
  • Preserve the next param through the install pipeline by @evanpurkhiser in #117855

Other

  • (admin) Migrate adminRelays DELETE to async/await by @sentry in #118264
  • (agent-insights) Stop trace.rendered analytics from firing twice by @obostjancic in #118541
  • (agents) Keep timeline row selection visible on hover by @ArthurKnaus in #119204
  • (analytics) Use the same DEBUG_ANALYTICS localstorage key in prod & dev by @ryan953 in #118373
  • (api) Scope clientSecret visibility to app owner in serializer by @michelletran-sentry in #118369
  • (apigateway) Preserve Content-Encoding when proxying snapshot create by @NicoHinderling in #118327
  • (apigw) Update issue events route, add missing routes by @gi0baro in #118832
  • (attachments) Disable preview for large text/JSON attachments by @JoshuaMoelans in #116963
  • (attribute-breakdowns) Store breakdown pagination in URL by @nsdeschenes in #118233
  • (automations) Allow value of 0 for frequency conditions by @souredoutlook in #118128
  • (backpressure) Remove unhealthy service log by @shellmayr in #119514
  • (billing) Fix billing status overlay button spacing by @cvxluo in #117867
  • (charts) Preserve ECharts zoom state by @scttcper in #119237
  • (ci) Fix failing test-tools action by updating hardcoded YAML by @kenzoengineer in #118670
  • (cmd-k) Make settings field helpText searchable in command palette by @TkDodo in #118557
  • (commandPalette) Prevent useOrganization from throwing without org context by @sentry in #119362
  • (configoptions) Change from YAML parsing to JSON parsing to fix float parsing issue by @kenzoengineer in #118492
  • (consumers) Propagate tags to all threads by @bmckerry in #119550
  • (cursor) Validate pr_url and extract branch_name from statusChange webhook by @giovanni-guidini in #117682
  • (data_export) Scope export detail lookup to the requesting user by @manessaraj in #119635
  • (data_forwarding) Safely convert request headers to dict by @sentry in #118124
  • (dev) Symbolicator mode now depends on objectstore by @Dav1dde in #118783
  • (ecosystem) Add select_related to slack activity notification task by @scttcper in #118856
  • (equations) Handle count_unique by @wmak in #117714
  • (errors) Add conditional Ask Seer prop by @nsdeschenes in #117789
  • (formatters) Add trillion suffix to abbreviated number formatting by @skaasten in #119715
  • (forms) Resolve no-callback-api-request lint error in doApiRequest by @sentry in #117727
  • (frontend-tsc) Convert PermissionsObserver to functional component by @sentry in #118480
  • (gitlab) Cap org IDs in webhook debug log attribute by @billyvg in #118097
  • (grouping) Reject Seer matches with mismatched exception types by @yuvmen in #118202
  • (groups) Normalize string assignedTo value before optimistic bulk update by @shashjar in #119588
  • (issue details) Send time range params for specific event IDs in prev/next navigation by @shashjar in #118246
  • (issue-search) Prevent overflow crash in recommended_v2 sort by @roggenkemper in #118277
  • (issue-stream) Dismiss the Recommended sort badge after a sort is chosen by @roggenkemper in #119537
  • (issue-views) Stop view sort changes from overwriting the feed sort by @roggenkemper in #119415
  • (listBox) Fix virtualized scrolling when mouse is used by @TkDodo in #118380
  • (mcp) Add mcp referrer by @wmak in #118167
  • (metric-monitors) Anchor non-percentage chart y-axis at zero by @malwilley in #118384
  • (middleware) Guard request.auth access in is_frontend_request by @sentry in #117966
  • (mobile-vitals) Include app.start in cold/warm start transaction.op conditions by @buenaflor in #118436
  • (msteams) Treat ApiUnauthorized (401) as a configuration halt, not a failure by @billyvg in #119510
  • (nav) Keep mobile menu open when switching organizations by @natemoo-re in #117683
  • (nav-tour) Navigate to Sentry Built dashboards in step 4 by @ale-cota in #118342
  • (organizationMembers) Convert OrganizationMemberRow to function component by @sentry in #118477
  • (overlay) Recalculate controlled overlay position on open by @TkDodo in #119611
  • (page-frame) Standardize spacings by @TkDodo in #118451
  • (pagefilters) Clamp old absolute date changes by @nsdeschenes in #118720
  • (plugins) Block deprecated plugins from test-fire notifications by @Christinarlong in #118257
  • (preprocessing) Handle malformed URLs and missing raw frame keys by @Christinarlong in #117816
  • (processing-errors) Drop null entries from event errors by @cvxluo in #118312
  • (producer) Register SingletonProducer shutdown eagerly by @untitaker in #118650
  • (profiling) Detect android trace chunks by version and structure by @markushi in #119604
  • (project) Skip optimistic update on project slug change by @TkDodo in #118822
  • (project-settings) Migrate release token regeneration to async/await by @sentry in #118267
  • (projectKeys) Migrate KeyStats to useApiQuery by @sentry in #117757
  • (projectReleaseTracking) Migrate release token regeneration to useMutation by @sentry in #118270
  • (query-builder) Move logging out of loop by @nsdeschenes in #118086
  • (query-client) Stop retrying on 400s by @nsdeschenes in #117928
  • (quotas) Add repr for quota config by @volokluev in #118601
  • (redis) Fix handling of boolean values by @lobsterkatie in #117931
  • (relay) Flush the organization options local cache for project recomputation by @klochek in #117602
  • (reprocessing) Check for stale reprocessing by @tobias-wilfert in #118626
  • (resultGrid) Migrate api.request to api.requestPromise by @sentry in #118265
  • (scim) Add scimType and status to SCIM error responses by @Asynchronite in #117870
  • (scm) Update error handling in project webhook task by @GabeVillalobos in #118248
  • (scm-sync) Skip repo sync creation for repos scheduled for deletion by @bruno-garcia in #119332
  • (sdk) Inherit parent sampling decision instead of overriding it by @Lms24 in #118736
  • (serviceWorker) Gracefully handle SecurityError in sandboxed iframes by @sentry in #119170
  • (slack) Ensure Slack user is member of org for Seer actions by @ceorourke in #118877
  • (snapshots) Use sun icon for light/dark preview toggle by @NicoHinderling in #119120
  • (spike-protection) Keep toggle value after save on project settings by @TkDodo in #118459
  • (split-panel) Restore horizontal divider hit area by @TkDodo in #119623
  • (splitPanel) Clamp the sized pane to its min size by @TkDodo in #118338
  • (stories) Use default variant for Default button example in button.mdx by @ryan953 in #119347
  • (tab) Observe the root tabs component when calculating overflowMenu by @TkDodo in #118546
  • (taskworker) Add the ability to send canary tasks from taskbroker_send_tasks by @evanh in #119224
  • (teamProjects) Migrate api.request to useMutation by @sentry in #118038
  • (tempest) Align frontend permissions to backend checks by @mujacica in #118540
  • (tests) Always run control silo URL tests by @kenzoengineer in #117862
  • (textAreaAutoSize) Turn off the react compiler by @TkDodo in #119618
  • (theme) Strip stale body theme class on cmd-k theme switch by @TkDodo in #118432
  • (trace-item-stats) Resolve issue with pagination by @nsdeschenes in #118039
  • (trace-view) Show App Start Cold/Warm vitals for app.start transactions by @buenaflor in #118438
  • (uptime) Use safe HTTP for robots.txt fetch in autodetect by @michelletran-sentry in #118358
  • (useResizableDrawer) Don't rely on stable options by @TkDodo in #118092
  • (weekly-report) Prevent recording delivery on dry runs by @amy-chen23 in #118249
  • (weekly-reports) Cache event counts after successfully sending emails by @amy-chen23 in #118309
  • (workflow) Speed up workflow group history count query by @Christinarlong in #118323
  • (workflow-engine) Require DataConditionGroup IDs to be ints by @kcons in #117887
  • Seer header responsiveness by @TkDodo in #118924
  • Forward query string verbatim in Objectstore proxy and API gateways by @lcian in #119512
  • Enable ce for all orgs by @shruthilayaj in #119014
  • Use a global h1 for title slot by @TkDodo in #118014

Documentation 📚

Scraps

Other

  • (api) Add download query parameter to attachment details OpenAPI schema by @jan-auer in #119105
  • (cells) Update skill with better directions to run cell routing mode by @lynnagara in #118079
  • (explore) Add replays and ai_conversations to dataset help text by @vgrozdanic in #118810
  • (laravel) Add AI agent monitoring onboarding by @constantinius in #118363
  • (metrics) Document metric tag conventions by @shellmayr in #117787
  • (preprod) Clarify diff snapshots omit top-level images array by @NicoHinderling in #118198
  • (seer) Update GitLab MR limitation comment by @billyvg in #117831
  • Add tracing wrapper guidance to backend AGENTS.md by @cleptric in #118781

Internal Changes 🔧

Action Log

Ai Search

  • Gate issue list AI search on gen-ai-issues-search flag by @aliu39 in #118425
  • Add gen-ai-issues-search feature flag by @aliu39 in #118424

Alerts

  • Add rendering support for resolution activities by @leeandher in #119259
  • Increase legacy alerts API brownouts by @ceorourke in #118680
  • Dont use legacy alerts endpoint in metric issue details by @ceorourke in #117482
  • Batch detector fetches on Alerts list by @shashjar in #116798

Api

  • Type group reprocessing status details info by @cvxluo in #119684
  • Tighten trace endpoint response types by @cvxluo in #118955
  • Tighten event serializer response types by @cvxluo in #119351
  • Type event/group event-type as a Literal by @cvxluo in #119350
  • Type group level as a Literal by @cvxluo in #118758
  • Type event serializer occurrence by @cvxluo in #118926
  • Type event serializer groupingConfig by @cvxluo in #118786
  • Type group response fields as literals by @cvxluo in #118668
  • Promote Telemetry Experience release endpoints to spectacular public docs (sentry-api-schema#76) by @betegon in #118005
  • Reassign release endpoints from TELEMETRY_EXPERIENCE/UNOWNED to COMMUNITY by @vgrozdanic in #118339
  • Use token operationIds + summary for preprod/monitors/sentry_apps/notifications/seer/feedback endpoints by @betegon in #117403
  • Use token operationIds + summary for issues/integrations/releases/workflow endpoints by @betegon in #117339
  • Use token operationIds + summary for core + api endpoints by @betegon in #117337
  • Add control silo URL patterns for monitoring provider API endpoints by @shashjar in #117851

Apigw

  • Catch more network errors on proxied requests by @gi0baro in #118729
  • Prevent netloc mismatch on proxied requests by @gi0baro in #118640
  • Review routes, add tests, readme by @gi0baro in #117313

Ask Seer

Autofix

Billing

Billing Platform

Cells

Codeowners

  • Add dashboards as owner of static/app/utils/dashboards by @DominikB2014 in #118686
  • Change the owner of attachments endpoint by @olksdr in #117665

Control

  • Remove control callees for Team replication by @strongs in #119647
  • Actually DROP ExternalActorReplica by @strongs in #119533
  • Pending deletion for dead ExternalActorReplica table by @strongs in #119532

This changelog has been truncated. See the full changelog for all changes.

Don't miss a new sentry release

NewReleases is sending notifications on new releases.