Sentry 26.8.0

26.8.0
Added 15
  • Support NOT IN for querying detectors
  • Insert every_event condition when editing alerts with no when conditions
  • Add every_event data condition for alert triggers
  • Add frontend changes for every_event data condition
  • Add cancel button to new alert page
  • Add button to leave alert edit window
Changed 5
  • Rename alert option for regression events
  • Add hover background to tool call rows
  • Restyle timeline row titles for readability
  • Render json code blocks as an interactive tree
  • Collapse only custom tags and show their raw label
New Features ✨
Aci
  • Support NOT IN for querying detectors by @RudraPatel2003 in #121786
  • Insert every_event condition when editing alerts with no "when" conditions by @RudraPatel2003 in #121463
  • Add every_event data condition for alert triggers by @RudraPatel2003 in #121100
  • Add frontend changes for "every_event" data condition by @RudraPatel2003 in #121099
  • Add cancel button to new alert page by @RudraPatel2003 in #121104
  • Rename alert option for regression events by @RudraPatel2003 in #120940
  • Add button to leave alert edit window by @RudraPatel2003 in #121010
Action Log
  • Add dedicated outbox table by @cvxluo in #121881
  • Tag action log publish metrics with whether we write to db by @kcons in #121327
Agent Monitoring
  • Add agent conversation API URLs by @vgrozdanic in #121516
  • Add hover background to tool call rows by @ArthurKnaus in #121445
  • Restyle timeline row titles for readability by @ArthurKnaus in #121451
  • Collapse tool column when a page has no tools by @ArthurKnaus in #121294
  • Detect and fence unescaped HTML and JSON in AI content by @ArthurKnaus in #121158
  • Render json code blocks as an interactive tree by @ArthurKnaus in #121152
  • Collapse only custom tags and show their raw label by @ArthurKnaus in #121150
  • Add size and time totals to collapsed tool calls by @ArthurKnaus in #120962
  • Add area chart type to conversations chart by @ArthurKnaus in #120956
  • Add collapse, alert, and dashboard actions to conversations chart by @ArthurKnaus in #120899
  • Display thinking in span details output tab by @ArthurKnaus in #120896
  • Add Cloudflare deployment target to agent onboarding by @ArthurKnaus in #120885
Ai Monitoring
  • Restore scroll state and scroll to selected span by @ArthurKnaus in #120892
  • Show conversation title on the details page by @ArthurKnaus in #120889
  • Return conversation title behind apiVersion=2 by @vgrozdanic in #120746
  • Gradual rollout for conversation title generation by @vgrozdanic in #120798
Api
  • Add response schema to events validate endpoint by @skaasten in #121357
  • Add response schema to organization traces endpoint by @skaasten in #121334
  • Add response schema to trace item attribute values endpoint by @skaasten in #121332
  • Add response schema to trace metrics endpoint by @skaasten in #121328
  • Add response schema to organization tag values endpoint by @skaasten in #121319
Assisted Query
  • Forward flag options from the search-agent start endpoint by @aliu39 in #121884
  • Forward feature flags to Seer as request options by @aliu39 in #121784
Attachments
  • Redirect Objectstore-backed attachment downloads to Objectstore by @jan-auer in #120958
  • Store the filename with Objectstore attachment uploads by @jan-auer in #120964
Auth
  • Add flag-gated email verification for SSO signups by @nora-shap in #121808
  • Report a trustworthy email_verified for GitHub SSO by @nora-shap in #121274
Autofix
  • Tell the agent to set the repo up before running checks by @chromy in #122093
  • Add flagged steering to Autofix to run checks by @chromy in #122033
  • Encourage autofix to use bash when available. by @chromy in #121717
  • Slow PR-watch polling in the autofix drawer by @joseph-sentry in #121655
  • Add section retry controls by @malwilley in #121267
  • Guard re-run against runs with a PR or coding agent by @NicoHinderling in #121133
  • Emit autofix fixability assessment by @Zylphrex in #120845
Conversations
  • Show embeddings in the conversation transcript by @ArthurKnaus in #121613
  • Expand user_message XML tags by default by @matejminar in #121701
  • Return gen_ai.embeddings.input for AI conversation spans by @ArthurKnaus in #121603
  • Track AI prompt copy with shared onboarding analytics by @sentry-junior in #120920
  • Add error fire icon to conversation summary by @ArthurKnaus in #120960
  • Add project badge tooltip and fix pagination spacing by @ArthurKnaus in #120797
  • Add redesigned conversations table behind flag by @ArthurKnaus in #120791
  • Return generation duration and primary project by @ArthurKnaus in #120790
Dashboards
  • Move header actions into breadcrumb menu by @priscilawebdev in #121282
  • Adjust dashboards columns by @adrianviquez in #120648
Data Browsing
  • Add optimistic sort to dashboard table by @adrianviquez in #120840
  • Adding backend id for deterministic sorting by @adrianviquez in #120812
Difs
  • Assemble exclusive Objectstore DIFs from blobs by @lcian in #121065
  • Add Objectstore-only DIF creation by @lcian in #120183
  • Compress Objectstore-backed Debug Files with zstd by @lcian in #121308
  • Add Objectstore migration tasks by @lcian in #120653
Dynamic Sampling
  • Add recalibration logic to the new per-org pipeline by @shellmayr in #115786
  • Add per-transaction volume debug logging by @shellmayr in #120795
Explore
  • Validate aggregate spans table sorts by @nsdeschenes in #121453
  • Support array membership filters via [*] operator by @manessaraj in #121721
  • Support array attributes in the spans search query builder by @manessaraj in #121614
  • Add numeric attribute tree filter actions for logs and metrics by @nsdeschenes in #121326
  • Support array attributes in trace item attributes endpoint by @manessaraj in #121184
  • Add explore-conditional-aggregates feature flag by @wmak in #120990
  • Serve custom attribute context from postgres by @DominikB2014 in #120994
Feedback
  • Replace trace timeline with trace preview by @scttcper in #121265
  • Make transparent variant the default by @priscilawebdev in #121277
Gal
  • Enroll eligible projects for backfill by @yuvmen in #121780
  • Add coordinator task for full backfill across all projects by @yuvmen in #119863
Gdd
  • When invalidating, ensure an invalidated GDD row exists by @kcons in #121398
  • Report incremental derived data processing latency by @kcons in #121030
Hybridcloud
  • Tag webhook delivery time with the mailbox event type by @vaind in #122026
  • Tag delivery outcomes and latency with their dispatcher and mode by @vaind in #121982
  • Attribute drain dispatches to push trigger vs scheduler by @vaind in #121882
  • Tag webhook delivery time by provider by @vaind in #121636
  • Tag webhook delivery metrics by provider by @vaind in #121609
  • Tag webhook backlog depth by event type by @vaind in #121601
  • Emit webhook mailbox depth and oldest-pending-age metrics by @vaind in #121506
Inbound Filters
  • Show per-filter stats in inbound-filters-v2 by @shellmayr in #121837
  • Make new inbound filter UX clearer by @shellmayr in #120180
  • Split up error type and error message into separate filter conditions by @shellmayr in #121285
  • Generate Relay rules from custom inbound filters by @shellmayr in #119816
Inbox
  • Add empty state by @scttcper in #122078
  • Add counts to assignment tabs by @malwilley in #122075
  • Add Seer empty states to assigned issue previews by @scttcper in #121903
  • Show secondary autofix actions by @malwilley in #121999
  • Adjust inbox preview PR section formatting by @malwilley in #121880
  • Show suggested assignees in list by @malwilley in #121729
  • Show pull request badges on issue cards by @roggenkemper in #121321
  • Add copy markdown button to autofix sections by @malwilley in #121394
  • Auto-select first issue by @roggenkemper in #121166
  • Add "Identified" and "Fix applied" sections to the inbox by @malwilley in #121188
  • Make pane divider resizable by @roggenkemper in #121192
  • Show last progress transition time by @malwilley in #121105
  • Sticky section headers by @malwilley in #121016
  • Summarize Autofix results in issue previews by @malwilley in #120869
