Download Latest Version 26.7.0 source code.zip (64.3 MB)
Email in envelope

Get an email when there's a new version of Sentry

Home / 26.7.0
Name Modified Size InfoDownloads / Week
Parent folder
26.7.0 source code.tar.gz 2026-07-15 52.8 MB
26.7.0 source code.zip 2026-07-15 64.3 MB
README.md 2026-07-15 125.0 kB
Totals: 3 Items   117.2 MB 2

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

  • Flag when a user belongs to orgs in other regions by @rahulchhabria in #118112
  • Probe other regions when org search lacks an exact slug match by @rahulchhabria in #118064
  • Indicate when a customer exists in another data region by @rahulchhabria in #117619

Agent Monitoring

  • Drop redundant stream_gen_ai_spans from Python onboarding by @obostjancic in #118714
  • Drop redundant streamGenAiSpans from JS onboarding by @obostjancic in #118654
  • Add setUser step to Conversations onboarding by @obostjancic in #118441
  • Render placeholder for empty AI text parts by @obostjancic in #118235
  • Improve conversation detail message rendering by @obostjancic in #118236

Agents

  • Preview multiple tool-call arguments by @matejminar in #119107
  • Promote reasoning effort in span details UI by @matejminar in #118144

Ai

  • Unify XML tag collapsing across chat and span details by @ArthurKnaus in #119201
  • Return input and output tokens in conversations response by @obostjancic in #118341

Ai Conversations

  • Add traces link to redesigned conversation header by @priscilawebdev in #118718
  • Add redesigned conversation detail header by @priscilawebdev in #118682
  • Render linked issues in conversation span details by @obostjancic in #118555
  • Link issues in AI conversation span details by @obostjancic in #118550
  • Register gen-ai-conversations-columns flag by @obostjancic in #118008

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

  • Add "Verify your email" pending page by @nora-shap in #119160
  • Add PendingUser model and cleanup task by @nora-shap in #118532
  • Add signup email verification endpoint by @nora-shap in #117952
  • Add signup email verification utility by @nora-shap in #117591

Autofix

  • Render unknown PR iteration feedback sources by @joseph-sentry in #119667
  • Type PR iteration feedback sources and prefer ui_text by @joseph-sentry in #119627
  • Add header to autofix slack response sections by @Zylphrex in #119563
  • Add optional user param to trigger_autofix_agent by @Zylphrex in #119446
  • Enable CONFIGURATION issues as Autofix Automation targets by @sentry-junior in #119393
  • Disable agent hand off for GitLab in Seer Drawer by @billyvg in #118465
  • Make FE changes to match github mentions by @joseph-sentry in #118261
  • Add Alpha badge to PR iteration feedback form by @chromy in #118559
  • Add issue hyperlink to coding agent handoff by @sehr-m in #118319
  • Add route analytics params for Seer setup state by @Zylphrex in #118371
  • Add analytic event for set up seer button by @Zylphrex in #118354
  • Enable pr_context_tools for PR iteration by @joseph-sentry in #118149
  • PR iteration frontend changes by @joseph-sentry in #118049
  • Pin base shas via prompt metadata by @joseph-sentry in #117956
  • Handle no write permissions in autofix by @Zylphrex in #117937
  • Push changes after PR iteration by @joseph-sentry in #117918
  • Restore result description and fix button overflow in coding agent card by @sehr-m in #117774
  • Add GroupAutofixRepos endpoint by @Zylphrex in #117848
  • Add iteration_index and pr_iteration_enabled to analytics by @joseph-sentry in #117219
  • Add pr_iteration endpoint step and operator activity by @joseph-sentry in #117218

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

  • Let the layout use available horizontal space by @ArthurKnaus in #119712
  • Redirect to detail on single conversation ID search by @ArthurKnaus in #119616
  • Add direct-hit redirect header for conversation ID search by @ArthurKnaus in #119613
  • Return tool call result on conversation spans by @ArthurKnaus in #119508
  • Make conversation detail resizable by @priscilawebdev in #119199
  • Deselect span when closing detail by @matejminar in #119220
  • Add dot separator to metric/duration meta by @ArthurKnaus in #119221
  • Polish transcript layout width and spacing by @ArthurKnaus in #119218
  • Drop span-detail Show More clips for scroll + role folding by @priscilawebdev in #119186
  • Show selected agents first in agent selector by @priscilawebdev in #119182
  • Indent nested collapsible XML tags by @obostjancic in #119110
  • Make messages selectable in the transcript view by @obostjancic in #119094
  • Auto-open span detail on the timeline view by @priscilawebdev in #119049
  • Show saved query name in breadcrumbs by @constantinius in #118988
  • Add conversation transcript redesign by @obostjancic in #118898
  • Add redesigned span detail panel by @priscilawebdev in #118894
  • Add saved query support for AI conversations by @constantinius in #118727
  • Show AI span timeline in trace drawer behind flag by @priscilawebdev in #118892
  • Redesign conversation timeline view by @priscilawebdev in #118821
  • Move project and copy ID into detail breadcrumbs by @priscilawebdev in #118811
  • Add input as a default table column by @priscilawebdev in #118815
  • Make thinking blocks searchable and copyable by @obostjancic in #118630
  • Add tool call breakdown hover card by @priscilawebdev in #118554
  • Add editable, persisted table columns by @priscilawebdev in #118445
  • Move LLM Calls column next to Tool Calls by @priscilawebdev in #118433
  • Add redesigned conversations table by @priscilawebdev in #118428
  • Add conversations-redesign feature flag by @priscilawebdev in #118335
  • Add missing input/output alert by @obostjancic in #117680

