New Features ✨
Action Log
- Add GALE serializer and swap response in group details by @ceorourke in #119991
- Log instead of publish temporarily by @ceorourke in #120262
Action Log
- Require GroupActions to opt-in to be considered user-visible. by @kcons in #120159
- Add pipeline_hash to GroupDerivedData by @kcons in #119951
- Serialize derived data on the returned group by @malwilley in #119844
Activity
- Register templates for assigned/unassigned/note notifications by @leeandher in #119917
- Register status_change activities on notification platform by @leeandher in #119865
Ai Monitoring
- Generate conversation titles from gen_ai spans by @vgrozdanic in #120309
- Add AIConversationMetadata model by @vgrozdanic in #120078
Auth
- Add option by @nora-shap in #119857
- Add analytics events for signup email verification by @nora-shap in #119585
Autofix
- Refactor code-change feedback list into composable cells by @billyvg in #120418
- Carry review id and state on PR review feedback by @billyvg in #120458
- Render GitHub PR review body feedback in code-changes card by @alexsohn1126 in #120342
- Check-suite feedback view in PR iteration UI by @joseph-sentry in #120209
- Trigger PR iteration from failed check suites by @joseph-sentry in #119733
- Add fun messages, improve loading conditions for enabling notifications in autofix by @ryan953 in #119772
- Trigger notifications whenever autofix steps complete by @ryan953 in #119364
Conversations
- Disallow negation filters on conversations page by @ArthurKnaus in #120343
- Add copy transcript button to redesigned view by @ArthurKnaus in #120341
- Default span selection per view, merge drawer URL state by @ArthurKnaus in #120204
- Collapse tool calls in the transcript by @ArthurKnaus in #119807
- Explain empty conversation transcripts by @ArthurKnaus in #119802
Dashboards
- Add last visited by user logic by @adrianviquez in #120286
- Delete the grid view from dashboards pages by @adrianviquez in #120158
- Delete the custom dashboards tab by @adrianviquez in #119973
- Add (no value) option to global filters by @adrianviquez in #119026
- Add starred dashboards to dashboards sidebar by @adrianviquez in #119880
- Add reorder and starred endpoints by @adrianviquez in #119784
- Teach agentic dashboard generation about heat maps by @gggritso in #119788
Derived Data
- Stamp GroupDerivedData with its initial pipeline hash by @kcons in #119947
- Add Pipeline.pipeline_hash by @kcons in #119856
Difs
- Feature-gate Objectstore DIF reads by @lcian in #119806
- Dual-write DIFs to Objectstore by @lcian in #119805
Discover
- Remove transactions and surface errors by @nikkikapadia in #119062
- Hide transactions saved queries by @nikkikapadia in #119246
- Deprecate discover ff by @nikkikapadia in #120067
Dynamic Sampling
- Floor transaction sample rate to bound extrapolation by @shellmayr in #118561
- Count projects sampled below 100% in per-org pipeline by @shellmayr in #120065
Explore
- Suggest ESQ from humanized filter text by @manessaraj in #119243
- Highlight every matching search term in logs and spans by @JoshuaKGoldberg in #119310
External Mcp
- Switch datadog mcp integrations to all pass authentication via headers, instead of the deprecated datadog specific token by @wedamija in #119966
- Connect org level datadog integration to Seer by @wedamija in #119853
- Implement org level ui for configuring datadog integration by @wedamija in #119777
- Add org-level Datadog integration for Seer by @wedamija in #119690
Gal
- Trigger derived data rebuild after project backfill completes by @yuvmen in #119783
- Add reset option to project-level backfill task by @yuvmen in #119556
- Double-write Activity as GALE by @thetruecpaul in #118941
Gdd
- Add task to find and update projects with stale derived data by @kcons in #120410
- Add index on pipeline_hash to allow us to find and filter old data efficiently by @kcons in #120406
- GroupDerivedData debug endpoint by @kcons in #120255
- Add promote_to_live by @kcons in #120243
- Add GroupDerivedData.generated_at by @kcons in #120166
Issue Progress
- Add inbox assignment filter by @malwilley in #120251
- Add initial inbox page by @malwilley in #120213
- Track issue blocker in derived action log data by @malwilley in #119970
- Read progress from derived data on group by @malwilley in #119941
Issue Search
- Rank progress sort past the cap with Snuba filters by @roggenkemper in #119952
- Order progress sort in Postgres past the candidate cap by @roggenkemper in #119736
Issues
- Show progress state in the issue preview by @roggenkemper in #120454
- Support Autofix trigger activities by @scttcper in #120366
- Add issue.autofix_state search key for autofix overview by @NicoHinderling in #120293
- Update v2 activity timeline markers by @scttcper in #120278
- Remove fake auto-resolution by @scttcper in #120153
- Global register controls, design system styles by @scttcper in #119732
- Attribute pull request activities by @scttcper in #119977
- Run auto-resolve every 10 minutes by @scttcper in #120149
- Add 'Open in Explore' as Logs fold action by @JoshuaKGoldberg in #119905
- Refine regressed activity layout by @scttcper in #119755
- Clarify assignee tooltip details by @scttcper in #119176
Native
- GA minidump multi-exceptions by @jjbayer in #119808
- Symbolicate multiple native exceptions by @jjbayer in #119780
Ourlogs
- Clarify rate limit error (429) message by @JoshuaKGoldberg in #119825
- Show timestamps in detail view by @JoshuaKGoldberg in #119517
Pr Iteration
- Remove 👀 reaction after iteration completes by @alexsohn1126 in #120223
- React with 🎉 on comment after iteration completes by @alexsohn1126 in #120226
Pr Metrics
- Add reviews_requested_count to scm.pr.closed by @giovanni-guidini in #120348
- Forward per-check recovery detail on the judge wire by @vaind in #120113
- Add repo provider and visibility to scm.pr.closed by @giovanni-guidini in #119903
- Include group_ids in delegated agent attribution by @giovanni-guidini in #119810
- Route readers to the document, sweep it, and validate parity by @vaind in #119574
- Reap PullRequestMetrics rows stuck at JUDGE_IN_PROGRESS by @giovanni-guidini in #119821
- Capture new lifecycle signals on the document path by @vaind in #119572
- Route PR activity to the reduced document behind a cutover option by @vaind in #119571
Preprod
- Add skipped status check endpoints by @jamieQ in #119824
- Add settings UX for size analysis PR comment rules by @mtopo27 in #120205
- Add git SHAs to default preprod search attributes by @mtopo27 in #120129
- Expose size PR comment options in project API by @mtopo27 in #120120
- Post size analysis results as PR comments by @mtopo27 in #119422
- Expand dotted build codes in check-for-update APIs by @trevor-e in #119759
Releases
- Create a template for release activity by @leeandher in #119955
- Add enable-release-creation feature to remaining release auto-creation paths by @shellmayr in #120057
- Add release auto-creation toggle to project settings by @shellmayr in #117786
- Add project toggle for release auto-creation from telemetry by @shellmayr in #117785
Search
- Show Ask Seer results directly by @nsdeschenes in #120122
- Register agentic triage sort feature flag and options by @Mihir-Mavalankar in #120084
- Rework Ask Seer query token styling by @nsdeschenes in #119846
- Register humanized ESQ feature flag by @manessaraj in #120072
- Add Ask Seer regenerate action by @nsdeschenes in #119909
- Refine Ask Seer empty-state heading by @nsdeschenes in #119818
- Rework Ask Seer polling status by @nsdeschenes in #119714
Seer
- Smart Assignment scoring by @hobzcalvin in #119944
- Open autofix run drawer inline from overview by @mtopo27 in #120422
- Record agentic-triage-sort flag in agent run options by @Mihir-Mavalankar in #120473
- Add assignee filter and per-card assignee to Autofix Overview by @mtopo27 in #120421
- Thread autofix_automation_tuning into night shift's triage payload by @trevor-e in #120386
- Smart Assignment delivery by @hobzcalvin in #119943
- Polish autofix overview cards and fix run-activity timestamps by @jshchnz in #120425
- Attribute agent actions to delegating users by @gricha in #120172
- Gate agent writes behind short-lived capability tokens by @gricha in #118539
- Autofix overview sections driven by issue.autofix_state by @NicoHinderling in #120294
- Assign triggering user when a Seer PR exhausts its iteration cap by @vaind in #120194
- Back get_metric_metadata with the metrics endpoint by @DominikB2014 in #120076
- Add global option to enable night shift for legacy Seer orgs by @trevor-e in #120285
- Request review from triggering user on green Seer PRs by @vaind in #120185
- Render night shift triage reason as markdown by @trevor-e in #120138
- Add /bash-mode-on and /bash-mode-off slash commands by @Zylphrex in #120206
- Ingest GitHub PR review webhooks for Autofix iteration by @alexsohn1126 in #119630
- Back get_metric_metadata with the metrics endpoint by @DominikB2014 in #120102
- Add agentic triage scoring for night shift candidate selection by @Mihir-Mavalankar in #120114
- Show skip reason on the workflows page Skipped tag by @trevor-e in #120126
- Link delegated coding agent PRs to SeerRunPullRequest by @trevor-e in #119427
- Experimenting around by @jshchnz in #119794
- Add inline docs embed by @natemoo-re in #119823
- Register Night Shift UI feature by @sentry-junior in #119902
- Serialize pull requests on Seer runs by @jshchnz in #119795
- Smart-assignment dispatch and workflow wiring by @hobzcalvin in #119693
- Add a demo runs list UI with search, pagination, and outputs by @chromy in #118828
- Track coding agent handoff status in Sentry's DB by @trevor-e in #119412
- Persist and surface night shift skip_reason by @trevor-e in #119700
- Add autofix-browser-notifications feature flag by @ryan953 in #119737
Seer Infra Telemetry
- Implement
GcpOrgMonitoringProviderby @shashjar in #120171 - Add setup wizard pipeline UI for GCP integration by @shashjar in #120093
- Add GCP MCP org-level integration provider by @shashjar in #119774
Sentry Apps
- GA custom webhook headers by @cvxluo in #120274
- GA granular webhook subscriptions by @cvxluo in #120271
- GA the custom webhook headers UI by @cvxluo in #120269
- Graduate granular webhook subscription UI by @cvxluo in #120265
- Allow webhook subscriptions before the url is set by @cvxluo in #120160
- Indicate custom formatting applied to routines by @cvxluo in #120145
- Register flag for app templates by @cvxluo in #120142
- Expose the webhooks flag by @cvxluo in #119843
- Add urls to issue workflow webhook payloads by @cvxluo in #119680
Stories
- Import image gallery using
import.meta.globby @scttcper in #119632 - Add custom favicon for stories pages by @cleptric in #119683
Trace Items
- Filter metrics to those with context via context_only by @DominikB2014 in #120212
- Add endpoint to list metric names and context by @DominikB2014 in #119740
Tracemetrics
- Wrap seer combobox token for equation formatting by @narsaynorath in #120400
- Remove equation feature flag definitions by @narsaynorath in #119921
Weekly Report
- Add WoW change to Total Spans by @amy-chen23 in #120352
- Add spans presentation layer for weekly email by @amy-chen23 in #120231
- Add spans data layer with per-project counts by @amy-chen23 in #120230
- Add spans chart data layer by @amy-chen23 in #118860
Other
- (admin) Gift recurring credits page by @dashed in #119435
- (ai) Prepare task producer for gen_ai conversation title generator by @vgrozdanic in #120441
- (alerts) Document request/response schema for the metric alert rule index endpoints by @azulus in #120085
- (api) Document and publish trace item stats endpoint by @cvxluo in #117061
- (attributes) Add public alias for
sentry.trace_lifecycleattribute by @Lms24 in #120327 - (breadcrumbList) Typed breadcrumb redesign with rich items, validated on real pages by @Jesse-Box in #119060
- (ci) Check
embed_widgets.generated.jsonsync by @natemoo-re in #120074 - (compactSelect) ENTER in searchable selects by @TkDodo in #119713
- (control) Drop unconsumed check_run webhook actions at the parser by @vaind in #119829
- (copilot) Add agent session URL to autofix panel by @sehr-m in #119874
- (data-browsing) Rename "Heat Map" to "Heatmap" in the UI by @gggritso in #119771
- (derived) Add build_and_promote_derived_data with generation tasks by @kcons in #120292
- (flags) Register SCM project creation flag by @jaydgoss in #120349
- (inbound-filters) Add table & modal by @shellmayr in #117668
- (ingest) Add option to reprocess events not in nodestore by @bmckerry in #120133
- (integrations) Add action-row layout to the create-integration modal by @cvxluo in #120128
- (low-value-spans) Fetch costs on demand by @constantinius in #119610
- (metrics) Add metrics.set for unique-value set metrics by @armenzg in #119716
- (navigation) Add translation markers toggle to command palette by @JonasBa in #116784
- (night-shift) Add structured logging to agentic triage functions by @Mihir-Mavalankar in #120218
- (processing) Define new async tasks by @jjbayer in #119758
- (refactor-tasks) Add React compiler conventions by @nsdeschenes in #119621
- (replays) Roll out FutureTrackingProducer to eap_items by @bmckerry in #119743
- (scraps) Add chat primitives (UserBubble, ToolCallIndicator) and adopt in Seer Explorer by @priscilawebdev in #119493
- (seer-agent) Allow use of bash mode in seer agent by @Zylphrex in #120075
- (seer-billing) Remove nullability for organization contributor provider and hostname by @srest2021 in #119695
- (slack) Make nudge frequency configurable via option by @alexsohn1126 in #119953
- (snuba) Add response logging to RPC calls by @JoshuaKGoldberg in #119562
- (spans) Count segments with gen_ai conversation ids by @vgrozdanic in #119919
- (taskbroker) Add Application Argument to Task Sender by @george-sentry in #119860
- (teapot-frontend) Integrate Teapot GPU symbolication service with Sentry by @mujacica in #119376
- (trace) Add dismissable feedback banner for new trace waterfall by @mjq in #120465
- (ui) Add org feature flag controls (frontend only) by @scttcper in #119798
- (upload) Multipart feature flag by @jjbayer in #119888
- Refresh logs empty-state copy / include prompt by @bcoe in #119660
Bug Fixes 🐛
Action Log
- Give action log-based Activity APIs their own feature by @kcons in #120368
- Include stack info in our missing context error by @kcons in #119930
- Provide ActionContext to process_autofix_updates by @kcons in #119928
Alerts
- Fix bug in
percent_increasewhere evaluation was incorrect by @saponifi3d in #120356 - Ensure that incompatible metric alert messages are only shown for ticketing actions by @malwilley in #119741
Autofix
- Keep sticky headers above row actions by @NicoHinderling in #120414
- Wrong feature flag for autofix plan by @Zylphrex in #120253
- Resolve pure-render-functions violation in SeerEnableNotifications by @sentry in #120021
- Resolve check-suite autofix_run at construct time by @joseph-sentry in #120068
- No-op PR iteration when Seer run is missing by @joseph-sentry in #120111
- Handle error state in autofix code changes by @Zylphrex in #119876
- Render PR review comments by @joseph-sentry in #119750
- Import usePrompt instead of usePrompts for checking autofix-sw-notification by @ryan953 in #119753
Conversations
- Prevent blank message bubbles in the transcript by @ArthurKnaus in #120176
- Preserve reasoning for reasoning-only assistant turns by @vgrozdanic in #119914
Dashboards
- Prevent errors with integer titles in
incremental_titlewhen copying dashboards by @sentry in #120201 - Add widget action tooltips by @jamieQ in #120375
- Resolve static-component-definitions in GenericFilterSelector by @sentry in #120033
- Show a No Data state instead of a generic error by @gggritso in #119940
- Legend toggle discards unsaved filters by @nikkikapadia in #119760
- AI agents dashboard tag click updates global filters by @nikkikapadia in #119521
Data Browsing
- Use canvas renderer for time series graphs by @gggritso in #120208
- Turn off Safari user selection on ECharts charts by @gggritso in #119845
- Speed up heat map drag-to-select by @gggritso in #119776
Detectors
- Handle invalid body size values in large payload detector by @lobsterkatie in #120157
- Use correct key for transaction name by @lobsterkatie in #120118
- Handle string
request_startvalues inHTTPOverheadDetectorby @lobsterkatie in #119994 - Stop short-circuiting detection on first error by @lobsterkatie in #120000
Discover
- Put in reverse redirect and change page titles by @nikkikapadia in #120395
- Adjust max pickable days options to mirror spans by @nikkikapadia in #120130
- Remove transactions dataset options by @nikkikapadia in #120073
Dynamic Sampling
- Only query transaction volumes for projects that need balancing by @shellmayr in #120026
- Skip 100% rate projects in tx balancing by @shellmayr in #119907
Eslint
- Allow nested arrow functions with untyped parameters by @TkDodo in #120189
- Ignore linting agents directory by @TkDodo in #120191
- Improve the prefer-info-text eslint rule by @TkDodo in #120004
- Enable unicorn/filename-case eslint rule by @ryan953 in #120103
Explore
- Reset aggregate cursor on filter changes by @sentry-junior in #120200
- Improve chart empty-state guard by @sentry in #120014
- Remove trace links from aggregate table by @nsdeschenes in #120091
Gal
- Add missing context to fetch commits task by @thetruecpaul in #120112
- Add missing context to organization release details endpoint by @thetruecpaul in #120116
- Add missing context to reprocessing by @thetruecpaul in #120001
- Add missing context to gitlab webhooks by @thetruecpaul in #120082
- Add missing context to unmerge2 by @thetruecpaul in #120002
- Add missing context to bitbucket webhook by @thetruecpaul in #119996
- Add missing context to occurrence consumer by @thetruecpaul in #119976
- Add missing context to github webhook issues by @thetruecpaul in #119974
- Add missing context to clear expired snoozes task by @thetruecpaul in #119975
- Add context scope to post-process by @thetruecpaul in #119754
- Re-enable gating around activity double-write by @thetruecpaul in #119766
Gdd
- Incorporate generated_at into incremental update checks by @kcons in #120239
- Add SeerRCA action to track_root_cause by @kcons in #119782
- Include more resolution events in track_status by @kcons in #119778
Integrations
- Report matching result count in search analytics by @cvxluo in #119649
- Allow rotating token-only app secrets by @scttcper in #120050
Issues
- Restore status banner progress markers by @scttcper in #120411
- Serialize Autofix trigger activity type by @scttcper in #120372
- Use ContainerQueries for IssueListFilters by @TkDodo in #120314
- Restore sidebar comment actions in activity v2 by @scttcper in #120283
- Clean up timeline marker prop by @scttcper in #120264
- Handle invalid release resolution searches by @scttcper in #120127
- Handle non-numeric issue IDs in bulk PUT endpoint by @sentry in #119984
- Stop activity line at final marker by @scttcper in #119972
- Keep ongoing status transitions atomic by @scttcper in #119882
- Adjust minor issue activity details by @scttcper in #119756
- Make Recommended sort selectable in command palette by @roggenkemper in #119850
- Balance stack trace frame headers by @scttcper in #119792
Ourlogs
- Scope Open in Explore link to the whole trace by @JoshuaKGoldberg in #120066
- Prefetch trace item details on hover for embedded rows by @JoshuaKGoldberg in #119752
Pr Metrics
- Stop aborted check reruns from erasing a recorded verdict by @vaind in #120123
- Resolve run_id/group_id locally for Cursor attribution by @giovanni-guidini in #119815
Preprod
- Link snapshot PR comments to /snapshots/ settings route by @mtopo27 in #120493
- Escape untrusted artifact metadata in VCS Markdown by @jamieQ in #119742
React
- Move Date.now() out of render in useReplayPageview hook by @sentry in #120022
- Hoist component resolution in OverrideOrDefault by @sentry in #120028
Replays
- Resolve complete-hook-dependencies in useReplayCurrentTime by @sentry in #120020
- Use window.location.assign for video download by @sentry in #119980
Search
- Blur query builder after Ask Seer selection by @nsdeschenes in #120125
- Make ctrl/cmd+delete in search delete to the cursor by @JoshuaKGoldberg in #120097
- Prevent Ask Seer overflow and bleed-through by @nsdeschenes in #119900
- Preserve negation on quoted colon-value filters by @mrduncan in #119789
Seer
- Anchor overview vitals tooltips to their text and show local time by @jshchnz in #120478
- Skip page filter URL sync on autofix overview by @NicoHinderling in #120415
- Support agent tokens in release endpoints by @gricha in #120173
- Correct overview action pending and empty-state checks by @NicoHinderling in #120397
- Rate-limit autofix triggers from night shift by @trevor-e in #120347
- Restore issue summary generation for seat-based orgs by @Mihir-Mavalankar in #120222
- Stop night shift org fan-out from sharing one trace by @trevor-e in #119997
- Fix autofix prompt key and register it by @ryan953 in #120017
- Strengthen timestamp embed description by @natemoo-re in #119666
- Guard against undefined pullRequests in Night Shift UI by @sentry in #119689
- Fix chvron direction in seer settings by @ryan953 in #119833
- Format repository integration names by @sentry-junior in #119797
Seer Billing
- Fix org contributors uniqueness constraint to use provider+hostname, not integration id by @srest2021 in #119965
- Look up organization contributor by provider & hostname instead of integration id by @srest2021 in #119354
Spans
- Sample process segment task transactions by @lvthanh03 in #120207
- Do not propagate traces for process segments task by @lvthanh03 in #120203
- Handle missing span descriptions in MN + 1 detector by @lobsterkatie in #119887
- Query gen AI reasoning level attribute by @constantinius in #119719
Trace
- Make span details replay preview independent of transactions by @mjq in #120365
- Avoid unnecessary trace metadata fallback by @nsdeschenes in #119922
Traces
- Remove border around project icons in trace header by @priscilawebdev in #120310
- Use spans JSON endpoint for transaction deprecation orgs by @nikkikapadia in #119963
- Preserve logs when trace metadata fails by @nsdeschenes in #120098
Ui
- Show gen AI reasoning level attribute by @constantinius in #119720
- Surface backend form submission errors by @sentry-junior in #119739
View Hierarchy
- Handle null hierarchy from failed JSON parsing by @priscilawebdev in #120178
- Make windows optional in ViewHierarchyData type by @priscilawebdev in #120177
- Handle missing 'windows' property in ViewHierarchyData by @sentry in #120006
Weekly Report
- Extend format_duration_ms to include larger values by @amy-chen23 in #120468
- Prevent populating cache on admin runs by @amy-chen23 in #119681
Weekly Reports
- Reduce key error issues chunk size from 100 to 25 by @amy-chen23 in #120087
- Simplify outcomes query by removing redundant groupby by @amy-chen23 in #120089
- Eliminate expensive JOIN in issue summaries query by @amy-chen23 in #120088
Other
- (action log) Migrate GroupActionLogEntry date_updated to have a default value of now() by @ceorourke in #119791
- (agent-monitoring) Remove Truncated label from repaired JSON output by @ArthurKnaus in #120445
- (api) Scope trace item context PUT endpoints to event:write, not org:write by @DominikB2014 in #120215
- (ask-seer) Remove duplicate header styles by @nsdeschenes in #120236
- (attachments) Preserve screenshot aspect ratio on resize by @JoshuaMoelans in #117194
- (auth) Add debug logging by @nora-shap in #120279
- (coding-conventions) Move OverrideOrDefault component definition to module scope in AccountClose by @sentry in #120027
- (crons) Move OnboardingPanelHook to module scope to satisfy static-component-definitions by @sentry in #120018
- (data-scrubbing) Prevent TypeError when relayPiiConfig is missing by @sentry in #119897
- (db) Removes unpickling logic from GZippedDictField by @GabeVillalobos in #119770
- (derived data) Log when the project-level task has nothing to do by @kcons in #119785
- (devserver) Wait for Rspack shutdown on interrupt by @jamieQ in #119942
- (difs) Jitter Objectstore multipart part upload retries by @lcian in #120188
- (hybridcloud) Honor skip-on-failure in parallel webhook drains by @joseph-sentry in #119934
- (inbound-filters) Rename custom filters tab URL segment by @shellmayr in #119812
- (inc-2344) Route replay bulk delete job to long pool by @nikkikapadia in #120353
- (issue-activity) Hide some duplicative pull request activity from the UI by @malwilley in #120387
- (issue-details) Handle null localStorage in getFoldSectionKey by @sentry in #120281
- (issue-progress) Treat escalating issues as open by @malwilley in #120259
- (issue-search) Run native progress path when date_to is now by @roggenkemper in #119923
- (js) Don't attach security token to wildcard origins by @loewenheim in #120182
- (msteams) Support single-tenant Azure Bots via new msteams.tenant-id option by @futureweb in #119389
- (nav) Highlight Explore for preprod pages by @mtopo27 in #119544
- (night-shift) Exclude rage clicks and scale re-ranking pool in agentic triage by @Mihir-Mavalankar in #120252
- (nightshift) Fix all skips by @chromy in #119896
- (options) Stop truncating option values in WebhookPresenter by @joshuarli in #120371
- (profiling) Use correct proguard uuid for android sample v2 chunks by @markushi in #120429
- (project-creation) Stop the SCM alert section bouncing on option switch by @jaydgoss in #119749
- (projectconfig_cache) Disable transactions for deletes by @sentry-junior in #119817
- (release-thresholds) Apply the status endpoint's release prefetches by @cvxluo in #120094
- (request-error) Restore prototype chain for RequestError subclassing by @sentry in #119894
- (routing) Move legacy event redirect into
OrganizationContexttree by @shashjar in #120132 - (scraps) Fix responsive display flex & grid emit by @TkDodo in #120326
- (sdkcd) Attribute hybrid crashes to top-level SDK versions by @sentry-junior in #119590
- (sentry apps) Add user to rpc calls by @Christinarlong in #120268
- (settings) Fill organization in MCP URLs by @sentry-junior in #120110
- (source-maps) Fall back to JavaScript docs by @sentry-junior in #120101
- (stats) Hide
no_parent_spanclient outcome by @Lms24 in #120302 - (stories) Wrap stories in their own TrackingContextProvider by @TkDodo in #120190
- (structuredEventData) Remove inline Wrapper component in RecursiveStructuredData by @sentry in #120038
- (symbolication) Attach original event ID to SDK scope by @coyaSONG in #119779
- (tooltip) Prevent TypeError when value is undefined in chart tooltip by @sentry in #119609
- (trace-details) Prevent RangeError from invalid timestamp query param by @sentry in #119981
- (trace-items) Align metrics context to the attributes
detailsshape by @DominikB2014 in #120344 - (tracemetrics) Allow equations in validation endpoint by @narsaynorath in #119747
- Use TopBar.Slot instead of manual h1 heading by @TkDodo in #120055
- Revert "ref(feedback): emit metric instead of outcome for ingest denylist (#97970)" by @aliu39 in #119793
Documentation 📚
- (seer) Add embeds story w/ examples by @natemoo-re in #120108
Internal Changes 🔧
Api
- Correct release threshold response types by @cvxluo in #119925
- Type org member user as always present and nullable by @cvxluo in #119867
- Rename trace item stats symbols and response key by @cvxluo in #117055
Billing
- Add trace_log_sample_rate to service_method decorator by @volokluev in #119839
- Bump sentry-protos to 0.45.0 by @skonves in #119773
Control
- Pending deletion for dead OrganizationMemberTeamReplica table by @strongs in #120165
- Remove control callees for OrganizationMemberTeam replication by @strongs in #120161
- Stop regions from replicating OrganizationMemberTeam by @strongs in #120156
- Remove last/test-only reader of OrganizationMemberTeamReplica by @strongs in #120155
- Actually drop the dead TeamReplica table by @strongs in #119654
- Pending deletion for dead TeamReplica table by @strongs in #119651
Conversations
- Drop New suffix from redesigned components by @ArthurKnaus in #120439
- Remove redesign feature flag and old components by @ArthurKnaus in #120434
- Use scraps UserMessage in UserMessageBlock by @priscilawebdev in #120301
Dashboards
- Remove
data-browsing-heat-map-widgetflag declaration by @gggritso in #119913 - Remove
data-browsing-heat-map-widgetflag usage by @gggritso in #119855 - Remove
data-browsing-heat-map-widgetbackend flag usage by @gggritso in #119854 - Unregister visibility-dashboards-async-queue flag by @cvxluo in #119674
- Graduate visibility-dashboards-async-queue flag by @cvxluo in #119673
Deps
- Bump the sentry-dependencies group across 1 directory with 4 updates by @dependabot in #120090
- Bump sentry-protos to 0.46.0 by @shellmayr in #120322
- Bump vroomrs to 0.1.23 by @markushi in #120305
- Move to proper pnpm monorepo by @natemoo-re in #120117
- Bump type-fest from 5.2.0 to 5.8.0 by @dependabot in #119577
- Bump yaml from 2.8.3 to 2.9.0 by @dependabot in #119958
- Bump the sentry-dependencies group across 1 directory with 5 updates by @dependabot in #119956
- Update Dependabot groups by @scttcper in #119950
Detectors
- Use logging helper in HTTP overhead detector by @lobsterkatie in #120261
- Refactor
get_span_evidence_valueand strip whitespace by @lobsterkatie in #120121 - Always denote no span ids with an empty list by @lobsterkatie in #119866
Dynamic Sampling
- Remove unused small transactions option by @shellmayr in #120330
- Remove dead small-transactions pass from tx boosting by @shellmayr in #120195
- Skip orgs without active projects in per-org scheduler by @shellmayr in #119889
- Stop double-capturing per-org task errors by @shellmayr in #119906
- Add xfail test for per-org tx volume query starvation by @shellmayr in #119915
- Move blended-100% gate out of the comparison path by @shellmayr in #119723
Eslint
- No-unnecessary-condition for alert by @TkDodo in #120197
- Skip irrelevant files in default export rule by @scttcper in #120210
Explore
- Clean up now-unused code for direct exports (as opposed to modals) by @JoshuaKGoldberg in #120139
- Re-balance heat map chunk loading by @gggritso in #119748
Forms
- Migrate admin user edit off JsonForm to scraps form by @priscilawebdev in #119183
- Migrate organization join request off deprecatedforms to scraps form by @priscilawebdev in #119194
- Migrate accept project transfer off deprecatedforms to scraps form by @priscilawebdev in #119193
- Migrate create issue view modal off deprecatedforms to scraps form by @priscilawebdev in #119190
- Migrate rename issue view modal off deprecatedforms to scraps form by @priscilawebdev in #119189
- Migrate project Seer settings off JsonForm to scraps form by @priscilawebdev in #119185
Gal
- Clean up 100%-open rollout option by @thetruecpaul in #119871
- Use composite (datetime, id) cursor for project backfill by @yuvmen in #119744
Gdd
Issues
- Make preview priority and assignee icon-only by @roggenkemper in #120462
- Remove awaiting input page by @malwilley in #120476
- Remove Details and Events tabs from issue preview by @roggenkemper in #120448
- Remove activity-based issue progress derivation by @malwilley in #120350
- Drop the merge-unmerge max-group-times-seen option by @cvxluo in #120273
- Remove virtual auto-resolve UI by @scttcper in #120154
- Remove dead group module by @mrduncan in #119767
O11y
- Bump
sentry-sdkto 2.66.1 by @alexander-alderman-webb in #120329 - Modify
sample_rateheader inMultiplexingTransportby @alexander-alderman-webb in #120306
Ourlogs
- Remove ourlogs-pinning feature flag (backend) by @JoshuaKGoldberg in #120064
- Remove ourlogs-pinning feature flag (frontend) by @JoshuaKGoldberg in #120063
Scm Project Creation Flow
- Fixing flaky test by @Abdkhan14 in #119745
- Centralizing and using disabled sub… by @Abdkhan14 in #119420
Scraps
- Rename UserBubble to UserMessage and add width prop by @priscilawebdev in #120300
- Add chat primitives (MessageRow, AssistantMessage, MessageActions) by @priscilawebdev in #120052
- Add dedicated container query breakpoint tokens by @priscilawebdev in #119804
- Rename ProjectsSavedBadge to ProjectsBadge by @TkDodo in #120187
- Stabilize InfoText overflow handling by @TkDodo in #119904
- Improve InfoText overflow handling by @TkDodo in #119892
Search
- Share Ask Seer combobox implementation by @nsdeschenes in #120346
- Match Ask Seer option hover color by @nsdeschenes in #120216
Seer
- Remove verbose debug_log instrumentation from GitLab webhooks by @billyvg in #118192
- Move bash mode enablement to SeerAgentClient construction by @Zylphrex in #120225
- Register autofix-rca-in-seer feature by @rbro112 in #120104
- Remove post_process_fixability autofix for seat based orgs by @chromy in #119811
Sentry Apps
- Clean up sentry app form by @cvxluo in #120217
- Extract the sentry app form fields by @cvxluo in #120471
- Stop capturing external-request errors from the issue form by @priscilawebdev in #119891
Spans
- Add
defaultparameter toattribute_valuehelper by @lobsterkatie in #119870 - Log full problem objects on span-first detector mismatch by @lobsterkatie in #119137
Taskbroker
- Update taskbroker-client to 0.20.13 by @evanh in #120489
- Add raw-named namespaces for profiles/events ingest tasks by @untitaker in #120079
Ui
- Make TypeScript checker opt in by @scttcper in #120474
- Keep Story discovery out of app HMR rebuilds by @scttcper in #119885
- Upgrade gettext-parser to v9, add local loader by @scttcper in #119848
- Remove unused Node polyfill
bufferby @scttcper in #119835 - Remove process browser polyfill by @scttcper in #119828
Weekly Report
- Batch issue summaries query to avoid statement timeout by @amy-chen23 in #120297
- Rename weekly report functions by @amy-chen23 in #119841
- Include error issues in "Resolved Last Week" by @amy-chen23 in #119437
Weekly Reports
- Remove weekly-report-project-exclusions backend flag by @amy-chen23 in #119852
- Remove weekly-report-project-exclusions frontend flag check by @amy-chen23 in #119851
- Update admin page for sending weekly reports by @amy-chen23 in #119746
Workflow Engine
- Update results for detectors to use the DetectorEvaluation class by @saponifi3d in #119998
- Remove resolution rollout option usage by @leeandher in #120247
- Update the workflow_engine/evaluations for Detector / Workflow Evals by @saponifi3d in #119967
- Refactor
ProcessedDataConditionGroupasDataConditionGroupEvaluationby @saponifi3d in #119434
Other
- (acceptance) Cover SCM project creation flow by @jaydgoss in #120364
- (action_log) More efficient new GroupActionLogEntry entry querying by @kcons in #119879
- (activity) Rename
set_resolvedmodule tostatus_changeby @leeandher in #119847 - (activity-alerts) Remove
_idparams from notification data by @leeandher in #119553 - (apigw) Disable static files serving by @gi0baro in #120340
- (auth) Index case-insensitive user lookups by @lcian in #119901
- (autofix) Refine overview section layout by @NicoHinderling in #120417
- (billing-platform) Bump sentry-protos 0.45.1 by @brendanhsentry in #119927
- (chat) Adopt MessageRow primitive and add density in AI chat blocks by @priscilawebdev in #120427
- (codeowners) Assign ai_monitoring to telemetry-experience by @vgrozdanic in #120312
- (derived) Move framework-only tests into their own file by @kcons in #120277
- (devenv) Split sentry-specific taskbroker back out from the generic one by @untitaker in #119898
- (difs) Use simple Objectstore put under 128 MiB by @lcian in #120311
- (external-mcp) Rename datadog integration by @wedamija in #120137
- (github) Always enable webhook mailbox bucketing by @joseph-sentry in #119948
- (issue-workflow) Remove option registration by @leeandher in #120248
- (jest) Mock root ECharts imports by @scttcper in #120049
- (llm-proxy) Remove unused JWT minting endpoint by @sehr-m in #119875
- (metrics) Add a metric for legacy debug file reads by @jan-auer in #120446
- (mypy) Ignore transient mypy worker files by @leeandher in #119765
- (native) Remove compatibility code by @jjbayer in #119822
- (objectstore) Use JWT auth for presigned download URLs by @lcian in #119814
- (pr-metrics) Gate the activity document on an org feature flag by @vaind in #120071
- (preprod) Extract shared size evaluation core by @mtopo27 in #119428
- (project-creation) Replace SCM experiment gate by @jaydgoss in #120351
- (refactor-tasks) Drop repo.yaml, update README, add scan workflow by @ryan953 in #119864
- (release-health) Pre-cache organization in _handle_release_adoption by @shellmayr in #120174
- (replays) Uncomment archived replay test by @mjq in #119309
- (scm) Upgrade sentry-scm to 1.1.0 by @sentry-junior in #119908
- (seer-activity) Remove the lonely button by @leeandher in #119762
- (seer-alerts) Remove *_started options (again) by @leeandher in #120369
- (seer-infra-telemetry) Set up temporary code to provide Seer with GCP integration internally… by @shashjar in #120106
- (seerExplorerHeader) Switch to built-in container queries by @TkDodo in #120338
- (sentry apps) Silence inner value error but retry by @Christinarlong in #120280
- (slack) Increase nudge frequency to 30% and remove weekly limit by @alexsohn1126 in #119926
- (span-buffer) Reduce Lua memory allocation pressure and function call overhead by @cmanallen in #119542
- (tests) Add types to most {}-typed fixture params by @JoshuaKGoldberg in #119912
- (trace) Add feature flag for new trace view version banner by @mjq in #120460
- (trace-items) Always store metric context at org level by @DominikB2014 in #119757
- (tracemetrics) Remove equation label const function call by @narsaynorath in #120399
- (traces) Migrate trace header and vitals media queries to container queries by @priscilawebdev in #120315
- (txn-summary) Move event view creation to point of use by @mjq in #119676
- (waterfall) Improve streamed span detection logic by @Lms24 in #119602
- Bump sentry-protos 0.50.1 by @brendanhsentry in #120497
- Remove member limit forced trial and modals by @noahsmartin in #120457
- Remove slack forced trial by @noahsmartin in #120423
- Bump protos by @noahsmartin in #120396
- Bump sentry-protos 0.49.0 by @brendanhsentry in #120377
- Remove now-unused organizations:explore-modal-export feature flag by @JoshuaKGoldberg in #120140
- Move noUnresolvedIssues to scraps primitives by @TkDodo in #120339
- Remove unused Seer RPC record_pr_attribution function by @giovanni-guidini in #120058
- Remove fly.io modal by @noahsmartin in #120162
- Bump sentry-scm to 1.2.0 by @getsentry-bot in #120070
- Improve efficiency of username_is_available logic by @markstory in #119964
- Exclude API URL codegen from frontend/backend warning by @jamieQ in #118795
- Bump sentry-sdk[http2] to 2.66.0 by @cleptric in #119820
- Bump sentry-kafka-schemas to 2.2.0 by @getsentry-bot in #119763
- Bump new development version by @sentry-release-bot[bot] in 99d5faf7
Other
- Ensure SAML assertions called with valid fields by @michelletran-sentry in #120467
- Added: Tokens 'container' in 'size.tsx' by @Jesse-Box in #120069
- deps(api-docs): Replace js-yaml with yaml by @scttcper in #120107
- deps(ui): Remove webpack dependency by @scttcper in #120095
- deps(ui): Upgrade Sentry Jest environment to v7 by @scttcper in #120083
- ref(outbox) Move user outboxes to async by @markstory in #119018
- fix(relocation) Avoid integrity errors on self-hosted import pt2 by @markstory in #119859
- chore(relocation) Capture errors during relocations by @markstory in #119832
- deps(ui): Upgrade jest-fetch-mock to 4.2.0 by @scttcper in #119799
- Enhance SplitPanel documentation with usage guidelines by @ChrisandraVaz in #119555
- debug(code-review): add sentry-org webhook handler instrumentation by @joseph-sentry in #119781
- Add issue status reconciliation on group details view by @ceorourke in #119769