Investigations
  • Add query-backed detail bootstrap by @arslnb in #122071
  • Add breached metric investigation APIs by @wedamija in #122073
  • Add block execution APIs by @arslnb in #121696
  • Add Explore list entrypoint by @arslnb in #122024
  • Add agent execution engine [9/1/13] by @arslnb in #121410
  • Add investigations to the deletions framework by @wedamija in #121553
  • Add execution persistence [8/13] by @arslnb in #121409
  • Add parameter APIs [7/13] by @arslnb in #121407
  • Add favorite and duplicate endpoints by @wedamija in #121683
  • Add block graph APIs [6/13] by @arslnb in #121406
  • Add collection APIs [5/13] by @arslnb in #121405
  • Add lifecycle services [4/13] by @arslnb in #121404
  • Add response serializers by @wedamija in #121576
  • Add the investigation template registry [3/13] by @arslnb in #121403
  • Add validators and contracts by @wedamija in #121573
  • Add block schema [2.5/14] by @arslnb in #121559
  • Register feature flag [2/13] by @arslnb in #121402
  • Add investigation schema [1/13] by @arslnb in #121401
Issue Inbox
  • Better CTAs for open and closed pull requests by @malwilley in #121974
  • Link issue title by @malwilley in #121871
  • Add new flags for two-step inbox rollout by @malwilley in #121812
  • Add coding agent handoff to issue preview by @malwilley in #121391
  • Improve the linked pull request component when there is more room by @malwilley in #121570
  • Add interaction analytics by @malwilley in #121538
Issue Progress
  • Merged PRs should transition issue to fix applied by @malwilley in #121078
  • Add backfill task for new PR lifecycle log types by @malwilley in #120750
Issues
  • Add consistency checks for derived issue data by @kcons in #121502
  • Use new mention composer in sidebar by @scttcper in #121988
  • Add mention input feature flag by @scttcper in #121979
  • New mention input, replace react-mentions by @scttcper in #121584
  • Expose activity sources (mcp) by @scttcper in #121814
  • Show delegated PR agent attribution by @scttcper in #121690
  • Expose delegated PR attribution agent by @scttcper in #121689
  • Collapse repetitive issue activity by @scttcper in #121488
  • Highlight comment count, add api call if needed by @scttcper in #121361
  • Register activity rollup flag by @scttcper in #121489
  • Add profiler.id FieldKey for continuous profile search by @markushi in #120811
  • Add option to filter for events with profiler.id context set by @markushi in #120808
  • Show linked issues in trace preview by @scttcper in #121213
  • Add copy to clipboard button for http requests by @RudraPatel2003 in #121227
  • Recommended event attempts to verify replay's existence by @adrianviquez in #120967
  • Render PR review status badge by @cvxluo in #121118
  • Render PR checks status badge by @cvxluo in #121107
  • Show Seer avatar for created pull requests by @scttcper in #121015
  • Fetch PR review status from the provider by @cvxluo in #121069
  • Fetch PR checks status from the provider by @cvxluo in #120903
  • Add metrics for missing replays by @adrianviquez in #120968
  • Adjusts replay error message in issue details page by @adrianviquez in #120916
  • Collapse Seer activity phases by @scttcper in #120860
  • Log external issues created by alert rules by @cvxluo in #120901
  • Split search.group_index referrer by UI vs API by @mrduncan in #120404
  • Mark the issue inbox nav entry as experimental by @cvxluo in #120788
  • Show PR iteration sources in issue activity by @scttcper in #120701
  • Attribute PR iterations from GitHub to users by @scttcper in #120699
  • Attribute PR iterations from web ui to users by @scttcper in #120698
  • Record PR iteration sources in issue activity by @scttcper in #120695
Onboarding
  • Store agentic setup progress by @evanpurkhiser in #121913
  • Model agentic setup progress by @evanpurkhiser in #121912
  • Expand manual setup overview by @evanpurkhiser in #121649
  • Add agentic setup interstitial to the welcome step by @evanpurkhiser in #121363
  • Report project creation failures identically across both flows by @jaydgoss in #121533
  • Track create attempts and failures on the legacy project flow by @jaydgoss in #121531
  • Revalidate restored SCM messaging destinations by @jaydgoss in #121187
  • Add SCM messaging treatment route by @jaydgoss in #120992
  • Add flag for the agentic setup interstitial by @evanpurkhiser in #121364
  • Register onboarding-scm-messaging-experiment flag by @jaydgoss in #120981
Pr Metrics
  • Resolve reported repos by external id by @vaind in #121709
  • Emit ordered per-head CI results on scm.pr.closed by @joseph-sentry in #121310
  • Add options for the PR lifecycle state backfill by @cvxluo in #121014
  • Dedupe scm.pr.closed across a shared multi-org repo by @vaind in #120562
Preprod
  • Include manifest in snapshot archives by @jamieQ in #121735
  • Log snapshot manifest payload size by @jamieQ in #121684
  • Block size analysis uploads for single-tenant by @NicoHinderling in #121340
  • Show image hash in snapshot metadata tooltip by @NicoHinderling in #121191
  • Add install groups to EAP items by @jamieQ in #121019
  • Show install groups in distribution table by @jamieQ in #121054
  • Add install group search to mobile builds by @jamieQ in #120765
  • Add install group artifact search by @jamieQ in #120764
Replays
  • Add a script to expire Replay deletion jobs by @gggritso in #121669
  • Let the deletion script select which steps it runs by @gggritso in #121501
  • Add metrics tracking for bulk delete job by @jameskeane in #121232
Scraps
  • Add a shared Table shell with a ColumnResizer by @JoshuaKGoldberg in #121178
  • Add Chip component by @natemoo-re in #121345
  • Responsive dimensions for image component by @TkDodo in #121708
  • Add empty state component by @natemoo-re in #119277
Search
  • Show Seer query status icon by @nsdeschenes in #120973
  • Middle-ellipsis filter values in the query builder by @wmak in #120849
  • Add Ask Seer error retry actions by @nsdeschenes in #120198
  • Move Ask Seer feedback into results footer by @nsdeschenes in #120360