Dashboards

  • Add ordering changes to starred dashboards ordering by @adrianviquez in #119675
  • Chunk heat map fetches by @gggritso in #119584
  • Add Mobile Vitals "About this page" widget by @buenaflor in #116366
  • Add ability to sync prebuilt favorited dashboards by @adrianviquez in #119575
  • Add feature flag for starred dashboards by @adrianviquez in #119559
  • Put in backend validation for heat map request fields by @nikkikapadia in #119145
  • Disable non-distribution metrics for heat map widgets by @gggritso in #118779
  • Improve the heat map widget tooltip by @gggritso in #118706
  • Improve heat map axis tick placement by @gggritso in #118412
  • Improve heat map color scaling by @gggritso in #118326
  • Enable heat map cross-navigation by @gggritso in #118108
  • Re-add Heat Map widget with heat-map-only config validation by @gggritso in #118199

Data Export

  • Pass query Filter to EAP's EndpointExportTraceItem by @manessaraj in #119410
  • Serve small Discover and Explore exports synchronously by @JoshuaKGoldberg in #118148
  • Improve observability for failure emails by @sentry in #116917

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

  • Replace MOD-based org bucketing with CursoredScheduler by @constantinius in #118920
  • Match legacy 100% handling in per-org pipeline by @shellmayr in #118644
  • Add smallest-transaction factor bucket metric by @shellmayr in #118463
  • Add eap count sample debug metric by @constantinius in #118437
  • Add generic metrics volume to sliding window comparison by @constantinius in #118224
  • Emit last-item age debug metric for project balancing by @shellmayr in #118130
  • Record EAP and outcomes volume in sliding-window comparison by @shellmayr in #118013
  • Compare EAP vs outcomes org sliding-window rate by @shellmayr in #117908
  • Add per-project sample rate override for custom DS by @shellmayr in #117796

Eap

  • Surface a context brief for the project attribute by @DominikB2014 in #119113
  • Add OTel GenAI token usage attributes by @constantinius in #117300
  • Add failure_count_if formula for spans by @vgrozdanic in #118349

Explore

  • Allow pinned range bounds on heat map endpoint by @gggritso in #119414
  • Validate explore column editor fields by @nsdeschenes in #118377
  • Added data export modal to Discover and Traces by @JoshuaKGoldberg in #117949
  • Surface and apply Seer's cross-event queries by @manessaraj in #118685
  • Add drag-to-zoom for metrics heat maps in Explore by @gggritso in #118945
  • Show agent filter in saved queries list view by @constantinius in #118986
  • Add warning message for low sampled data by @adrianviquez in #118423
  • Add ai_conversations dataset to ExploreSavedQuery by @constantinius in #118725
  • Increase resolution of heat map widgets by @gggritso in #118748
  • Forbid selecting a heat map for non-distribution metrics by @gggritso in #118661
  • Register gen_ai conversation and operation attributes as search keys by @obostjancic in #118542
  • Unfurl Explore Heat Maps by @nikkikapadia in #117943
  • Consistent chart expand/collapse for Logs and Traces by @JoshuaKGoldberg in #118174
  • Validate spans search attributes by @nsdeschenes in #118015
  • Add search suggestions to trace logs view by @JoshuaKGoldberg in #118153
  • Add Chartcuterie config for Explore heat maps by @gggritso in #118253
  • Add table to store metric context by @DominikB2014 in #117933
  • Add sentry conventions context to trace item attributes by @DominikB2014 in #117913
  • Add table to store attribute and attribute context by @DominikB2014 in #117930
  • Add flagged schema hints removal to conversations by @JoshuaKGoldberg in #117715

Features

  • Register organizations:ui-migration-breadcrumbs flag by @Jesse-Box in #119211
  • Add data-browsing-attribute-context flag by @DominikB2014 in #117839
  • Register organizations:am3-tier permanent feature flag by @chromy in #117805

Gal

  • Add idempotency key to publish functions by @thetruecpaul in #119534
  • Add project-level backfill task for Activity to GroupActionLog by @yuvmen in #119164
  • Add reset_and_backfill task for group action log by @yuvmen in #119355
  • Add bulk-publish function by @thetruecpaul in #119326
  • Add single-group backfill task by @yuvmen in #119248
  • Add Activity-to-GroupAction translator by @thetruecpaul in #117721

Gale

  • Schedule processing task on invalidation by @ceorourke in #119166
  • Invalidate derived data on merge by @ceorourke in #118378

Gsadmin

  • Drop Unmatched stat card from invoice-comparison summary by @armcknight in #118060
  • Rework invoice-comparison summary + link receipt cells by @armcknight in #117970