Seer
  • Make Autofix overview enrichment opt-in via expand by @NicoHinderling in #122105
  • Allow free Autofix project settings access by @trevor-e in #122081
  • Expose free Autofix access by @trevor-e in #122077
  • Link Seer settings in automated-run PR descriptions by @trevor-e in #122045
  • Build every Code Mode link from one rule table by @azulus in #121898
  • Tool formatters for bash mode tools by @Zylphrex in #121855
  • Bypass quota and repo checks in /autofix/setup/ for free cohort orgs by @Mihir-Mavalankar in #121848
  • Accept page location and timezone-aware send times by @azulus in #121757
  • Enrich Autofix overview pull requests with SCM status by @NicoHinderling in #121748
  • Add Autofix overview endpoint by @NicoHinderling in #121747
  • Fall back to ProjectRepository for free cohort repo defin… by @Mihir-Mavalankar in #121675
  • Add free cohort eligibility path for night shift and autofix by @Mihir-Mavalankar in #121657
  • Persist code change diffs in milestone extras by @NicoHinderling in #121627
  • Score non-top predictions properly, score team/shared-team differently by @hobzcalvin in #121393
  • Enable Code Mode as the only tool surface for flagged orgs by @azulus in #121585
  • Name the reason an agent token is rejected by @azulus in #121583
  • Add ThinkingBlock with outline Disclosure by @natemoo-re in #121329
  • Add in-chat write approval UI by @gricha in #121459
  • Persist artifact data on run milestones by @NicoHinderling in #121362
  • Track when all run pull requests are merged by @NicoHinderling in #121136
  • Record run milestones from Seer run state by @NicoHinderling in #121111
  • Route root-cause autofix through the RCA feature by @rbro112 in #120100
  • Add autofix RCA feature by @rbro112 in #120099
  • Record ground truth from any triggering activity, not just ASSIGNED by @hobzcalvin in #121375
  • Register seer-agent-autofix flag for the autofix embed by @ryan953 in #120354
  • Read Explorer todos and artifacts from tool results too by @azulus in #121248
  • Render chart markdown embeds by @gricha in #120969
  • Route reviewer-less Seer PRs via fallback candidate sources by @vaind in #120202
  • Add feature flag for pr content verification by @Zylphrex in #121169
  • Return custom attribute context from get_attribute_names by @DominikB2014 in #121001
  • Add principal-aware agent token minting by @gricha in #121040
  • Add SeerRunMilestone table by @NicoHinderling in #121093
  • Carry structuredContent on the ToolResult client model by @azulus in #120569
  • Render tool links from the structuredContent links bus by @azulus in #120570
  • Add issue embed by @natemoo-re in #120260
  • Add user embed widget by @natemoo-re in #120830
  • Add dsn embed widget by @natemoo-re in #120829
  • Run-anchored notify_seer_pr_created RPC for PR attribution (CW-1719) by @vaind in #120583
Seer Billing
  • Remove OrganizationContributors integration id column by @srest2021 in #121011
  • Mark OrganizationContributors integration id as pending deletion by @srest2021 in #120980
Seerexplorer
  • Deep-link telemetry_live_search call rows by @sentry-junior in #122017
  • Surface residual Explore links and span deep-links by @sentry-junior in #121997
  • Report page location and timezone-aware send times by @azulus in #121758
Slack
  • Add logging for Slack webhook retries and slow responses by @alexsohn1126 in #120929
  • Add metric for Slack webhook response time by @alexsohn1126 in #120819
Smart Assignment
  • Simple solution to GA Smart Assignment for all Seer customers by @hobzcalvin in #122013
  • Increase daily caps, sample non-Seer triggers at 10% by @hobzcalvin in #121680
Workflow Engine
  • Hook into organization creation signals by @leeandher in #121471
  • Allow for creating all-project workflows by @leeandher in #120938
  • Allow the all projects detector to be returned/added via API by @leeandher in #120927
  • Extend issue stream detector to support all projects by @leeandher in #120908
Other
  • (admin) Improve admin search dropdowns by @scttcper in #121498
  • (auto_ongoing_issue) Smooth issue transition load by @kcons in #121691
  • (billing) Wire trace-metric retention to the byte category by @dashed in #120542
  • (billing-platform) Query usage by projects by @brendanhsentry in #121859
  • (coding-agents) Record the PR number on coding-agent results by @cvxluo in #120909
  • (derived data) Add README/AGENTS docs by @kcons in #122015
  • (discover) Put migration warning for discover split by @nikkikapadia in #121353
  • (events) Soft block external legacy events API usage by @mjq in #120854
  • (icon) Add IconCopyId and use it for ID copy buttons by @natemoo-re in #120907
  • (issue-details) Surface Seer assignee suggestions by @hobzcalvin in #121251
  • (issue-preview) Show root cause evidence by @roggenkemper in #121250
  • (issue-workflow) Register Seer action log rollout by @cvxluo in #121546
  • (link) Add tracking props to links by @TkDodo in #120307
  • (metrics) Add support in the data export processor by @JoshuaKGoldberg in #121566
  • (nav) Command Palette and Agent Sidebar trigger are competing for attention by @priscilawebdev in #121044
  • (post-process) Generic killswitch for pipeline steps by @untitaker in #121428
  • (pr-iteration) Resolve all review comment threads after iteration by @alexsohn1126 in #120589
  • (projects) Migrate filter debouncing to Pacer by @scttcper in #121800
  • (reports) Add PR links to past resolved issues by @shashjar in #121667
  • (sdk) Enable 'drop-error-if-contains-third-party-frames' by @JoshuaKGoldberg in #121966
  • (seer-infra-telemetry) Implement per-customer SA generation & deletion for GCP integrations by @shashjar in #120266
  • (sentry-apps) Collapse the permissions panel in creation templates by @cvxluo in #121640
  • (snuba) Complete and remove option rollout for response compress… by @tryangul in #120711
  • (stories) Add resizable demo with breakpoint ruler by @natemoo-re in #120568
  • (taskworkers) Add batch prevalidation to CursoredScheduler by @shellmayr in #121515
  • (trace) Include event data in trace item details API by @mjq in #121461
  • (traces) Show errors inline in Logs tab by @JoshuaKGoldberg in #118867
  • (ui) Upgrade TanStack Pacer devtools, recent search saving by @scttcper in #121325
  • (variables) Merge symbolicated frame variables into the event by @Dav1dde in #121457
  • Register agentic-triage-free-cohort-killswitch FlagPole flag by @Mihir-Mavalankar in #121630
  • Add leading icon to TextCopyInput by @evanpurkhiser in #121560
  • Pass variable extraction flag to Symbolicator by @szokeasaurusrex in #120882
  • Register variable extraction feature flag by @szokeasaurusrex in #120881
  • Refresh tracing empty state to include AI setup and updated copy by @bcoe in #120826
Bug Fixes 🐛
Admin
  • Hide enterprise trial for non-free plans by @ndmanvar in #121783
  • Change help text to specify that it will enable business and not impa… by @ndmanvar in #121662
Agent Monitoring
  • Reserve tool tag height in conversation header by @ArthurKnaus in #121293
  • Keep tool-error select outline purple in transcript by @ArthurKnaus in #120959
  • Show only model in agent span timeline secondary by @ArthurKnaus in #120894
Alerts
  • Send release environment name, not id, and update API docs by @hobzcalvin in #122074
  • Serialize targetless workflow actions by @cvxluo in #121986
  • Don't use legacy Rule name in issue alert notifs by @leeandher in #121960
  • Format failure rate notifications by @sentry-junior in #119878
Autofix
  • Limit PR iteration to GitHub, excluding GitHub Enterprise by @joseph-sentry in #121870
  • Attribute PR commits to the acting user by @alexsohn1126 in #121360
  • Align automatic run access gates by @trevor-e in #120610
  • Prevent duplicate auto-triggered runs by @scttcper in #120993
Charts
  • Rename LineSeries factory to lowercase for React Compiler by @sentry in #121927
  • Stabilize ChartComponent reference in EventsChart by @sentry in #120037
  • Prevent chart zoom handler invoked on propagated synced zoom actions by @edwardgou-sentry in #121723
Coding Conventions
  • Address no-capitalized-function-calls in viewHierarchy utils by @sentry in #121921
  • Rename capitalized 'Legend' function to 'legend' by @sentry in #121928
  • Rename Tree.FromAssertion to Tree.fromAssertion by @sentry in #121920
  • Rename ToolBox to getToolBox in charts components by @sentry in #121926
  • Refactor InlineEventAttachment for React Compiler by @sentry in #120032
  • Resolve static-component-definitions in SentryApplicationDetails by @sentry in #121127
  • Wrap open/closeDropdown with useCallback by @sentry in #121125
  • Resolve valid-use-memo in searchBar.tsx by @sentry in #121090
Conversations
  • Ensure that conversation timeline nesting/ordering agrees with trace view by @shellmayr in #121829
  • Interleave transcript thinking and tool calls by @ArthurKnaus in #121712
  • Open conversation in new tab on cmd/ctrl+click by @ArthurKnaus in #121487
  • Keep user icon from shrinking by @ArthurKnaus in #120809
  • AI chat table is cut off and not scrollable by @priscilawebdev in #120732
Dashboards
  • Fix layout issues in dashboard page for mobile screen sizes by @edwardgou-sentry in #121883
  • Guard time series tooltip against stale replayed params by @JoshuaKGoldberg in #121782
  • Guard against undefined seriesNameString in widget legend decoding by @sentry in #121123
  • Heat maps in widget builder causing maximum depth error by @nikkikapadia in #120937
  • Reject saving non-text widgets with no dataset by @gggritso in #121776
  • Memoize unstable references to heat map data in widgets by @edwardgou-sentry in #121753
  • Omit parens from Open in Issues query for filtered widgets by @edwardgou-sentry in #121635
  • Refresh sidebar title after rename by @priscilawebdev in #121610
  • Use default query client instead of context api for events query by @nikkikapadia in #121558
  • Handle discover split datasets with null widget type by @nikkikapadia in #121548
  • Adhere to pure-render-functions in useTimeRangeWarning by @sentry in #121241
  • Keep custom date ranges beyond 90 days by @DominikB2014 in #120974
  • Guard against null environment in saved page filters by @TkDodo in #121066
  • Improve Y-axis when fitting Y-axis range to data by @gggritso in #120936
  • Disambiguate Dashboard widget error and loading states by @gggritso in #120855
Derived Data
  • More frequent periodic healing by @kcons in #122009
  • Modernize the behavior of invalidate_group_derived_data by @kcons in #121205
Discover
  • Stop fetching custom measurements metadata by @phacops in #122021
  • Put in discover dataset for null widget types during split by @nikkikapadia in #121468
  • Prevent TypeError when decoding null fields from URL by @sentry in #121035
Dynamic Sampling
  • Recalibrate per-org from span outcomes & EAP by @shellmayr in #121518
  • Add expire to per-org tasks by @shellmayr in #121437
  • Count the transactions of every root project by @shellmayr in #120957
Eap
  • Keep EAP queries inside the full-fidelity retention window by @phacops in #120872
  • Stop has:trace erroring on UUID-backed attributes by @JoshuaKGoldberg in #120856
Explore
  • Wrap highlighted JSON attributes by @nsdeschenes in #122079
  • Adhere to pure-render-functions in useLogsAutoRefreshInterval by @sentry in #121236
  • Skip empty group by sample filters by @nsdeschenes in #121755
  • Validate log group by selections by @nsdeschenes in #121522
  • Validate metric group by selections by @nsdeschenes in #121466
  • Drop pending last_received columns from attribute tables by @NicoHinderling in #121209
  • Adhere to pure-render-functions in useReleaseBubbles by @sentry in #121243
  • Adhere to pure-render-functions convention in useLogsQuery by @sentry in #121233
  • Segment.name or segment_name by @k-fish in #121210
  • Block transactions from Explore > Errors by @mjq in #120922
  • Gate alert creation dropdown option behind metric alerts access by @JoshuaKGoldberg in #120450
  • Show user log attributes that collide with reserved names in Edit Table by @JoshuaKGoldberg in #120374
  • Expose user log attributes that collide with reserved aliases by @JoshuaKGoldberg in #120373
Forms
  • Normalize API error objects to strings in model.tsx by @sentry in #119985
  • Make :project specific fields searchable by @TkDodo in #121048
  • Wrap AutoFixAgent in formSearch by @TkDodo in #121047
  • Show schema-only field errors on submit by @priscilawebdev in #120875
Frontend
  • Allow project creation without team-roles by @sentry-junior in #121797
  • Correct useMemo dependencies in CategoricalSeriesWidget by @sentry in #121092
Gal
  • Enroll projects using write feature by @yuvmen in #122003
  • Attribute PR lifecycle activities on GHE by @cvxluo in #121734
Gdd
  • Require that aggregator scope is a superset of their feature dependencies by @kcons in #121499
  • More efficient heal_stale_derived_data by @kcons in #121346
  • Use generate_project_derived_data in backfill by @kcons in #121392
Hybridcloud
  • Size the lease drain lock against a single delivery by @vaind in #121843
  • Dispatch push-triggered drains via batch claims by @vaind in #121221
  • Stop counting rejected webhooks as successful deliveries by @vaind in #121606
  • Skip the backlog estimate gauge instead of emitting zero by @vaind in #121521
Inbox
  • Improved autofix in-progress busy states by @malwilley in #122100
  • Expand populated sections by default by @scttcper in #122097
  • Show group owners in issue preview assignee selector by @malwilley in #121738
  • Cancel pending preview prefetches by @scttcper in #121792
  • Scope issue queries to "my projects" instead of "all projects" by @malwilley in #121741
  • Make open issue details button more visible by @malwilley in #121730
  • Hide view without Autofix access by @roggenkemper in #121230
  • Add spacing before autofix summaries by @roggenkemper in #121526
  • Keep load more below sticky headers by @roggenkemper in #121370
  • Exclude unsupported issue types by @roggenkemper in #121231
  • Rename create PR action by @roggenkemper in #121322
  • Remove progress badge from issue preview by @roggenkemper in #121317
  • Expand the topmost autofix summary section by default by @malwilley in #121004
Insights
  • Make web vitals drawer body the scroll container by @sentry-junior in #121852
  • Fix valid-use-memo in TransactionNameSearchBar by @sentry in #121218
Integrations
  • Improve configuration navigation by @priscilawebdev in #121706
  • Fetch paginated user mappings by @lcian in #121225
Issue Details
  • Handle null evaluated value in metric detector section by @JoshuaKGoldberg in #122068
  • Only show pull request tooltip in compact view by @malwilley in #121975
  • Remove linked pull request checks and review status by @malwilley in #121484
Issue Detection
  • Handle NoneType request in query injection detector by @sentry in #121512
  • Handle NoneType for event.request in SQLInjectionDetector by @sentry in #121323
Issue Preview
  • Remove gaps between file diffs by @roggenkemper in #121167
  • Collapse file diffs by default by @roggenkemper in #121168
Issue Stream
  • Remove progress sort option by @malwilley in #121686
  • Wait to hide actions until the the screen is as the small breakpoint by @malwilley in #120988
Issues
  • Preserve Seer setup analytics keys by @scttcper in #122065
  • Keep mention navigation inside dropdown by @scttcper in #122002
  • Silence warning from analytics effect by @scttcper in #121864
  • Show Sentry Apps as activity sources by @scttcper in #121809
  • Cancel pending stream prefetches by @scttcper in #121798
  • Display user avatars in assignment activity by @scttcper in #121685
  • Hide legacy Autofix issue view by @malwilley in #121658
  • Derive activity timeline connectors from layout by @scttcper in #121578
  • Standardize vertical alignment of the "Jump to:" label by @JoshuaKGoldberg in #121532
  • Handle has:trace on error events by @scttcper in #121271
  • Include suggested issues in inbox by @malwilley in #121480
  • Remove alerts secondary nav item by @malwilley in #121474
  • Paginate project derived data generation by @cvxluo in #121269
  • Attribute ingest-side regressions in the group action log by @cvxluo in #121355
  • Attribute attachment deletions in the group action log by @cvxluo in #121272
  • Hide Diagnosed inbox section without Seer by @roggenkemper in #121077
  • Scope trace-connected related issues to accessible projects by @cvxluo in #121129
  • Remove hidden custom event tab by @scttcper in #121097
  • Normalize the PR label in the issue stream by @cvxluo in #120917
  • Require authenticated user for group search view visit by @sentry-junior in #120982
  • Show linked PRs without a current event by @scttcper in #121012
  • Close assignee menu before invite modal by @scttcper in #121006
  • Query errors dataset for timeline by @mjq in #120933
  • Deduplicate derived data issue details by @scttcper in #120866
  • Deduplicate group type visibility checks by @scttcper in #120691
  • Refresh activity after triggering Autofix by @scttcper in #120838
  • Stop inventing a date range in the issue count endpoint by @cvxluo in #120827
  • Use since first seen for more issue types by @scttcper in #120821
  • Use provider from PR state by @scttcper in #120787