Icons

  • Add bar antenna, sun, and pull request draft icons by @Jesse-Box in #118995
  • Add InProgress, InReview, and Resolved status icons by @malwilley in #117697

Inbound Filters

  • Add custom inbound filter detail endpoint by @shellmayr in #118726
  • Add custom inbound filters list/create endpoint by @shellmayr in #118142
  • Add custom inbound filter audit log event by @shellmayr in #118141
  • Add model for new inbound filters v2 by @shellmayr in #116666
  • Add v2 page skeleton by @shellmayr in #116665

Integrations

  • Type referrer on integration analytics events by @alexsohn1126 in #118746
  • Track referrer on auto-opened install modal by @alexsohn1126 in #118740
  • Send custom webhook_headers on SentryApp webhooks by @billyvg in #117090
  • Add webhook_headers field to SentryApp API by @billyvg in #117089
  • Add feature flag for custom webhook headers by @billyvg in #117917
  • Customizable install modal title and description by @alexsohn1126 in #118286
  • Auto-open install modal from query param by @alexsohn1126 in #118285
  • Default sentry-app-schema-form-migration to enabled by @priscilawebdev in #118158
  • Add MCP hint to the new integration type modal by @cvxluo in #117945

Issue Details

  • Add pull request closed activity type by @malwilley in #118591
  • Add details tab to issue preview drawer by @malwilley in #118316
  • Add action buttons to issue preview drawer by @malwilley in #118074
  • Add activity feed to issue preview drawer by @malwilley in #118066
  • Add issue preview drawer with header content by @malwilley in #117961

Issue Progress

  • Add frontend rendering for new PR lifecycle activities by @malwilley in #119659
  • Update progress on new PR lifecycle actions by @malwilley in #119582
  • Update action log progress logic to support new logic by @malwilley in #119329
  • Default awaiting input page to progress sort by @malwilley in #118069
  • Add progress activity hovercard by @malwilley in #117858
  • Add regressed and newness boosts to recommended_v2 by @roggenkemper in #118159
  • Add suspect-commit relevance to recommended_v2 by @roggenkemper in #118160

Issues

  • Add issue activity stories by @scttcper in #119686
  • Redesign resolution banners by @scttcper in #119682
  • Refine activity feed copy and wrapping by @scttcper in #119546
  • Link commit activities to pull requests by @scttcper in #119373
  • Link release resolution activities to commits by @scttcper in #119372
  • Move merge/unmerge tasks to dedicated namespace by @yuvmen in #119233
  • Add new-feature badge to the Recommended dropdown option by @roggenkemper in #119301
  • Move Recommended sort to top of sort dropdown by @roggenkemper in #119302
  • Serve recommended_v2 behind the recommended sort key by @roggenkemper in #119232
  • Add new-feature badge for the Recommended sort default by @roggenkemper in #119136
  • Add dedicated issues.merge task namespace by @yuvmen in #119161
  • Log and count restricted large merges/unmerges by @yuvmen in #119157
  • Add group links and activity section to issue preview drawer by @malwilley in #118590
  • Add single line activity feed items by @scttcper in #118571
  • Restrict merge/unmerge for large groups by @yuvmen in #118615
  • Add merge task killswitch by @cvxluo in #118611
  • Split recommended-sort default flag, add experimental sort option by @roggenkemper in #118471
  • Use stored PR status for linked PRs by @scttcper in #118405
  • Add attribution to pull-requests by @scttcper in #118416
  • Show linked PR attribution avatars by @scttcper in #118417
  • Add recommended-sort default and experimental flags by @roggenkemper in #118470
  • Add recommended sort with localStorage persistence by @roggenkemper in #116320
  • Record auto-resolve as a system action in the action log by @yuvmen in #117856
  • Add Progress sort option to the issue stream by @roggenkemper in #117771
  • Track linked pull request clicks by @scttcper in #117770

Logs

  • Validate selected table columns by @nsdeschenes in #118634
  • Add logging wrapper by @lobsterkatie in #119276
  • Validate logs search query fields by @nsdeschenes in #118350

Onboarding

  • Explain the disabled Create CTA in the SCM wizard by @jaydgoss in #117342
  • Show all SCM project-creation steps at once by @jaydgoss in #117553

Ourlogs

  • Add specialized exports for aggregates by @JoshuaKGoldberg in #118693
  • Show pinned logs in sort order by @JoshuaKGoldberg in #118450
  • Prefer message template for cell action filters if available by @JoshuaKGoldberg in #118651
  • Clarify export form columns and format by @JoshuaKGoldberg in #118196

Pr Iteration

  • Comment when @sentry iteration hits an ineligible PR by @joseph-sentry in #119519
  • Add nudge for updating github app permissisons by @joseph-sentry in #119111
  • Add github app permission nudge to autofix drawer by @joseph-sentry in #119059

Pr Iteration

  • Fold PR review-comment anchor into Autofix prompt by @alexsohn1126 in #119334
  • React to inline PR review comments via SCM platform by @alexsohn1126 in #119416

Pr Metrics

  • Close SENTRY_APP attribution gaps for autofix PRs by @giovanni-guidini in #119628
  • Add per-PR activity document model and reducer (dark) by @vaind in #119570
  • Emit judge-ineligible PRs via a fallback verdict by @giovanni-guidini in #119385
  • Handle synchronous delegated-agent-match response by @giovanni-guidini in #119380
  • Derive ci_failing_at_close on the no-judge close path by @giovanni-guidini in #119504
  • Include autofix referrers in scm.pr.closed by @giovanni-guidini in #119492
  • Add human-involvement signals to scm.pr.closed by @giovanni-guidini in #119217
  • Defer scm.pr.closed emission behind a cooldown by @giovanni-guidini in #119198
  • Record sentry-app PR attribution on close by @giovanni-guidini in #119106
  • Instrument the delegated-agent attribution funnel by @giovanni-guidini in #119036
  • Derive participants_count and reviews_count by @vaind in #118956
  • Constrain PullRequestActivity table size and fix activity tracking gates by @giovanni-guidini in #118734
  • Add typed signal_details to SENTRY_APP attribution by @giovanni-guidini in #118738
  • Call Seer delegated-agent match RPC from webhook by @giovanni-guidini in #117911
  • Capture review dismissals and merge-intent signals by @vaind in #118188
  • Capture check_suite/check_run CI status for the judge by @vaind in #118183
  • Emit conversation-judge analysis to BigQuery by @vaind in #118028
  • Restrict judge and activity capture to Seer-eligible orgs by @giovanni-guidini in #117899
  • Include GroupLinks from PR activity commits in resolved group IDs by @giovanni-guidini in #117524

Preprod

  • Add preprod-size-analysis-pr-comments feature flag by @mtopo27 in #119409
  • Show install groups on the install page by @mtopo27 in #119312
  • Prefer build_number_raw for display by @trevor-e in #119267
  • Add install_groups to build-details distribution info by @mtopo27 in #119303
  • Store raw build number for display purposes by @trevor-e in #119262
  • Add Releases breadcrumb to install page by @mtopo27 in #119140
  • Render web-UI snapshots on their canvas_theme by @jamieQ in #118903
  • Add adjustable opacity to the snapshot diff overlay by @mtopo27 in #118875
  • Support per-image canvas_theme in snapshot API by @jamieQ in #118749
  • Sync snapshot sidebar search to URL by @mtopo27 in #118834
  • Add URL route resolving to latest base snapshot by @mtopo27 in #118658
  • Show existing size comparisons on the compare page by @jamieQ in #118674
  • Add endpoint listing existing size comparisons for a build by @jamieQ in #118526
  • Re-emit preprod.snapshots.diff.duration_s metric by @NicoHinderling in #118603
  • Add org context to snapshot pipeline logs by @NicoHinderling in #118602
  • Roll out TaskProducer for preprod tasks by @bmckerry in #118583
  • Record client attribution on snapshot archive download by @mtopo27 in #118491
  • Record client attribution on snapshot read endpoints by @mtopo27 in #118387
  • Record approval analytics for web UI and auto approvals with source by @mtopo27 in #118307
  • Add tracing spans to snapshot details GET handler by @NicoHinderling in #118177
  • Add Download CSV button to build distribution view by @jamieQ in #117927
  • Support zstd-compressed snapshot manifest uploads by @NicoHinderling in #117884
  • Use one relevant-filtered link per snapshot row by @mtopo27 in #117863
  • Add build distribution CSV export endpoint by @jamieQ in #117539
  • Surface errored snapshot images in web viewer by @NicoHinderling in #117599

Profiling

  • Support sample v2 profiles for Android by @markushi in #118849
  • Add attachment download control to the flamegraph toolbar by @markushi in #118071
  • Add support for profiling chunk attachments by @markushi in #118029

Project Creation

  • Track returning to the detected platform by @jaydgoss in #118420
  • Notification options in the SCM alert section by @jaydgoss in #118394
  • Make alert frequency collapsible via ScmCollapsibleSection by @jaydgoss in #117849
  • Add reusable collapsible section for create flow by @jaydgoss in #117847
  • Add integration selector to repo connect step by @jaydgoss in #117731

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

  • Surface installation and repository ids on webhook events by @alexsohn1126 in #119629
  • Add check_suite and pull_request_review to event stream by @joseph-sentry in #119419

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

  • Add prefer-stack-for-column-flex ESLint rule by @priscilawebdev in #119397
  • Add JS container-query parity via useContainerBreakpoint by @TkDodo in #118912
  • Add SplitPanel core component by @priscilawebdev in #118230

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
  • Move Ask Seer action to filter menu footer by @nsdeschenes in #119656
  • Render multi-select filter values as chips by @JoshuaKGoldberg in #118191
  • Always show multi-select checkboxes in value dropdown by @JoshuaKGoldberg in #118024
  • Add color indicators next to severity values in search by @JoshuaKGoldberg in #118569
  • Track multi-select value toggles in dropdown by @JoshuaKGoldberg in #118027
  • Add issue progress sort by @roggenkemper in #117707

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

  • Add dismissible Slack reinstall nudge by @alexsohn1126 in #118684
  • Dock auto sidebar right in landscape mobile by @TkDodo in #118563

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

  • Append text summary to claude routine webhooks by @cvxluo in #119448
  • Send custom headers on all external requests by @cvxluo in #119530
  • Per-event webhook subscription checkboxes by @cvxluo in #119324
  • Expose exact event subscriptions as webhookEvents by @cvxluo in #118940
  • Accept granular webhook events on the API by @cvxluo in #118932
  • Match webhook subscriptions per-event by @cvxluo in #118928
  • Allow anthropic-version and anthropic-beta webhook headers by @billyvg in #118582
  • Forward integrator error status and reason from external requests by @priscilawebdev in #116956