Jira
  • Add pagination to Jira project status getting by @Christinarlong in #121743
  • Catch apierror and display the project mappings anyway by @Christinarlong in #121478
Migrations
  • Fix broken migration dependency by @wedamija in #121369
  • Remove orphaned pre-squash migration files by @NicoHinderling in #121207
  • Ignore SET COMPRESSION in schema drift compare by @NicoHinderling in #121206
Monitors
  • Render the timeline cursor label above list rows by @JoshuaKGoldberg in #121989
  • Fix layout issues in monitor details page by no longer styling Layout.Body by @malwilley in #121130
Notifications
  • Guard against missing removeEventListener on PermissionStatus by @sentry in #121513
  • Add partial index for notificationmessage where parent IS NULL by @hobzcalvin in #121815
  • Use per-project emails on workflow notifications by @leeandher in #121349
  • Build valid release email URLs by @sentry-junior in #121114
Objectstore
  • Close the upstream response when a proxied download is abandoned by @jan-auer in #121714
  • Correct upload and response timeout handling by @lcian in #121149
Onboarding
  • Clip the SCM product section reveal by @jaydgoss in #121497
  • Clip the SCM reveal during its exit tween by @jaydgoss in #121495
  • Refresh SCM data on return by @jaydgoss in #121902
  • Link SCM providers to repository settings by @jaydgoss in #121901
  • Clarify team access to project alerts by @jaydgoss in #121739
  • Improve SCM selector search and keyboard navigation by @betegon in #121605
  • Equalize welcome product copy heights by @evanpurkhiser in #121535
  • Fire the welcome analytics event once per visit by @jaydgoss in #121197
  • Address pure-render-functions violation in onboarding.tsx by @sentry in #121234
Ourlogs
  • Resolve received time in the timestamp hover tooltip by @JoshuaKGoldberg in #121477
  • Properly normalize date selection on log trace links by @JoshuaKGoldberg in #120857
  • Cancel the log row hover prefetch on unmount by @JoshuaKGoldberg in #120842
  • Hide timestamp.sequence field by @JoshuaKGoldberg in #120452
  • Use the right range operator when paginating ascending logs by @JoshuaKGoldberg in #120771
  • Measure expanded row heights more often in the virtual table by @JoshuaKGoldberg in #120345
Performance
  • Adhere to pure-render-functions convention in traceWaterfallState.tsx by @sentry in #121239
  • Resolve static-component-definitions in performanceWidget by @sentry in #120030
  • Fix valid-use-memo in SearchBar by @sentry in #121216
  • Remove unused EventView prop by @scttcper in #120717
Pr Metrics
  • Group check rollups per suite, not per app by @vaind in #121664
  • Sweep activity of PRs that never earn attribution by @vaind in #121424
Preprod
  • Try to reduce likelihood of some task race conditions by @jamieQ in #122001
  • Accept CFBundleVersion groups beyond the third by @trevor-e in #121968
  • Limit artifact install groups by @jamieQ in #121020
Pure Render Functions
  • Correct useReleaseBubbles.tsx ref usage by @sentry in #121897
  • Memoize retentionPeriodMs in EventComparison by @sentry in #121235
Refactor Tasks
  • Add -w to pnpm add in no-derived-state detector by @ryan953 in #121892
  • Stop routing eslint-json-runner through npx by @ryan953 in #121824
  • Fail loudly when the eslint detector cannot run by @ryan953 in #121760
Releases
  • Attribute release-resolved issues in the group action log by @cvxluo in #121356
  • Stop using discover dataset for release comparison by @mjq in #120975
Replays
  • Handle sentry.java.android.unreal in configureReplayCard by @sentry in #120704
  • Adhere to pure-render-functions in ReplayLiveIndicator by @sentry in #121245
  • Don't discard a whole segment over one malformed click by @JoshuaKGoldberg in #121765
  • Further stop trusting the SDK type for click frame nodes by @JoshuaKGoldberg in #121766
  • Issue Replay archive events in the the time range of the original Replay by @gggritso in #121644
  • Unsquish the text unmasking banner in the player by @JoshuaKGoldberg in #121638
  • Remove gcTime: infinite for replay dom caching by @scttcper in #121529
  • See All Replays button shouldn't replace by @mjq in #119840
  • Improve error handling inside bulk Replay deletion by @gggritso in #121397
  • Remove unnecessary margins in table header cells by @JoshuaKGoldberg in #121315
  • Speed up Replay bulk delete code by paginating on sorting key by @gggritso in #121336
  • Adhere to pure-render-functions in NoReplaySummary by @sentry in #121242
  • Strip dashes from replay_id in bulk delete blob keys by @strongs in #121113
  • Register delete_recording_async under the old replays namespace too by @strongs in #121132
  • Route delete-script task to long pool and lighten its per-task cost by @strongs in #121121
  • Make delete_replays script mirror the bulk delete path so its Snuba finder stops timing out by @strongs in #121086
  • Restore to-be-deleted count in delete_replays logs by @strongs in #121071
  • Use keyset pagination in delete_replays finder so it stops timing out Snuba by @strongs in #121027
  • Handle click nodes without attributes by @scttcper in #120949
  • Handle missing data fields in AI summary by @sentry in #120859
  • Chunk bulk replay delete queries into 7-day windows by @sentry in #120456
  • Stop bulk delete progress stalling and rewinding by @JoshuaKGoldberg in #120772
  • Stop polling bulk delete jobs that are not running by @JoshuaKGoldberg in #120773
  • Source member access from the org members endpoint by @JoshuaKGoldberg in #120770
Scraps
  • EmptyState responsiveness by @TkDodo in #121707
  • Wire MDX code copy buttons by @priscilawebdev in #121289
  • Stop tooltip content clicks from triggering ancestors by @TkDodo in #121155
  • Stop FeatureBadge tooltip flicker on hover by @TkDodo in #121151
  • Make FeatureBadge tooltip show up on keyboard navigation by @TkDodo in #120731
Search
  • Keep Ask Seer cross-event filters on a new line by @nsdeschenes in #121432
  • Require two words before defaulting to Ask Seer by @nsdeschenes in #120972
  • Prevent Ask Seer footer from clipping Give Feedback by @nsdeschenes in #121301
  • Add mean severity aggregation option by @roggenkemper in #121256
  • Preserve colons in custom attribute filters by @nsdeschenes in #120895
  • Preserve Ask Seer combobox sizing by @nsdeschenes in #120886
  • Wrap long Ask Seer query tokens by @nsdeschenes in #120211