Slack

  • Log channel id on successful message sends by @alexsohn1126 in #119636
  • Add referrer to issue alert reinstall nudge link by @alexsohn1126 in #118745
  • Nudge per-workspace to update outdated Slack app installs by @alexsohn1126 in #118587
  • Also emit alert nudge metrics to the Sentry metrics product by @alexsohn1126 in #118596
  • Add metrics for slack reinstall nudge outcomes by @alexsohn1126 in #118564
  • Nudge users to reinstall the Slack app on issue alerts by @alexsohn1126 in #118288

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

  • Discover transactions to spans saved queries by @nikkikapadia in #118681
  • Transactions to spans dashboard widget self hosted migration by @nikkikapadia in #104803
  • Self-hosted migration for transaction alerts by @nikkikapadia in #111348

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

  • Add operation-type icons to AI span details title by @obostjancic in #119093
  • Add compressed timeline mode by @nsdeschenes in #116686

Trace Items

  • Add endpoint to create/update metric context by @DominikB2014 in #119431
  • Add endpoint to create/update attribute context by @DominikB2014 in #118498
  • Serve context for Sentry-defined attributes by @DominikB2014 in #118759
  • Add context to Sentry-defined attributes by @DominikB2014 in #118739
  • Match attribute context by convention, not source by @DominikB2014 in #118509
  • Ungate sentry-conventions attribute context by @DominikB2014 in #118362
  • Always return context key when expand=context by @DominikB2014 in #118157

Traces

  • Use new transcript in AI trace tabs by @obostjancic in #119039
  • Use redesigned AI span detail panel across trace views by @priscilawebdev in #118987
  • Show value counts in item search dropdown by @JoshuaKGoldberg in #117426

Utils

  • Add mismatch logging options to SafeRolloutComparator by @lobsterkatie in #119665
  • Add exact match callback option to rollout comparator by @lobsterkatie in #118965
  • Add callsite-specific sample rates to rollout comparator by @lobsterkatie in #117629

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

  • Use uniform 16px padding on conversation detail page by @priscilawebdev in #118722
  • Widen AI conversations filter to include tool spans by @obostjancic in #118553

Alerts

  • Scope lookup to project in path by @ceorourke in #118961
  • Populate metric_alert webhook actions for native monitors by @Christinarlong in #118388
  • Return fallthrough type by @ceorourke in #118404
  • Stronger typing around human_desc by @kcons in #117883

Auth

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

Autofix

  • Don't treat queued PR feedback as iterating by @joseph-sentry in #119624
  • Add word boundary check for @sentry mention parsing by @joseph-sentry in #119543
  • Consume queued PR iteration feedback after push by @joseph-sentry in #118676
  • Pin repo branch/sha at root cause by @Zylphrex in #119132
  • Fix Overlapping Feedback Attribution with Feedback by @alexsohn1126 in #119086
  • Fix autofix drawer UI bugs by @joseph-sentry in #118538

Avatars

  • Avoid orphaning avatar file handle on resized requests by @shellmayr in #117973
  • Close avatar file in get_cached_photo by @shellmayr in #117903

Conversations

  • Show "no cost recorded" instead of a misleading amount by @ArthurKnaus in #119617
  • Remember last selected project by @ArthurKnaus in #119620
  • Fix blank detail view on mobile breakpoint by @ArthurKnaus in #119625
  • Show connected issues in the span detail panel by @ArthurKnaus in #119601
  • Fetch more conversation list items by @obostjancic in #119391
  • Sort tools in the tool calls breakdown tooltip by @ArthurKnaus in #119386
  • Stop 'Add a Column' from appending Conv. ID forever by @priscilawebdev in #119379
  • Stop Last Message time bumping on row hover by @matejminar in #119314
  • Show loading instead of stale rows on refetch by @priscilawebdev in #119298
  • Remove 800px cap from tool and thinking blocks by @ArthurKnaus in #119283
  • Don't auto-select a span in the timeline view by @ArthurKnaus in #119223
  • Fix contrast in the transcript loading skeleton by @ArthurKnaus in #119222
  • Align transcript turn metadata by @obostjancic in #119205
  • Keep tool calls tooltip open when hovering into the card by @priscilawebdev in #119213
  • Widen tool calls tooltip trigger area by @priscilawebdev in #119209
  • Show skeleton for span details to avoid layout shift by @priscilawebdev in #119200
  • Don't auto-select a span on the transcript view by @ArthurKnaus in #119206
  • Sort agent selector options alphabetically by @priscilawebdev in #119202
  • Fix size hierarchy in AI span detail card by @priscilawebdev in #119197
  • Redesign the timeline loading skeleton by @priscilawebdev in #119103
  • Reset agent selection when switching projects by @priscilawebdev in #119099
  • Keep repeated user messages in transcript by @obostjancic in #119041
  • Stop table rows growing in Safari on back-nav by @priscilawebdev in #119100
  • Show 0 B for tool size when output bytes are unavailable by @obostjancic in #119095
  • Make the agent selector wrap on narrow viewports by @priscilawebdev in #119096
  • Scroll the whole span detail card, not just the tab content by @priscilawebdev in #119089
  • Anchor summary heading tooltip to the title text by @priscilawebdev in #119091
  • Keep span detail on the right at narrower widths by @priscilawebdev in #119048
  • Show errors summary link in red to match table by @priscilawebdev in #119047
  • Remove native tooltips on tool-calls in table by @priscilawebdev in #119045
  • Increase span detail metadata font-size to 14px by @priscilawebdev in #119044
  • Preserve agent filter on saved query navigation by @constantinius in #119040
  • Fix AI span detail panel overflow on narrow screens by @priscilawebdev in #119035
  • Tag entry-point links for referrer attribution by @ale-cota in #118816
  • Preserve list filters when using detail breadcrumb by @obostjancic in #118631
  • Separate AI span timeline rows on hover by @priscilawebdev in #118893
  • Fix analytics event tracking by @obostjancic in #118629
  • Treat "None" user fields as missing by @priscilawebdev in #118549
  • Show single (no value) for redacted multi-part messages by @obostjancic in #118453

Dashboards

  • Unify timeseries loading and empty state by @nikkikapadia in #119335
  • Reset Heat Map aggregate to count on metric fallback by @gggritso in #119269
  • Fetch attributes while typing in categorical bar X-axis by @gggritso in #119084
  • Explain why Heat Map visualization is unavailable by @gggritso in #119264
  • Carry Heat Map visualize when saving from Explore by @gggritso in #119255
  • Show correct type badge for categorical bar X-axis attributes by @gggritso in #119071
  • Fetch attributes while typing in the widget builder field dropdown by @DominikB2014 in #118664
  • Align time series X axis ticks to user timezone by @gggritso in #109881
  • Stop chart drag-to-zoom selecting the wrong time range by @gggritso in #119013
  • Preserve spans table timestamp column in Explore by @mjq in #118949
  • Preserve page filters when opening an issue from a widget by @DominikB2014 in #118683
  • Consider error for trace.status errors by @mjq in #118497
  • Keep legend breakdown when group by changes by @gggritso in #118300
  • Keep saved column in widget builder dropdown when missing from attributes by @DominikB2014 in #118252

Deps

  • Bump js-beautify to 2.x for minimatch ReDoS (GHSA-3ppc-4f35-3m26) by @oioki in #118989
  • Bump @rsdoctor/rspack-plugin and dedupe ws to 8.21.0 (GHSA-96hv-2xvq-fx4p) by @oioki in #118996
  • Bump api-docs fast-uri to 3.1.3 for host confusion (GHSA-v39h-62p7-jpjc) by @oioki in #118999
  • Bump fast-uri to 3.1.3 for path traversal (GHSA-q3j6-qgpj-74h6) by @oioki in #118998
  • Bump api-docs picomatch to 2.3.2 for ReDoS (GHSA-c2c7-rcm5-vvqj) by @oioki in #118997
  • Raise api-docs form-data override floor to 4.0.6 (GHSA-hmw2-7cc7-3qxx) by @oioki in #118994
  • Bump defu to 6.1.7 for prototype pollution (GHSA-737v-mqg7-c878) by @oioki in #118993
  • Dedupe minimatch 3.1.2 to 3.1.5 for ReDoS (GHSA-7r86-cg39-jmmj) by @oioki in #118990
  • Bump @figma/code-connect to pull form-data 4.0.6 by @oioki in #118902
  • Bump idna to 3.18 for GHSA-65pc-fj4g-8rjx by @oioki in #118895
  • Bump cryptography to 49.0.0 for GHSA-537c-gmf6-5ccf by @oioki in #118868

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

  • Restore 100% project fallback in per-org pipeline by @shellmayr in #118639
  • Rename metric tags to avoid _id suffix stripping by @constantinius in #117783

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

  • Lock span id column in table editor by @nsdeschenes in #119727
  • Allow numeric attrs for drilldown by @narsaynorath in #119724
  • Preserve compact span count rendering by @nsdeschenes in #119548
  • Dedupe logs/traces history via a shared location provider by @JoshuaKGoldberg in #118952
  • Prettify validated aggregate labels by @nsdeschenes in #119540
  • Respect span field definitions in tables by @nsdeschenes in #119522
  • Stop Heat Map drag-to-zoom writing duplicate history entries by @gggritso in #119336
  • Guard against null series entries in ECharts by @sentry in #119131
  • Remove Seer project filter from search bar by @isaacwang-sentry in #118960
  • Validate spans group by selections by @nsdeschenes in #118452
  • Import sentry_sdk.ai submodule in conversation onboarding by @vgrozdanic in #119295
  • Report aggregate sort in Seer on-page context by @shruthilayaj in #119219
  • Reduce time window in trace item details by @k-fish in #118566
  • Render square Heat Map cells in unfurled charts by @gggritso in #119069
  • Allow agent filter in saved query serializer by @constantinius in #118982
  • Keep timestamp column when opening logs widget by @JoshuaKGoldberg in #118847
  • Allow max/min aggregations on timestamp column by @vgrozdanic in #118448
  • Cap heat map unfurl grid to a fixed-density size by @gggritso in #118598
  • Prevent grouping by the same attribute twice by @JoshuaKGoldberg in #118468
  • Wait for org range before spans filters by @nsdeschenes in #118346
  • Make missing description rendering consistent by @mjq in #118243
  • Clarify logs export modal email copy by @JoshuaKGoldberg in #118151
  • Include AI usage token fields in visualize options by @the21st in #117901
  • Include AI cost fields in visualize options by @nsdeschenes in #117817

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

  • Avoid derived-data processing on idempotency conflict by @thetruecpaul in #119579
  • Allow null values in SetEscalatingAction expired_snooze by @yuvmen in #119639

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

  • Remove misleading author from PR closed activity by @malwilley in #118762
  • Avoid leaking issue filters into trace links by @nsdeschenes in #118655
  • Provide GroupIdProvider for EventGraphWidget in releases drawer by @malwilley in #118197