Seer
  • Stamp the real referrer on feature-run SeerRun rows by @trevor-e in #122049
  • Return seerReposLinked=True for free cohort orgs by @Mihir-Mavalankar in #121973
  • Only show autofix UI for free cohort issues with existing runs by @Mihir-Mavalankar in #121899
  • Accept PR reviews from bot authors by @alexsohn1126 in #121845
  • Record autofix trigger before RCA start by @scttcper in #121759
  • Default the Code Mode override to only by @azulus in #121591
  • Record activities before async updates by @scttcper in #121117
  • Add disabled post-process rollout gate by @trevor-e in #121481
  • Deduplicate night shift cron runs by @trevor-e in #120609
  • Don't run/score Smart Assignment against automatic assignments by @hobzcalvin in #121368
  • Add activity recording compatibility by @scttcper in #121116
  • Label every Explorer tool link instead of its raw name by @azulus in #121247
  • Avoid mutating repository settings by @scttcper in #120719
  • Serialize Sentry user @mentions in Seer tools by @hobzcalvin in #120950
  • Resolve default branch before Cursor agent launch by @sehr-m in #121254
  • Restrict explorer updates to run owners by @trevor-e in #121095
  • Restrict chat continuations to run owners by @trevor-e in #121083
  • Preserve activity event timestamps by @scttcper in #120983
  • Prevent assistant content overlap by @natemoo-re in #120943
  • Don't treat resolution by bots as a ground truth to score Smart Assignment by @hobzcalvin in #120904
  • Prefer lower-ranked assignment candidates that actually resolve by @hobzcalvin in #120785
Sentry Apps
  • Validate empty app creation requests by @cvxluo in #122051
  • Make routine templates alertable by @cvxluo in #120942
Settings
  • Keep spam detection toggle enabled after save by @scttcper in #121887
  • Debounce team search requests by @scttcper in #121817
  • Close member dropdown before invite modal by @scttcper in #121005
Slack
  • Deduplicate Seer Agent webhook retries by event_id by @joseph-sentry in #120934
  • Scope get_rule to the integration's organization by @frifri in #121023
Spans Migration
  • Review frontend flags for transaction dataset deprecation by @nikkikapadia in #121961
  • Account for null widget type transaction widgets by @nikkikapadia in #121654
Tests
  • Keep EAP snuba tests within 30d full-fidelity window by @phacops in #121693
  • Keep EAP snuba tests within 30d statsPeriod by @sentry-junior in #121595
  • Fix inbox test flaking in CI by @malwilley in #121565
Trace
  • Show all contexts in span details pane by @mjq in #121652
  • Prefer transaction data EAP instead of nodestore by @mjq in #121557
  • Stringify EAP breadcrumb timestamps by @mjq in #121524
  • Buffer compressed gaps around errors by @nsdeschenes in #121442
  • Use safe localStorage wrapper in trace preferences by @sentry in #121042
  • Load projects for telemetry-only traces by @nsdeschenes in #120335
  • Stabilize asynchronous overview loading by @nsdeschenes in #120334
  • Resolve trace overview data independently by @nsdeschenes in #120333
  • Stabilize trace shell during initial loading by @nsdeschenes in #120331
Trace View
  • Build the loading placeholder out of spans by @gggritso in #121801
  • Resolve EAP attribute keys in trace header highlights by @buenaflor in #118918
Tracemetrics
  • Apply min-width to aggregate table columns by @narsaynorath in #121519
  • Map sentry.segment.name to transaction by @narsaynorath in #121335
  • Restore cell actions to aggregates table by @narsaynorath in #120837
Ui
  • Scope Issues and Explore links to organization by @scttcper in #122062
  • Keep dropdowns below sticky navigation by @priscilawebdev in #121599
  • Use kB instead of KB for byte formatting by @obostjancic in #118906
  • Stop the explore catch-all from renaming every transaction by @scttcper in #120769
  • Avoid mutating AvatarList tooltip props by @scttcper in #120722
  • Silence service worker errors by @scttcper in #120778
Other
  • (accountSecurity) Adhere to valid-use-memo convention by @sentry in #121217
  • (aci) Allow adding triggers to an alert with triggers: null by @RudraPatel2003 in #121622
  • (action_log) Codify that pipeline_hash=NULL means invalidated by @kcons in #121273
  • (ai-monitoring) Stop title generation from joining AI conversations by @vgrozdanic in #120793
  • (api) Return X-Max-Hits header from OffsetPaginator by @malwilley in #122044
  • (arithmetic-builder) Align function tokens vertically by @nsdeschenes in #121705
  • (ask-seer) Use grammar-neutral Ask Seer fallback labels by @nsdeschenes in #121441
  • (auth) Validate org and provider in pipeline state by @michelletran-sentry in #121528
  • (auto_ongoing) Don't tag metric with count by @kcons in #121687
  • (billing) Clarify promo code redemption layout by @sentry-junior in #119526
  • (button) Keep the chonky silhouette visible under the focus ring by @cvxluo in #120219
  • (ci) Add timeouts to snuba test endpoint requests by @mchen-sentry in #121579
  • (clipboard) Prevent unhandled promise rejection from NotAllowedError by @sentry in #121032
  • (cmdk) Do not create a queryObserver for disabled resources by @TkDodo in #120963
  • (code-mappings) Decode path mapping url before validation by @Lms24 in #121593
  • (codeowners) Ignore stale organization_integration_id input by @scttcper in #120977
  • (contexts) Show <redacted> instead of "null" for scrubbed user context fields by @shashjar in #120930
  • (conventions) Update sentry-conventions package to 0.19.0 by @mjq in #121641
  • (crons) Generate unique slugs for duplicate monitor names by @mrduncan in #121456
  • (deps) Bump seroval to patch critical deserialization vuln by @oioki in #121304
  • (drawers) Move scrollbars to the right by @sentry-junior in #121860
  • (eapMetricsField) Correct valid-use-memo for debounced setSearch by @sentry in #121215
  • (errors) Transactions homepage showed broken state by @nikkikapadia in #121228
  • (events-screenshot) Stabilize AttachmentComponent reference by @sentry in #120036
  • (eventstream) Safely roll out FutureTrackingProducer by @lvthanh03 in #121671
  • (feedback) Avoid mutating event context data by @scttcper in #120716
  • (filters) Use renamed markLine export in custom filters by @sentry-junior in #121967
  • (group_notes) Use the activity flag rather than the write flag by @kcons in #121202
  • (grouping) Bound lookaheads in parameterization regexes by @oioki in #121470
  • (inbound_email) Provide ActionContext for issue notes by @sentry in #120880
  • (inbound-filters) Customer filter table columns by @shellmayr in #121711
  • (issue) Fix bulk lookup for group events by @saponifi3d in #120834
  • (issue detection) Handle URL placeholders more gracefully by @lobsterkatie in #121875
  • (issue-inbox) Show Identified issues when suggested as owner by @sentry in #121561
  • (issue-progress) Heal null has_other_open_prs in PR lifecycle backfill by @malwilley in #120947
  • (issue-views) Give Stars column enough width for its header by @sentry-junior in #121750
  • (java) Deobfuscate bare class names in cast exception messages by @tedjuntunen-sentry in #121781
  • (jira-server) Scope webhook integration lookup to the provider by @vaind in #121280
  • (keyStats) Adhere to pure-render-functions convention by @sentry in #121237
  • (lint) Wrap useMemo function reference in detectSection.tsx by @sentry in #121212
  • (metrics) Switch project details off of metricsEnhanced by @k-fish in #120777
  • (metricsVisualize) Refactor useCallback to useMemo for debounced function by @sentry in #121124
  • (navBillingStatus) Prevent TypeError when localStorage is null by @sentry in #121704
  • (ongoing) Remove redundant subqueries by @kcons in #121660
  • (orgs) Allow members to create projects by default by @sentry-junior in #121727
  • (outcomes) Add quantity to outcomes metric by @untitaker in #121288
  • (perforce) Add support for p4 broker by @mujacica in #120824
  • (profiling) Cap span query limit to API max of 100 by @romtsn in #119924
  • (query agent) Expand always allow list to include context fields by @shruthilayaj in #121977
  • (react-compiler) Rename TraceTree.Depth to TraceTree.depth by @sentry in #121925
  • (react-hooks) Fix impure Date.now() call in useCommandPaletteAnalytics by @sentry in #121244
  • (release) Use spans dataset for transaction table by @mjq in #121563
  • (sampling) Update warning by @wmak in #120846
  • (scm) Make PR lifecycle writes monotonic across reordered webhooks by @vaind in #121059
  • (security) Fix a possible security issue on the workflow_engine api by @saponifi3d in #120941
  • (seer-settings) Fix agent handoff dropdown selection not persisting by @srest2021 in #120820
  • (seerExplorer) Handle localStorage access in Safari private mode by @sentry in #121031
  • (seerWorkflows) Fix pure-render-functions in index.tsx by @sentry in #121238
  • (service-worker) Prevent TypeError from undefined registration by @sentry in #120863
  • (stacktrace) Use single select for View and Sort in display options by @TkDodo in #121160
  • (tabs) Defer ResizeObserver recompute to prevent useEffectEvent error by @sentry in #120862
  • (traces) Replace count(span.duration) with count(spans) in explore equations by @narsaynorath in #121634
  • (workflow) Remove noisy DetectorGroup.DoesNotExist log by @sentry in #121024
  • (workflow_engine) Attribute test-fired actions in the group action log by @cvxluo in #121373
  • (workflows) Validate Sentry App action targets by @cvxluo in #121996
  • Reject source files greater than 190 MiB by @elramen in #121718
  • Make updateSlackAlert responsive towards its container by @TkDodo in #121316
  • Wrap integration issue-linking and workflow trigger_action in action_context_scope by @sentry in #120873
  • Only hide issueList actions on narrow viewPorts, not containers by @TkDodo in #120833
Documentation 📚
  • (breadcrumb-list) Move copy action into overflow menu by @priscilawebdev in #121287
  • (preprod) Publish skipped status check endpoints by @jamieQ in #120926
  • (replays) Hide deprecated /replay-count/ data sources by @mjq in #120914
  • (settings) Document token exclusion when Allowed Domains is * by @elramen in #121608
  • (workflow-engine) Document architecture and extension points by @saponifi3d in #121761
  • Discourage make test-selective by @joshuarli in #120987
Internal Changes 🔧
Aci
  • Remove legacy default rule creation from project workflows receiver by @ceorourke in #121890
  • Remove legacy incidents list, latest alerts widget, and incident redirect by @ceorourke in #121853
  • Remove unused url field from NotificationRuleDetails and orphaned get_snooze_url by @ceorourke in #121774
  • Remove unreachable uptime existing or create page by @ceorourke in #121754
  • Relocate alerts shared modules by @ceorourke in #121639
  • Point backend alert links at monitors instead of legacy alert pages by @ceorourke in #121642
  • Move orphaned fns/consts into their only consumers by @ceorourke in #121650
  • Remove legacy issue alerts by @ceorourke in #121542
  • Remove legacy metric alert pages by @ceorourke in #121352
  • Remove workflow-engine-ui feature flag registration by @ceorourke in #121223
  • Remove legacy crons and uptime overviews by @ceorourke in #121193
  • Remove workflow-engine-ui flag from test fixtures by @ceorourke in #121224
  • Remove legacy_alert param from detector anomaly data endpoint by @ceorourke in #121194
  • Remove workflow-engine-ui flag from even more places by @ceorourke in #121088
  • Remove workflow-engine-ui flag from some more places by @ceorourke in #121003
  • Remove workflow-engine-ui flag from create alert entry points by @ceorourke in #120986
  • Remove workflow-engine-ui flag from alert/automation redirects by @ceorourke in #120757
  • Remove workflow engine UI flag on the backend by @ceorourke in #120712
Agent Monitoring
  • Rename ConversationsTableRedesign to ConversationsTable by @ArthurKnaus in #120890
  • Remove gen-ai-conversations-redesign flag check by @ArthurKnaus in #120888
Agents
  • Compact AGENTS.md files and defer deep guides to skills by @natemoo-re in #121469
  • Trim derivable content from AGENTS.md by @billyvg in #121311
Ai Monitoring
  • Stop sending apiVersion on conversation details by @vgrozdanic in #121284
  • Always return conversation details envelope by @vgrozdanic in #121143
  • Align list titles with detail selection by @vgrozdanic in #121053
Alerts
  • Remove orphaned Slack metric alert message builder by @ceorourke in #121564
  • Clear localStorage between anomaly banner tests by @JoshuaKGoldberg in #121172
  • Increase brownouts for legacy alerts API even more by @ceorourke in #121091
Api
  • Remove unused InternalEAFeaturesEndpoint by @shashjar in #122089
  • Withhold attribute context from the public spec by @skaasten in #121646
  • Remove unused organization option features by @scttcper in #120905
  • Add event.type Sentry attribute to all event endpoints by @mjq in #120871
Auth
  • Remove unused code by @nora-shap in #121268
  • Extract reusable methods from SSO identity handler by @nora-shap in #121013
Autofix
  • Disable frontend code search for autofix runs by @chromy in #122030
  • Disable context engine for autofix runs by @chromy in #122004
  • Dispatch RCA runs under the autofix feature id by @trevor-e in #121990
  • Gate manual PR iteration UI behind its own feature flag by @alexsohn1126 in #121189
  • Gate manual PR iteration behind its own feature flag by @alexsohn1126 in #121180
  • Route the remaining PR links through the shared resolver by @cvxluo in #121208
  • Extract next step logic into a common utility function by @malwilley in #121103
  • Use local run mirror for automation eligibility by @trevor-e in #121026
  • Use Literal instead of StrEnum for fixability assessment by @Zylphrex in #120915
  • Resolve PR link labels in one place by @cvxluo in #120865
  • Replace introspection LLM call with fixability assessment by @Zylphrex in #120786
Codeowners
  • Add owners for investigations by @vaind in #121947
  • We don't own all endpoints by @sentaur-athena in #121550
  • Exclude auto-generated API urls file from ownership by @malwilley in #120780
Control
  • Drop check_run/check_suite completed with no pull request in their own repo by @vaind in #121719
  • Drop unconsumed check_suite webhook actions at the parser by @vaind in #121434
Conversations
  • Consolidate preview normalization by @vgrozdanic in #121440
  • Move missing-messages banner above chart by @vgrozdanic in #121418
Dashboards
  • Take keyed params in applyDashboardFilters by @edwardgou-sentry in #121756
  • Migrate to container queries by @TkDodo in #121835
  • Use EmptyState in the chart NoData panels by @gggritso in #120935
  • Remove organizations:dashboards-ai-generate-edit flag check by @cvxluo in #120591
Deps
  • Bump dompurify from 3.4.12 to 3.4.13 by @dependabot in #121530
  • Bump cryptography from 49.0.0 to 50.0.0 by @dependabot in #121507
  • Bump django from 5.2.14 to 5.2.15 by @dependabot in #121510
  • Bump pyasn1 from 0.6.3 to 0.6.4 by @dependabot in #121509
  • Bump sentry-protos to 0.59.0 by @skonves in #121313
  • Bump pillow from 12.2.0 to 12.3.0 by @jamieQ in #121219
  • Bump sentry-protos to 0.56.0 by @skonves in #120932
  • Bump sentry-protos to 0.53.0 by @skonves in #120784