Issue Progress

  • Keep progress column visible at smaller viewport widths by @malwilley in #119146
  • Include projects in progress fetch by @malwilley in #118804
  • Treat manual unresolve as a progress reset by @malwilley in #117828

Issues

  • Center runtime highlight text by @scttcper in #119692
  • Scope commit resolution to release projects by @scttcper in #119697
  • Show activity after workflow changes by @scttcper in #119432
  • Show deleted team names in activity by @scttcper in #119418
  • Align activity detail text with the title and timestamp by @scttcper in #118979
  • Restrict low-value span estimated cost to owners and managers by @ArthurKnaus in #119387
  • Hide trace section when trace_id is synthetic by @malwilley in #119241
  • Contain activity sidebar names by @scttcper in #119163
  • Show logs under hydration error and rage-click replays by @JoshuaKGoldberg in #118656
  • Re-parent children when filtering low-value spans by @ArthurKnaus in #118813
  • Polish new issue activity feed rows by @scttcper in #118890
  • Add activity actor tooltips by @scttcper in #118881
  • Make activity drawer easier to open by @scttcper in #118874
  • Use linked PR authors in sidebar by @scttcper in #118510
  • Truncate long release names by @scttcper in #118325
  • Stop pr grouplink removal from reopening issues by @scttcper in #118330
  • Tighten multi-select form state (jira) by @scttcper in #118209
  • Tweak linked pull request rows by @scttcper in #118043
  • Return all matched short ids instead of redirecting to one by @cvxluo in #118032
  • Hide linked issue title prefixes by @scttcper in #117891
  • Resolve PR activity users by external actor by @scttcper in #117829
  • Simplify linked issue rows by @scttcper in #117841
  • Use AI_DETECTED category for code health group type by @roggenkemper in #117845
  • Clean up tags drawer header by @scttcper in #117777
  • Move external issue tabs into modal header by @scttcper in #117706
  • Use short timestamps by @scttcper in #117592

Jira

  • Prevent algorithm-confusion attack by @ceorourke in #118694
  • Migrate issueActions.tsx to requestPromise by @sentry in #117726

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

  • Stop stuck zoom selection bands by @JoshuaKGoldberg in #118691
  • Use integer sentinel for empty environment filter by @phacops in #117888

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

  • Stabilize table column widths during scrolling by @JoshuaKGoldberg in #119305
  • Fetch pinned logs with a single events request by @JoshuaKGoldberg in #119268
  • Preserve pinned logs cache after unpinning by @JoshuaKGoldberg in #118454
  • Keep pinned-logs actions bar from scrolling off-screen by @JoshuaKGoldberg in #118456
  • Fall back to message value when a log has no template by @JoshuaKGoldberg in #118922
  • Remount chart on query change to stop stuck select bands by @JoshuaKGoldberg in #118688
  • Resolve release:latest and similar filters by @JoshuaKGoldberg in #118647
  • Load out-of-range pinned logs via a narrow time window by @JoshuaKGoldberg in #118489
  • Render pin actions row above column resize indicator by @JoshuaKGoldberg in #118460
  • Clear hover highlight when unpinning a log row by @JoshuaKGoldberg in #118242
  • Honor aggregate (HAVING) conditions in Explore Logs by @JoshuaKGoldberg in #117920
  • Nudge truncation constant up a power of 2 by @JoshuaKGoldberg in #118023
  • Don't specify numeric threshold for data export emails by @JoshuaKGoldberg in #117936
  • Keep pinned logs when the time range expires by @JoshuaKGoldberg in #117086

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

  • Add retry to the PR-close cooldown task by @giovanni-guidini in #119615
  • Keep activity open during emit cooldown by @joseph-sentry in #119497
  • Stub PullRequest on check-event race by @vaind in #118628
  • Match check PRs on their own repo, not the check's by @vaind in #118576
  • Stub missing PullRequest on comment/review race by @vaind in #118356

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

  • Preserve detected selection on back-to-recommended by @jaydgoss in #118506
  • Forward the SCM product selection to setup docs by @jaydgoss in #118390