Detectors
  • Migrate to built-in container queries by @TkDodo in #121058
  • Improve logging of span-first/legacy detector mismatches by @lobsterkatie in #120685
Discover
  • Restrict the fn argument of fn_span_count by @phacops in #121911
  • Migrate layouts to container queries by @TkDodo in #121063
Dynamic Sampling
  • Add diagnostic fields to the recalibration comparison log by @shellmayr in #121826
  • Interleave organization scheduler order by @constantinius in #121446
  • Emit exception when reason unknown in per-org by @shellmayr in #121156
  • Slim down the remaining per-org tests by @shellmayr in #121145
  • Slim down per-org configuration tests by @shellmayr in #121142
  • Remove the implicit sample rate floor by @shellmayr in #121055
  • Count unnamed root transactions instead of dropping them by @shellmayr in #120911
Eslint
  • Update eslint plugin boundaries by @TkDodo in #121600
  • Fix typescript-eslint/no-shadow by @TkDodo in #121436
  • Enable e18e/prefer-array-to-sorted by @TkDodo in #121298
  • Enable e18e/prefer-array-to-reversed by @TkDodo in #121292
  • Enable e18e/prefer-array-some by @TkDodo in #121286
  • Enable e18e/prefer-array-from-map by @TkDodo in #121067
Event Formatter
  • Use formatter for copy to markdown by @shayna-ch in #119834
  • Add new event formatter to rpc by @shayna-ch in #119938
  • Add more to the event formatter by @shayna-ch in #119862
  • Add llmFormat to endpoint by @shayna-ch in #119545
  • Add event formatter to sentry backend by @shayna-ch in #119250
Explore
  • Rename Conversations to Agents by @vgrozdanic in #121503
  • Call the renamed agents/conversations API by @ArthurKnaus in #121713
  • Mock trace-item prefetch in logs table tests by @nsdeschenes in #120822
Forms
  • Remove wrapping css template tag by @scttcper in #121740
  • Remove unused legacy form fields by @scttcper in #121668
  • Migrate project performance settings to Scraps by @priscilawebdev in #119187
  • Migrate account security 2FA enrollment off JsonForm to scraps form by @priscilawebdev in #119188
  • Migrate debug file custom repository modal off deprecatedforms to scraps form by @priscilawebdev in #119191
  • Improve field search registry generation by @TkDodo in #121046
  • Migrate organization create off deprecatedforms to scraps form by @priscilawebdev in #119196
  • Migrate sudo modal off deprecatedforms to scraps form by @priscilawebdev in #119192
Gdd
  • Restructure transactions around _ensure_derived by @kcons in #121581
  • Factor out basic group batching and processing methods by @kcons in #121266
Grouping
  • Remove Python enhancement executor by @scttcper in #121174
  • Skip parsing query-free JavaScript filenames by @scttcper in #121137
  • Avoid serializing exceptions for enhancements by @scttcper in #121138
  • Avoid redundant match frame work by @scttcper in #121079
  • Skip unnecessary native function parsing by @scttcper in #121087
Hybridcloud
  • Remove dead member teams replication option by @ldelvoye in #121878
  • Fold the dispatch due-check into the claim update by @vaind in #121454
  • Log webhook discards at warning and stop sampling their counters by @vaind in #121604
  • Read webhook payloads from primary in control tasks by @beezz in #121514
  • Drop unused priority index on WebhookPayload by @vaind in #121283
  • Remove the async api gateway by @ldelvoye in #121229
  • Drop unused schedule_for index on WebhookPayload by @vaind in #121260
Inbox
  • Refactor issue preview actions to be more extensible by @malwilley in #121905
  • Update inbox to use "new" badge by @malwilley in #121778
  • Remove feature flag for progress sort by @malwilley in #121688
  • Show issue count even when it is 0 by @malwilley in #121537
  • Restyle event and user counts by @roggenkemper in #121320
Integrations
  • Add field on integration to not overwrite metadata by @Christinarlong in #121621
  • Clean up the sentry app request log by @mrduncan in #121536
Issues
  • Remove checks for graduated issue flags by @saponifi3d in #121886
  • Remove activity feed flag by @scttcper in #121460
  • Use GitHub icon for pull request CTA by @roggenkemper in #121073
  • Remove dead processing traversal by @scttcper in #121128
  • Memoize issue stream Discover URLs by @scttcper in #121075
  • Batch requests for non-error groups by @saponifi3d in #121018
  • Remove obsolete HPKP/Expect-CT/Expect-Staple tests by @mrduncan in #121028
  • Increase inbox pagination increment by @roggenkemper in #121072
  • Remove activity feed v2 flag by @scttcper in #120870
  • Clean up referrer split feature flag by @mrduncan in #120868
  • Default firstSeen/lastSeen columns and optional headers by @natemoo-re in #120831
  • Batch external issue serialization by @saponifi3d in #120835
  • Remove saved search UI remnants by @malwilley in #120861
  • Speed up CODEOWNERS parsing by @scttcper in #120782
  • Share secondary navigation count styles by @roggenkemper in #120759
Logs
  • Migrate layouts to container queries by @priscilawebdev in #120954
  • Stop defaulting to Ask Seer for Logs by @nsdeschenes in #120925
Migrations
  • Improve migration guidance by @wedamija in #121907
  • Remove superseded squash migrations by @vgrozdanic in #121421
Notifications
  • Restructure get_parent_notification_message query to hit index better by @kcons in #121980
  • Seer activity alerts link to issue inbox if available by @leeandher in #121764
Onboarding
  • Share SCM project creation in a reusable hook by @jaydgoss in #121775
  • Remove onboarding-copy-setup-instructions-project-creation registration by @cvxluo in #120012
  • Remove organizations:onboarding-new-welcome-ui registration by @cvxluo in #119869
  • Make onboarding session exits explicit by @jaydgoss in #121022
  • Migrate media queries to container queries by @priscilawebdev in #120638
  • Remove SCM Project Details registration by @cvxluo in #120626
  • Remove SCM Project Details experiment by @cvxluo in #120625
  • Remove SCM Project Details acceptance coverage by @jaydgoss in #120814
  • Remove onboarding-copy-setup-instructions flag registration by @cvxluo in #119969
Organizations
  • Drop outbox replication from member teams by @ldelvoye in #121810
  • Add new_id shadow column to organizationmember_teams by @ldelvoye in #121552
Performance
  • Stop ordinary MEP queries on generic metrics by @sentry-junior in #122023
  • Rename Agent Timeline by @vgrozdanic in #121504
  • Rename trace waterfall AI tab by @nsdeschenes in #120979
Pr Metrics
  • Register permanent organizations:pr-metrics flag by @vaind in #121936
  • Promote the PR lifecycle mappers out of the webhooks by @cvxluo in #121009
Preprod
  • Graduate snapshot archive manifest flag by @jamieQ in #122072
  • Graduate preprod-artifact-webhooks flag (frontend) by @cvxluo in #120257
  • Accept extra task keyword arguments by @jamieQ in #121861
  • Remove treemap label shadows by @jamieQ in #121475
  • SizeComparison to container queries by @TkDodo in #121147
  • Snapshots to container queries by @TkDodo in #121148
  • BuildDetails to container queries by @TkDodo in #121144
Profiling
  • Rename capitalized static methods in Flamegraph class by @sentry in #121929
  • Fix pure-render-functions violation in useRelativeDateTime by @sentry in #121246
  • Migrate layouts to container queries by @priscilawebdev in #120953
Project Install
  • Extract channel query options by @sentry-junior in #121377
  • Stabilize notification refetch tests by @scttcper in #121389
Relay

View original

Upgraded? How did it go?

Discussion