Replay

  • Surface recording-segment fetch errors with a Retry button by @JoshuaKGoldberg in #118291
  • Stop network details content from clipping at the bottom by @DominikB2014 in #118094

Replays

  • Prevent memory leak in highlightNode when wrapper is undefined by @sentry in #119363
  • Make links in timeline breadcrumb tooltips clickable by @priscilawebdev in #119496
  • Handle sentry.cocoa.unreal in configure replay card by @billyvg in #119235
  • Fix web vital tooltip rendering in the replay timeline by @DominikB2014 in #119070
  • Restore gray border on timeline mouse-hover marker by @JoshuaKGoldberg in #118467
  • Resolve flaky useReplaysFromIssue test by @sentry in #118251
  • Stop refetching replay-count for viewers without access by @JoshuaKGoldberg in #118182

Scraps

  • Shadow not extending fully to the right by @priscilawebdev in #119400
  • Skip redundant form attribute on SubmitButton by @natemoo-re in #119135

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

  • Ignore prototype filter key matches by @scttcper in #119149
  • Support configured prototype filter keys by @scttcper in #119134
  • Support multi-value release.package filters by @scttcper in #118853
  • Remove 'Type to search suggestions' helper text by @JoshuaKGoldberg in #117955
  • Render escaped asterisks as escaped by @JoshuaKGoldberg in #118019
  • Prevent recent filter row panel spacing by @nsdeschenes in #117667

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

  • Escape syntax-like span attribute filters by @constantinius in #119210
  • Keep vital indicator line and label visible at timeline edges by @buenaflor in #118752
  • Use primary alias for description by @wmak in #119011
  • Expose slow/frozen frames rate vitals for EAP traces by @buenaflor in #118446
  • Open Span JSON link in a new tab by @cleptric in #118219
  • Expose V2 mobile app vitals for EAP traces by @nsdeschenes in #118238
  • Include new web vital attributes by @nsdeschenes in #117910

Trace Waterfall

  • Handle V2 mobile app vitals for EAP traces by @nsdeschenes in #118239
  • Use new web vitals by @nsdeschenes in #118035

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

  • Encode linked logs filter + row state in the URL by @JoshuaKGoldberg in #118831
  • Reserve min-width for interactive object Pretty/Raw control by @ArthurKnaus in #119097
  • Preserve autogroup segment bounds by @nsdeschenes in #118164

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

  • Point Flex column direction to Stack by @priscilawebdev in #119599
  • [StatusIndicator] add non-animated usage subsection by @JoshuaKGoldberg in #118599

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

  • Deduplicate pull request closed action by @malwilley in #119367
  • Add test helper to assert action log publishing by @kcons in #119271
  • 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

  • Register UX Rework Flag by @nsdeschenes in #119645
  • Add default to ask seer feature flag by @nsdeschenes in #118721

Autofix

  • One more quick ref before adding check suite handling by @joseph-sentry in #119520
  • Move pr iteration functionality around by @joseph-sentry in #119299
  • Remove checkWriteAccess from useAutofixSetup by @Zylphrex in #118667
  • Remove checkWriteAccess from useAutofixSetup by @Zylphrex in #118665
  • Add rendering for PR Iteration activities by @joseph-sentry in #118408

Billing

  • Bump sentry-protos to 0.43.3 by @armcknight in #119594
  • Bump sentry-protos to 0.43.0 by @skonves in #119358
  • Bump sentry-protos to 0.42.0 by @armcknight in #119178
  • Add quota_config_mapping for proto/sentry QuotaConfig conversion by @volokluev in #119133
  • Bump sentry-protos to 0.41.0 by @armcknight in #119143
  • Remove dead overage-warning banner code by @noahsmartin in #118977
  • Derive checkout categories on the frontend by @noahsmartin in #118785
  • Added snapshot tests for billing details widget(REVENG-245) by @krithikravi in #118260
  • Bumped sentry-protos version to 0.31.2 by @krithikravi in #117842

Billing Platform

  • Bump sentry-protos 0.44.2 by @brendanhsentry in #119730
  • Bump sentry-protos 0.44.1 by @brendanhsentry in #119644
  • Bump sentry-protos 0.37.1 by @brendanhsentry in #118773

Cells

  • Drop category filter from get_cells / get_cell_name by @lynnagara in #118070
  • Updates error-embed URL to point to control by default by @GabeVillalobos in #118056
  • Remove unused find_all_multitenant_cell_names function by @lynnagara in #117875
  • Deprecate cells category by @lynnagara in #117844
  • Remove category from CellConfig by @lynnagara in #117558

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.

Source: README.md, updated 2026-07-15