New Features ✨
Aci
- Move dedupe abstract function to stateful detector class by @RudraPatel2003 in #123163
- Rename evaluate_impl to evaluate by @RudraPatel2003 in #123022
- Rename evaluate to _evaluate by @RudraPatel2003 in #123017
- Rename DetectorHandler and BaseDetectorHandler by @RudraPatel2003 in #122951
Action Log
- Fold comment mutations into the comment they supersede by @shashjar in #124131
- Instrument the activity read path by @shashjar in #123846
- Gate activity reads on backfill completion by @shashjar in #123521
- Measure action log enqueue duration by @cvxluo in #123593
- Add dedicated outbox producer rollout by @cvxluo in #122120
- Route recovery through dedicated outbox by @cvxluo in #121985
Admin
- Add invoice lookup by @sentry-junior in #124130
- Add integration reset action by @sentry-junior in #123638
- Show both 24h sample rates in the customer overview by @shellmayr in #123553
- Query all regions in parallel on the customers page by @shellmayr in #123421
- Require retention periods to be 30 day intervals by @bcoe in #122996
- Show billing platform status on customer page by @armenzg in #122635
Agents
- Show token usage breakdowns by @sentry-junior in #124165
- Add agent-assisted setup to Explore onboarding by @obostjancic in #124038
- Update onboarding Arcade by @sentry-junior in #123566
- Add Cloudflare Agents SDK to agent onboarding by @ArthurKnaus in #123687
- Add Flue to the agent tracing onboarding by @ArthurKnaus in #123685
- Surface Eve in agent tracing onboarding by @ArthurKnaus in #123686
Ai Monitoring
- Enable enhanced conversation queries by default by @vgrozdanic in #124383
- Support conversation messages alias by @vgrozdanic in #124152
- Add conversation project links by @vgrozdanic in #124034
- Rename conversation aliases by @vgrozdanic in #124013
- Filter and sort whole conversations by @vgrozdanic in #123899
- Sort conversation table from headers by @vgrozdanic in #123758
- Sort conversation lists by supported aliases by @vgrozdanic in #123735
- Support conversation sorting by @vgrozdanic in #123691
- Register conversation metadata cleanup by @vgrozdanic in #122694
Api
- Mark experimental public endpoints as PUBLIC_EXPERIMENTAL by @DominikB2014 in #124192
- Add a PUBLIC_EXPERIMENTAL publish status by @DominikB2014 in #123914
- Add auto-detected
client_kindattribute to /events by @DominikB2014 in #123143 - Publish AI conversation endpoints by @vgrozdanic in #123323
- Publish issue view listing endpoint by @cvxluo in #123080
- Publish typed issue view creation endpoint by @cvxluo in #123079
- Audit undeclared runtime permission scopes by @gricha in #122046
- Add organization authentication config endpoint by @evanpurkhiser in #122277
- Add password recovery endpoints by @evanpurkhiser in #122276
- Resume pending MFA from auth config by @evanpurkhiser in #122274
- Add two-factor authentication endpoints by @evanpurkhiser in #122273
- Support organization context during login by @evanpurkhiser in #122271
- Validate login requests with a serializer by @evanpurkhiser in #122270
- Return authentication state from login by @evanpurkhiser in #122264
Apidocs
- Withhold enum values and verify schema omissions in #123968
- Let serializers declare the type of validated_data by @azulus in #123923
- Lint request parameters read without a serializer by @azulus in #123921
- Lint undeclared serializers on public endpoints by @azulus in #123919
- Lint that schema omissions carry a stated reason by @azulus in #123491
- Document the custom integration features field by @azulus in #123515
- Document organization member and SCIM fields by @azulus in #123486
- Convert internal request fields to omit_from_public_schema by @azulus in #123488
- Document project detail fields instead of hiding them by @azulus in #123467
- Document alert rule and monitor fields by @azulus in #123487
- Convert withheld response keys to omit_from_public_schema by @azulus in #123489
- Document notification, external team and release fields by @azulus in #123485
- Document issue ignore and snooze fields by @azulus in #123484
- Document Discover and Explore saved-query fields by @azulus in #123483
- Add omit_from_public_schema with a required reason by @azulus in #123462
Apigw
- Add org->cell resolution cache by @gi0baro in #122884
- Widen latency histogram buckets by @ldelvoye in #122483
Attachments
- Emit outcomes when deleting pending attachments by @jjbayer in #123757
- Defer storage for attachments without event ID by @jjbayer in #123568
- Add PendingEventAttachment table by @jjbayer in #123556
Auth
- Include organization slug in SSO errors by @evanpurkhiser in #124103
- Add Auth V2 frontend analytics by @evanpurkhiser in #123608
- Add WebAuthn authenticator carousel by @evanpurkhiser in #123438
- Animate Auth V2 login transitions by @evanpurkhiser in #123388
- Add dividers to login separators by @evanpurkhiser in #123353
- Display login errors on email field by @evanpurkhiser in #123349
- Apply Auth V2 rollout to login cookie by @evanpurkhiser in #123041
- Register Auth V2 rollout feature flag by @evanpurkhiser in #123040
- Compose React login flows by @evanpurkhiser in #122336
- Add organization authentication card by @evanpurkhiser in #122335
- Add organization selector by @evanpurkhiser in #122334
- Add two-factor authentication form by @evanpurkhiser in #122333
- Add two-factor authentication hooks by @evanpurkhiser in #122332
- Add email authentication form by @evanpurkhiser in #122331
- Add email authentication hooks by @evanpurkhiser in #122330
- Add React auth config query by @evanpurkhiser in #122329
- Add new login toggle to help menu by @evanpurkhiser in #122864
- Register Auth V2 toggle feature flag by @evanpurkhiser in #122862
- Add signup_method to signup verification analytics, add logs, metrics, analytics to sso email verification required feature by @nora-shap in #122683
- Gate React login behind a cookie by @evanpurkhiser in #122267
- Add console SMS backend by @evanpurkhiser in #122224
- Add React login shell by @evanpurkhiser in #122268
Autofix
- Generalize autofix feature payload by @rbro112 in #124146
- Instrument the check-runs sweep's GitHub cost by @joseph-sentry in #122830
- Prune stale check suites before consuming CI feedback by @joseph-sentry in #122775
- Stop PR iteration from an
@sentrycomment by @alexsohn1126 in #122477 - Support bash tool in autofix evidence by @Zylphrex in #123001
- Support read_file tool in autofix evidence by @Zylphrex in #122944
- Require root cause headline and expose it in overview API by @NicoHinderling in #122869
- Disable autofix-rca-in-seer with bash tools on by @Zylphrex in #122847
- Add toggle to enable bash tools for autofix by @Zylphrex in #122789
- Require nightshift for autofix-should-run-repo-checks by @Zylphrex in #122785
- Add pause for PR iteration by @alexsohn1126 in #122086
- Move truncated-runs notice into the assignee menu by @mtopo27 in #122615
- Ask handoff agents for informative PR descriptions by @sehr-m in #122085
- Collapse changed-files list after 5 files by @NicoHinderling in #122487
- Link merged overview cards to pull requests by @mtopo27 in #122166
Conversations
- Track agent prompt copies by @sentry-junior in #124387
- Track onboarding interactions by @sentry-junior in #124266
- Add conversation aliases by @vgrozdanic in #124014
- Name the traces behind a conversation by @ArthurKnaus in #123300
- Default the chart to conversation count by @ArthurKnaus in #122822
Cursor Origin
- Add the API clients by @wedamija in #124358
- Derive repository languages from the git tree by @wedamija in #124372
- Add auth primitives and app registration in #124348
Dashboards
- Add endpoint to hide dashboards per user in #124310
- Add DashboardHiddenUser model in #124294
- Dynamically fetch global filter attributes by @nsdeschenes in #123435
- Query App Starts table from app.vitals.start.value and app.vitals.start.screen by @buenaflor in #122577
- Add Trace Metrics table visualization for Series by @narsaynorath in #122849
- Explain page filter adjustments instead of hiding them by @DominikB2014 in #120841
Deletions
- Make event deletion task self-chaining idempotent by @shashjar in #122777
- Add project-level event deletion task killswitch by @shashjar in #122770
Derived Data
- Batch status consistency check by @kcons in #123497
- Log particularly old incremental updates by @kcons in #122376
Discover
- Add starring to saved query response by @lzhao-sentry in #124048
- Add endpoint for single saved query updates by @lzhao-sentry in #123926
- Add starred manager and endpoint for discover saved queries by @lzhao-sentry in #123795
- Add shared helpers and endpoint for starring by @lzhao-sentry in #123589
- Update discover queries api to use per user last visited by @lzhao-sentry in #123188
- Add models for starred and last visited by @lzhao-sentry in #123138
Dynamic Sampling
- Add killswitch option for the legacy jobs by @shellmayr in #123723
- Return EAP effective sample rate in endpoint for admin by @shellmayr in #123552
- Add option to clamp the recalibration factor by @shellmayr in #123429
- Serve rules from the per-org caches behind a rollout option by @shellmayr in #122567
- Write the per-org sample rates to cache by @shellmayr in #122569
- Cache org feature flags for per-org dynamic sampling by @shellmayr in #122460
- Add metric for cache hits/misses & make TTL configurable for recalibration by @shellmayr in #121949
Eslint
- Make no-redudant-default-arguments work across files by @TkDodo in #122976
- No-redundant default argument by @TkDodo in #122820
Event Formatter
- Render the alert definition for metric issues by @shayna-ch in #123594
- Add json output to the shared formatter by @shayna-ch in #123493
- Keep breadcrumbs out of the MCP payload by @shayna-ch in #123472
Explore
- Expose automatic JSON expansion flag to Relay by @k-fish in #124176
- Show agent data without conversations by @obostjancic in #124279
- Add combined saved queries get endpoint in #124180
- Add search filters to equation _if aggregates by @wmak in #122912
- Measure ingestion delay and expose it on the events-timeseries endpoint by @edwardgou-sentry in #124104
- Use new starring utils for saved queries by @lzhao-sentry in #124051
- Add data-fidelity annotations to the timeseries endpoint by @manessaraj in #123786
- Return array element values from attribute-values endpoint by @manessaraj in #123325
- Add a Share button to send time-locked URL by @JoshuaKGoldberg in #123625
- Preserve span samples when adding columns by @nsdeschenes in #123004
- Show start + finish timestamp in more legible utc by @adrianviquez in #123238
- Add first and last functions by @wmak in #123192
- Add expandable span sample details by @nsdeschenes in #122744
- Support array attributes in preprod search by @manessaraj in #122485
- Autocomplete array attribute element values by @manessaraj in #121847
- Support array attributes in logs and trace metrics search by @manessaraj in #122484
- Add per-series _if filters for span aggregates by @wmak in #121767
- Support array attributes in the column picker by @manessaraj in #122410
Flags
- Register Gen AI Agents overview flag by @obostjancic in #124391
- Create public identity fields getter by @kenzoengineer in #122653
Gal
Github
- Record when an installation's permissions were last read by @joseph-sentry in #123982
- Describe features lost when an install is missing permissions in #124105
- Mention Seer code review and Autofix on integration page by @joseph-sentry in #124187
Hybrid Cloud
- Dual-write backfill watermark to Postgres (behind option) by @strongs in #123838
- Move backfill watermark tables to the hybridcloud app by @strongs in #123945
- Add outbox backfill watermark models by @strongs in #123816
- Report backfill watermark state on every cycle by @strongs in #123535
- Measure synchronous outbox flush duration by @cvxluo in #123351
- Read deletion watermarks from postgres behind a flag by @strongs in #123260
- Dual-write deletion watermarks to Postgres (behind an option) by @strongs in #123195
- Add models for hybrid cloud deletion watermarks by @strongs in #123171
Hybridcloud
- Size webhook mailboxes from a rolling rate, not a volume gate by @vaind in #123449
- Add per-category and silo/type tags to outbox SLO … by @valencitas in #123466
- Chain a strict drain into its mailbox's next claim by @vaind in #123274
- Bucket Jira and VSTS webhook mailboxes by issue by @vaind in #123292
- Generalize mailbox event-type suffixes behind a registry by @vaind in #123293
- Report webhook backlog depth per provider by @vaind in #123158
- Add a break-glass option to shed inbound webhooks by @vaind in #122904
- Overselect scheduler heads to hit the dispatch target by @vaind in #122689
- Report mailbox depth quantiles alongside max_depth by @vaind in #122035
Inbound Filters
- Add catch-all filters by @shellmayr in #123307
- Read and write the filter data type in the API by @shellmayr in #123565
- Serialize catch-all and span filters to Relay by @shellmayr in #123564
- Add a data_type column to custom inbound filters by @shellmayr in #123432
Inbox
- Collapse completed PRs before latest regression by @roggenkemper in #123173
- Show autofix progress messages by @malwilley in #123355
- Add header docs tooltip by @malwilley in #122943
- Track issue preview views by @malwilley in #122901
- Link empty states to broader inboxes by @roggenkemper in #122593
Integrations
- Accept Azure DevOps work item URLs when linking by @betegon in #124308
- Accept GitHub issue and pull request URLs by @betegon in #124305
- Accept GitLab issue URLs when linking by @betegon in #124306
- Accept Bitbucket issue URLs when linking in #124307
- Accept Jira URLs when linking external issues in #124067
- Search GitHub issue form options by @scttcper in #123455
- Link the configurations crumb to the integration's configurations tab by @shashjar in #123470
- Prefetch GitHub issue form options by @scttcper in #123285
- Defer GitHub issue form options by @scttcper in #123284
- Add request detail drawer to the Request Log by @mrduncan in #121577
Investigations
- Wire orchestration execution by @arslnb in #123360
- Materialize the investigation report from Seer events by @wedamija in #123537
- Reduce Seer orchestration projection events by @arslnb in #123281
- Add serializers for Seer orchestration payloads by @wedamija in #123534
- Add the Seer orchestration client by @wedamija in #123452
- Stage Seer orchestration events by @arslnb in #123242
- Accept orchestration commands by @wedamija in #123404
- Emit duration metrics to Datadog by @arslnb in #123498
- Implement GET endpoint for investigation orchestration by @wedamija in #123402
- Add agentic investigation creation by @arslnb in #123086
- Add orchestration persistence by @arslnb in #122972
- Add exhaustive UI stories by @billyvg in #122856
- Record terminal lifecycle outcomes by @arslnb in #122809
- Support all metric detector types by @arslnb in #122783
- Focus active investigation progress by @arslnb in #122682
- Add lifecycle telemetry by @arslnb in #122678
- Add in-product feedback by @arslnb in #122679
- Surface generated investigation summaries by @arslnb in #122242
- Improve breached metric analysis by @arslnb in #122241
- Build interactive investigation detail view by @arslnb in #122154
- Add breached metric entrypoints by @arslnb in #122114
Issues
- Keep event controls visible while scrolling by @scttcper in #123668
- Use AvatarButton for compact controls by @roggenkemper in #123575
- Support cjs, mts, and cts code mappings by @scttcper in #123083
- Expose latest issue regression with linked PRs by @roggenkemper in #123172
- Remove legacy issue activity editor by @scttcper in #122113
- GA Seer actions and collapse status flapping by @scttcper in #122532
Metrics
- Option to disable generic metrics by @jjbayer in #124159
- Add an export button by @JoshuaKGoldberg in #122041
Monitors
- Add partition list to clock pulse by @strongs in #124355
- Improvements to app metric equation rendering by @bcoe in #122367
Onboarding
- Track agentic setup views by @sentry-junior in #124297
- Add SCM messaging step interaction analytics by @jaydgoss in #124185
- Add SCM messaging step funnel analytics by @jaydgoss in #124123
- Polish the welcome setup cards by @itsdangold in #124128
- Compare the messaging destination on project reuse by @jaydgoss in #122802
- Create projects from SCM messaging by @jaydgoss in #122596
- Rework the agentic progress card by @itsdangold in #123607
- Rework the welcome setup step by @itsdangold in #123606
- Track agentic stage completion by @evanpurkhiser in #122888
- Explain agent progress updates by @evanpurkhiser in #122840
- Use code blocks for setup commands by @evanpurkhiser in #122853
- Wire agent progress into welcome setup by @evanpurkhiser in #122786
- Use dashed icon for pending agent stages by @evanpurkhiser in #122787
- Preload agentic run initialization by @evanpurkhiser in #122781
- Refine agentic progress display by @evanpurkhiser in #122774
- Persist agentic run initialization by @evanpurkhiser in #122728
- Add agentic progress components by @evanpurkhiser in #122057
- Add agentic progress hooks by @evanpurkhiser in #121994
- Section the SCM platform picker into Popular and Other by @jaydgoss in #122104
- Support grouped options in ScmVirtualizedMenuList by @jaydgoss in #122103
Pr Iter
- Add checkpoint metrics to manual PR iteration by @alexsohn1126 in #124342
- Record the review bots behind consumed feedback in #124281
- Include the iteration id in log context by @joseph-sentry in #123791
- Record iteration outcome instead of a bool by @joseph-sentry in #123584
- Record the trigger source on the iteration event by @joseph-sentry in #123641
- Pause PR iteration when the run errors by @joseph-sentry in #123371
- Grey out the iteration form on a paused run by @alexsohn1126 in #123159
- Expose
pr_iteration_pausedon Autofix state by @alexsohn1126 in #123157 - Block PR iteration on missing GH perms by @joseph-sentry in #122573
- Run deferred consume when CI is complete by @joseph-sentry in #122520
Pr Iteration
- Record blocked PR iterations in analytics by @joseph-sentry in #124112
- Measure missing-permission comments vs app updates by @joseph-sentry in #123459
Pr Metrics
- Report how deep the activity sweep's backlog is by @vaind in #121616
- Link a delegated agent's PR on the match that attributes it by @vaind in #121877
Preprod
- Gate snapshot objectstore writes behind an option by @NicoHinderling in #124210
- Add direct IPA download for iOS builds by @mtopo27 in #124410
- Send explicit image types for icons and snapshots in #124330
- Read app icons from the size-analysis usecase in #124328
- Read snapshot objectstore content from both usecases in #124194
- Auto-approve snapshots with sub-threshold hash diffs by @NicoHinderling in #123954
- Add one-click overlay visibility toggle to snapshot toolbar by @NicoHinderling in #124071
- Add keyboard shortcuts help to the snapshot toolbar by @NicoHinderling in #124066
- Make single-image snapshot cards zoomable in list view by @NicoHinderling in #124062
- Make missing-base snapshot copy actionable by @NicoHinderling in #123943
- Pass organization_slug to launchpad process_artifact task by @NicoHinderling in #123538
Relay
- Add Nintendo event rewriting feature flag by @JoshuaMoelans in #123020
- Update to relay version 0.9.28 by @jjbayer in #122202
Rollout
- Add wildcard matching to SafeRolloutComparator by @kenzoengineer in #123864
- Add error metric to
SafeRolloutComparatorby @kenzoengineer in #122659
Scm
- Tag SCM exceptions with organization slug and ID by @sentry in #123190
- Add PR changed-files endpoint with diff hunks by @NicoHinderling in #122119
Scm Messaging Integrations Ui
- Microsoft teams connection modal busy state by @Abdkhan14 in #123748
- Hiding other rows on complete by @Abdkhan14 in #123006
- Refetching providers/integrations list on window focus by @Abdkhan14 in #122729
Scraps
- Make button size responsive by @priscilawebdev in #123110
- Add RelativeTime component by @ChrisandraVaz in #121854
- Interactive Chip compound components by @natemoo-re in #121648
- Add Tooltip.Header, Grid, Row and Footer by @ChrisandraVaz in #121983
- Make Scraps the canonical story URL by @priscilawebdev in #122556
- Add typed OTP input formats by @evanpurkhiser in #122222
- Add OTP input primitive by @evanpurkhiser in #122211
Seer
- Add monitor cleanup workflow UI by @trevor-e in #123978
- Redesign IconSeer loading animation for ThinkingBlock in #124300
- Add monitor cleanup workflow execution in #123966
- Add autofix issue data model by @Mihir-Mavalankar in #124191
- Register fixability data flag by @Mihir-Mavalankar in #124142
- Add the single log line embed by @billyvg in #123906
- Give the profile embed a real block level by @billyvg in #123901
- Render autofix embed detail through the live-run components by @ryan953 in #123667
- Add the agent conversation embeds by @billyvg in #123908
- Add the single error event embed by @billyvg in #123905
- Record when a markdown embed is rendered by @billyvg in #123912
- Add trace waterfall embed by @billyvg in #123047
- Add the saved query block embed by @billyvg in #123799
- Add the logs query block embed by @billyvg in #123798
- Add the replays query block embed by @billyvg in #123796
- Add spans query embed by @billyvg in #123012
- Add the metrics query block embed by @billyvg in #123793
- Add saved issue view previews by @billyvg in #123051
- Add errorsQuery and errorsQueryAggregate embeds by @billyvg in #122917
- Call the Autofix completion hook when a run fails by @joseph-sentry in #123045
- Add rich alert block embeds by @billyvg in #122859
- Add type-specific monitor block embeds by @billyvg in #122751
- Record prompt version on night shift deliveries by @trevor-e in #123407
- Emit analytics for each automated PR iteration by @joseph-sentry in #123197
- No-op the Autofix completion hook on failed runs by @joseph-sentry in #123044
- Add release card embed by @billyvg in #122922
- Render dashboards in block embeds by @billyvg in #122836
- Add user-initiated Seer activities to issue details tool output by @hobzcalvin in #122952
- Structured logging for the automated PR-iteration flow by @joseph-sentry in #122088
- Add structured Night Shift errors by @trevor-e in #123065
- Add browser-fetching autofixRef embed by @ryan953 in #122099
- Track sidebar resize and position analytics by @sentry-junior in #123058
- Collapse Autofix setup warning into a filter-row tooltip by @mtopo27 in #122975
- Add force bash mode toggles for Ask Seer and Autofix by @chromy in #122982
- Show generated headline as autofix overview card title by @NicoHinderling in #122872
- Make Recommended the default autofix overview sort by @mtopo27 in #122880
- Let anywhere in the app post a message into the Seer chat by @ryan953 in #122900
- Collapse each response into one ThinkingBlock by @natemoo-re in #121972
- Add recommended sort to the autofix overview endpoint by @mtopo27 in #122879
- Render code-mode tool calls with ToolCall by @natemoo-re in #121331
- Window autofix overview SCM enrichment by visibility by @NicoHinderling in #122755
- Register the organizations:seer-xray feature flag by @ryan953 in #122768
- Support conditional requests on the autofix state endpoint by @alexsohn1126 in #121885
- Add employee-only Seer XRay Mode and wire LLM context into navigation by @ryan953 in #122143
- Render replay clip player in block-level replay embed by @billyvg in #122711
- Default the Seer Autofix drawer to 80% width by @jshchnz in #122747
- Add windowed autofix-overview SCM-info endpoint by @NicoHinderling in #122735
- Add resource link embeds for Sentry entities and queries by @ryan953 in #122626
- Add ToolCall chat component by @natemoo-re in #121330
- Add dashboard and replay embeds by @billyvg in #122620
- Drop 90-day option from Autofix overview activity filter by @mtopo27 in #122609
- Show the skeleton on an Autofix Overview sort change by @mtopo27 in #122611
- Add analytics to the Autofix Overview page by @mtopo27 in #122426
- Link failing checks to their runs on autofix overview by @NicoHinderling in #122489
- Add failing check run URLs to autofix overview API by @NicoHinderling in #122486
- Expose Autofix Overview page in the issues nav by @mtopo27 in #122307
- Consolidate Autofix Overview loading states by @mtopo27 in #122425
- Prefetch PR file diffs on hover over code changes by @mtopo27 in #122320
- Warn when selected projects can't run Autofix by @mtopo27 in #122300
- Add projectConfig expand to autofix overview endpoint by @mtopo27 in #122261
- Allow free Autofix overview access by @trevor-e in #122101
- Default autofix overview to 7 day window by @NicoHinderling in #122251
- Toast autofix milestone advances on overview by @NicoHinderling in #122240
- Include autofix_rca runs in autofix overview by @NicoHinderling in #122245
- Animate the Checks Running badge spinner by @NicoHinderling in #122243
- Add Seer button to overview PR and merged cards by @NicoHinderling in #122238
- Add collapse/expand all groups toggle to autofix overview by @mtopo27 in #122239
- Break out Autofix Activity selector on overview by @mtopo27 in #122235
- Turn autofix overview working status into a Seer button by @NicoHinderling in #122230
- Show project platform icon next to short ID on overview card by @mtopo27 in #122232
- Gate autofix overview handoff on precomputed repo eligibility by @NicoHinderling in #122229
- Add coding-agent repo eligibility to autofix overview by @NicoHinderling in #122226
- Open autofix overview Seer drawer in place by @NicoHinderling in #122223
- Add In Progress tab to autofix overview by @NicoHinderling in #122192
- Poll live autofix run status on overview by @NicoHinderling in #122191
- Add status expand for live autofix run status by @NicoHinderling in #122190
- Execute autofix actions from overview cards by @NicoHinderling in #122186
- Add an agent token compatibility user by @gricha in #121839
- Add an assignee filter to the Autofix overview by @NicoHinderling in #122182
- Show failed check details on Autofix overview PR tags by @NicoHinderling in #122184
- Expose failed check names on Autofix overview PRs by @NicoHinderling in #122183
- Hide closed pull requests on Autofix overview by @NicoHinderling in #122179
- Report truncated sections on the Autofix overview by @NicoHinderling in #122181
- Show Seer trial CTA on autofix overview by @NicoHinderling in #120424
- Group Autofix overview file lists by repository by @NicoHinderling in #122173
- Include repository name on Autofix overview PRs by @NicoHinderling in #122172
- Show generated code changes on Autofix overview by @NicoHinderling in #122165
- Render PR statuses as tags by @mtopo27 in #122170
- Expose generated code changes on Autofix overview by @NicoHinderling in #122162
- Add Autofix overview empty state by @mtopo27 in #122168
- Add Autofix overview UI by @NicoHinderling in #121749
- Resolve a coding agent's repo by the id it was launched against by @vaind in #121873
- Add selectable sort to autofix overview endpoint by @NicoHinderling in #122117
Seer Infra Telemetry
- Group GCP connection errors by affected projects and services by @shashjar in #124089
- Preserve service-level GCP connection verification results by @shashjar in #124073
- Make GCP project IDs a multi-select on configuration page by @shashjar in #123809
- Use a multi-select field for GCP project IDs in the setup wizard by @shashjar in #123814
- Add hints, links, and visibility toggle to Datadog installation flow by @srest2021 in #123458
- Add permission setup instructions to GCP integration onboarding flow by @shashjar in #123461
- Show GCP connection status on the integration settings page by @shashjar in #123258
- Expose GCP connection status in integration config data by @shashjar in #123251
- Re-verify GCP connection after configuration changes from frontend by @shashjar in #123193
- Make GCP integration settings editable and re-verify on change by @shashjar in #123187
- Revise Connectors page to display integrations with Seer context category by @srest2021 in #123049
- Add GCP connection verification step to install wizard by @shashjar in #122928
- Verify GCP connection during integration setup (backend) by @shashjar in #122906
- Add GCP connection verification endpoint by @shashjar in #122107
- Show read-only config on GCP integration configure page by @shashjar in #122512
Settings
- Clarify Spike Protection notification setup by @sentry-junior in #123517
- Paginate project environments by @scttcper in #122108
Skills
- Add migrate-breadcrumb-list skill by @Jesse-Box in #123903
- Add remove-option-or-flag skill by @vaind in #121842
Smart Assignment
- Fuzzy-match candidates in #124232
- Add get_project_members Seer RPC tool by @hobzcalvin in #124136
- Pass repos to SA prompt to the agent doesn't guess by @hobzcalvin in #123381
- Resolve unverified user emails when delivering results by @hobzcalvin in #123383
- Add some metrics for datadog dashboard by @hobzcalvin in #123011
- Seer RPC to get assignees for issues in bulk by @hobzcalvin in #122614
Tracemetrics
- Add visualize reset button by @adrianviquez in #122940
- Allow saving Table in dashboards with flag by @narsaynorath in #122878
- Add feature flag for table support in dashboards by @narsaynorath in #122860
- Add sum and count for gauge metrics by @k-fish in #122475
Ui
- Support multiple and creatable select fields in the auto-save form by @shashjar in #123803
- Persist the conversations table column widths by @ArthurKnaus in #123310
- Animate branded page artwork by @evanpurkhiser in #122328
- Add branded page layout by @evanpurkhiser in #122262
Workflow Engine
- Add detector and action filters by @gricha in #124077
- Add the comparison information to logs by @saponifi3d in #123278
- Add evaluation logs to detectors by @saponifi3d in #121908
- Add option to enable debug logging by workflow id by @kcons in #122360
- Add option to pick workflow_ids that should trigger evaluation logs by @kcons in #122359
- Tag action-based Condition evaluation debug logs with ids by @kcons in #122357
- Comprehensive debug logging for LatestAdoptedReleaseConditionHandler by @kcons in #122344
Workflows
- Require condition comparison schemas by @sentry-junior in #124143
- Add project scope endpoint by @malwilley in #124133
- Allow team admins to delete workflows connected to their projects by @malwilley in #123286
- Allow team admins to create alerts for their own projects by @malwilley in #123033
Other
- (action backfill) Filter options based on value by @kcons in #122791
- (agent-tracing) Align traces table styling by @sentry-junior in #124284
- (alerts) Metrics monitoring of anomaly detection failures by @kcons in #123670
- (anomaly detection) More refined tracking of Seer-provided errors by @kcons in #124095
- (audit) Mark delegated agent actions by @gricha in #122031
- (avatarButton) Support round shape, suggested state, and empty avatars by @natemoo-re in #123352
- (billing) Show billing-platform migration banner on subscription overview by @armenzg in #122636
- (buttonTracking) Track anonymous custom events by @evanpurkhiser in #123482
- (chat) Clamp tool call input/output boxes with click-to-expand by @natemoo-re in #123161
- (codeblock) Add wrapping and persistent copy action by @evanpurkhiser in #122780
- (crons) Log a sample of over-quota and rate limited check-in drops by @wedamija in #122544
- (dart) Fall back to token-level remapping for compound exception types by @buenaflor in #123151
- (derived) Add basic gating helpers by @kcons in #122616
- (difs) Add flag to delete corrupt files during migration by @lcian in #123730
- (docs) Add agent guidance around save hooks in migrations by @kcons in #123627
- (events) Add Windows Error Reporting context by @jpnurmi in #121702
- (forms) Make RowLayout responsive by @TkDodo in #123692
- (icons) Add dashed circle icon by @evanpurkhiser in #122772
- (integration) Add tooltip to pending deletion by @sentaur-athena in #121473
- (issue-details) Register priority and assignee UI flag by @roggenkemper in #122909
- (lint) Disallow mocking supported test hooks in #124341
- (markdown) Report silent markdown render fallbacks to Sentry by @ryan953 in #122968
- (models) Add a get_or_none helper so first() isn't the ergonomic choice by @kcons in #123469
- (nav) Add new badge to Explore Agents sidebar item by @sentry-junior in #123289
- (notifications) Add referrer query param to activity notifications by @malwilley in #122665
- (orgs) Reserve solutions organization slug by @sentry-junior in #120635
- (ourlogs) Add ourlogs-regex-searches feature flag by @JoshuaKGoldberg in #123778
- (project-creation) Migrate project creation flow to new workflow engine endpoints by @malwilley in #123074
- (redis) Reject writes with no TTL by @ldelvoye in #122927
- (release) Use spans dataset for release comparison table by @adrianviquez in #123406
- (releases) Migrate the release detail header to BreadcrumbList by @Jesse-Box in #124160
- (replay) Up inner_limit from 1k-10k when verify_replay_exists flag is on by @adrianviquez in #123048
- (scim) Extend privilege sync to support all UserPermissions by @michelletran-sentry in #123003
- (scm-messaging-integration) Minor ui changes by @Abdkhan14 in #123929
- (search) Add deprecation-aware attribute lookup by @nsdeschenes in #123306
- (seer-explorer) Show work in flight in the agent's own words by @azulus in #122919
- (seerExplorer) Code Mode entity deep-links + longest-prefix inheritance by @sentry-junior in #122890
- (sentry-apps) Collapse template configuration panels by @cvxluo in #122404
- (slack) Add native Seer write approvals by @gricha in #122497
- (stacktrace) Add astro file extension for syntax highlighting by @JuJup in #122603
- (stacktraces) Trim the IL2CPP method hash from native function names by @bitsandfoxes in #121963
- (symbolication) Add request headers for project and event ID by @loewenheim in #123722
- (tabs) Remove disableOverflow prop and correct automatic overflow behavior by @priscilawebdev in #123879
- (tasks) Log GAL coordinator phases by @yuvmen in #122619
- (teapot-backend) Integrate Teapot GPU symbolication service with Sentry by @mujacica in #119375
- (trace) Enable zooming from vital indicator pills by @nsdeschenes in #122699
- (traces) Scope agent activity view to one conversation at a time by @ArthurKnaus in #123559
- (usageStats) Add
callback_errorclient discard reason by @msonnb in #123316 - (warden) Add wrdn-dos-review skill silently via warden-skills by @oioki in #122326
- Drop the require_email_verification column by @lynnagara in #123481
- Autofix routes are on the org only path by @lynnagara in #123465
- Support conditional inclusion of routes on the legacy issues/ path by @lynnagara in #123401
- Strict cssTypes by @TkDodo in #123305
- Add cancel button when editing monitors by @RudraPatel2003 in #122932
- Remove incidents flag by @RudraPatel2003 in #122607
- Set incidents feature flag to true by @RudraPatel2003 in #122522
- Remove "incidents" Feature components on frontend by @RudraPatel2003 in #122374
- Remove organizations:incidents flag on frontend by @RudraPatel2003 in #121984
Bug Fixes 🐛
Action Log
- Serialize comments by their
Activityid by @shashjar in #123512 - Sanitize non-jsonb-able data when converting from Activity by @kcons in #123532
- Hash dedicated outbox rollout key by @cvxluo in #123391
Admin
- Parse chart date range URL params as UTC by @shellmayr in #124167
- Block non-Seer product trial starts on enterprise plans by @sentry-junior in #123807
- Parse project ID in admin home project search by @shellmayr in #123414
- Positioning of base sample rate in dynamic sampling table by @shellmayr in #123423
- Stop queries from interfering with each other on customer details page by @shellmayr in #123312
- Move the region probe spinner to stop layout shifts by @shellmayr in #123134
Agents
- Match additional model provider icons by @sentry-junior in #124395
- Remove beta labels by @obostjancic in #122738
- Show span ID in AI span details by @ArthurKnaus in #122829
Ai
- Expand standalone conversation tags by @matejminar in #124157
- Avoid deprecated message attribute access by @NicoHinderling in #122998
- Assign conversation API to telemetry experience by @vgrozdanic in #122458
Ai Monitoring
- Prefer last user message for conversation titles by @vgrozdanic in #123684
- Match conversation agent flow on operation type agent by @sentry-junior in #123326
- Query replacement telemetry attributes by @obostjancic in #123112
- Repair conversation span trees by @vgrozdanic in #123137
- Refresh active conversation metadata by @vgrozdanic in #122693
Alerts
- Advertise required scope for monitor updates by @gricha in #124149
- Load saved teams missing from the selector by @scttcper in #123928
- Show selected members in automation rules by @scttcper in #123913
- Return validation error for unsupported alert datasets by @sentry-junior in #122209
- Clarify Microsoft Teams channel input by @malwilley in #123527
- Log InvalidSearchQuery in EAP alerts at info level by @sentry in #123098
- Migration to repair latest adopted release environments by @hobzcalvin in #122096
Analytics
- Initialize Amplitude for logged-out users by @evanpurkhiser in #123805
- Send logged-out events to Amplitude by @evanpurkhiser in #123783
Api
- Validate more path-provided model object IDs by @kcons in #124368
- Allow event:write for unlinking and own comments by @betegon in #123925
- Remove alert-filters from API examples by @sentry-junior in #123863
- Remove stale alert-filters from unused-frontend-features set by @sentry-junior in #123850
- Capture more script user agents in client_kind by @DominikB2014 in #123640
- Align team project creation permissions by @jaydgoss in #123050
- Correct Explore saved query contracts by @gricha in #123645
- Classify Seer callers ahead of unknown in client_kind by @DominikB2014 in #123578
- Skip issue mutations without project access by @cvxluo in #123108
- Reject invalid organization stats parameters by @cvxluo in #123170
- Reject invalid artifact bundle UUIDs by @NicoHinderling in #122999
- Honor scope hierarchy in permission scope audit by @gricha in #123064
- Complete generated query parameters by @billyvg in #122837
- Preserve opaque keys under additional_fields on write by @sentry-junior in #122398
- Reject negative pagination cursors by @cvxluo in #122411
- Reject negative issue snooze conditions by @cvxluo in #122435
- Handle invalid date query params in incidents endpoint by @sentry in #122171
- Drop null entries from resolvedWith in event serialization by @emilbonnek in #122124
Attachments
- Save pending attachments when saving a transaction by @jjbayer in #123875
- Set content type on Objectstore attachment uploads by @jan-auer in #122571
Auth
- Remove account settings from organization login by @evanpurkhiser in #123823
- Synchronize branded sign-in loading by @evanpurkhiser in #123647
- Use consistent sign-in copy in organization card by @evanpurkhiser in #123615
- Keep 2FA authorizing state during redirect by @evanpurkhiser in #123613
- Simplify organization auth card copy by @evanpurkhiser in #123571
- Show WebAuthn authorization progress by @evanpurkhiser in #123475
- Show pending state for organization SSO by @evanpurkhiser in #123573
- Render login warnings by @evanpurkhiser in #123454
- Keep organization lookup busy during transition by @evanpurkhiser in #123460
- Adapt organization clear action for mobile by @evanpurkhiser in #123457
- Keep login button available for password managers by @evanpurkhiser in #123434
- Set sso flags on invite accept by @nora-shap in #123088
- Shorten passkey waiting message by @evanpurkhiser in #123346
- Preserve rollout across organizations by @evanpurkhiser in #123257
- Reject static asset paths as post-login redirects by @nora-shap in #123095
- Redirect SSO directly to organization by @evanpurkhiser in #123152
- Canonicalize customer domain login URLs by @evanpurkhiser in #123155
- Send Auth V2 cookie through SAML callbacks by @evanpurkhiser in #123052
- Allow organization cards to overflow by @evanpurkhiser in #123038
- Exempt invited SSO signups from required email verification by @nora-shap in #122812
- Camelize auth config callback keys by @evanpurkhiser in #122259
- Stop duplicating x509 cert on SAML settings by @sentry-junior in #122730
- Restrict console messaging backends to debug mode by @evanpurkhiser in #122317
Autofix
- Include Linear link in Cloud Agent PR prompt by @sentry-junior in #124269
- Gracefully fail when manual feedback is not accepted by @alexsohn1126 in #124098
- Skip record_seer_run for free cohort orgs by @Mihir-Mavalankar in #123444
- Disable code-changes reset when PR iteration is paused by @joseph-sentry in #123464
- Propagate the referrer through the RCA feature path by @chromy in #123574
- Expand small code changes by default by @trevor-e in #123665
- Send user context with feature runs by @trevor-e in #123393
- Allow bash tools with seer rca again by @Zylphrex in #123253
- Open the Seer Agent debug drawer with sentry_run_id by @chromy in #123008
- Respect force bash mode from the Start Analysis button by @chromy in #123007
- Don't offer PR iteration after a failed PR create by @joseph-sentry in #122599
- Autoscroll the Seer Autofix drawer to the bottom on open by @jshchnz in #122745
- Refresh repository write permissions by @jamieQ in #122498
- Don't treat a failed push as an opened PR by @joseph-sentry in #121745
- Don't mark seer action busy when feedback is queued by @malwilley in #122415
- Turn off the context engine for autofix runs by @chromy in #122423
- Show start card when no run exists by @jamieQ in #122288
- Align changed file rows by @mtopo27 in #122207
Automations
- Set de-escalation priority default by @sentry-junior in #124216
- Hide bulk actions without write access by @malwilley in #123531
- Format custom frequency intervals by @malwilley in #122784
Billing
- Sanitize the partner support note by @oioki in #122323
- Show account credits when no billing details are on file by @itsdangold in #123448
Ci
- Reconcile pull request scope metadata by @jamieQ in #123792
- Use exact PR file lists for change detection by @mchen-sentry in #122736
Conversations
- Center empty table status by @sentry-junior in #123997
- Make missing messages banner dismissible by @sentry-junior in #123996
- Align the conversation header skeleton with its content by @ArthurKnaus in #123425
- Stop the trace link looking external by @ArthurKnaus in #122828
- Use user ID as display-name fallback by @fallintoplace in #120756
- Stop loading after reaching the pagination cap by @fallintoplace in #120751
Crons
- Remap live environments during project transfer by @evanpurkhiser in #124199
- Require enough check-ins for incident threshold by @sentry-junior in #123991
- Timeout seat acceptance during check-in ingest by @sentry-junior in #123175
- Expire system incident redis keys by @ldelvoye in #122517
Dashboards
- Tighten and align the widget table star column by @JoshuaKGoldberg in #123436
- Prevent global filter button stretching by @priscilawebdev in #123311
- Open Add Widget menu away from side nav by @sentry-junior in #123191
- Make tests for widget builder and nav bar position alignment by @nikkikapadia in #122875
- No title unstacked bar charts by @nikkikapadia in #122911
- Prettify typed EAP attribute keys in group by by @DominikB2014 in #123013
- Restore revisions with accessible projects by @skaasten in #122916
- Prevent IndexError for deleted dashboard creators by @sentry in #122945
- Stop cascading delete on creator removal by @sentry-junior in #122910
- Audit log create, edit, and delete by @sentry-junior in #122876
- Seer edit prompt z-index over dropdowns by @nikkikapadia in #122754
- Fix ai agent overview trace table widget type by @edwardgou-sentry in #122868
- Reject newly invalid widget heights on update by @skaasten in #122748
- Enforce widget minimum height on create by @skaasten in #122601
- Widget builder not respecting navbar width by @nikkikapadia in #122778
- AI Agents Overview linked dashboard url not normalized by @nikkikapadia in #122510
- Enforce min height when duplicating dashboard by @narsaynorath in #122764
- Remove redundant is_transaction from frontend overview table by @DominikB2014 in #122722
- Table widget stories collapsing by @lzhao-sentry in #122586
- Don't 500 when validating with an empty project list by @skaasten in #120998
- Format negative bytes in metrics charts by @lzhao-sentry in #122476
- Suggest refreshing when a save hits stale widget ids by @DominikB2014 in #122482
- Return results instead of 400 for widgets with an empty orderby by @skaasten in #121752
Deletions
- Drop the stale-comment immortality pin from PullRequest retention by @vaind in #121952
- Make checkin deletions via monitor env stop using bulk deletion task by @wedamija in #122309
Derived
- Properly classify promotion race by @kcons in #123985
- Narrow the child duplication window in generate_project_derived_data by @kcons in #123980
- Schedule consistency checks from leftover heal budget by @sentry-junior in #123363
Derived Data
- Don't block promotion because live row points at invalid data by @kcons in #123639
- Refine promote_to_live logic by @kcons in #123386
- When reporting status divergence, report result in all cases by @kcons in #123345
- Make heal_stale_derived_data stale group selection more efficient by @kcons in #123096
- Ignore status updates from merged in commits by @kcons in #122967
- Refine incremental update tracking by @kcons in #122766
- Force constraint validation when trying to create GroupDerivedData by @kcons in #122494
Difs
- Make migration tasks more reliable by @lcian in #123148
- Shorten Objectstore migration activations by @lcian in #122688
- Skip permanently corrupt DIFs when migrating by @lcian in #122393
Discover
- Remove unnecessary type assertion in fields spec by @sentry-junior in #122721
- Remove /homepage and redirect to index by @nikkikapadia in #120742
- Adjust backend validation for returning transactions queries by @nikkikapadia in #121959
- Change upsell text to team instead of business by @nikkikapadia in #122084
Dynamic Sampling
- Carry the recalibration factor across a pipeline switch by @shellmayr in #123142
- Don't write legacy recalibration after switch to per-org by @shellmayr in #123121
- Compute the per-org recalibration factor only for served orgs by @shellmayr in #122994
- Invalidate project config when recalibration factor changes by @shellmayr in #122981
- Skip a per-org recalibration write within one cycle by @shellmayr in #122974
- Run recalibration only on EAP by @shellmayr in #122583
- Clamp the effective sample rate to 1 by @shellmayr in #121937
Event Formatter
- Stop json field types depending on item count by @shayna-ch in #123808
- Skip tags with null keys by @sentry-junior in #123529
Explore
- Preserve project icons after sorting aggregates in #124292
- Disable conversation search history by @vgrozdanic in #124278
- Add function type badges to aggregate dropdowns by @nsdeschenes in #124161
- Ignore empty cross-event query filters by @nsdeschenes in #124058
- Disable copy-as-filter for array attribute cells by @manessaraj in #124114
- Pass actor when checking the annotations feature flag by @manessaraj in #124030
- Stop dropping attributes past the attribute name limit by @JoshuaKGoldberg in #122066
- Show logs sidebar collapse at same breakpoint as panel by @sentry-junior in #123144
- Export with highest accuracy sampling by @JoshuaKGoldberg in #122873
- Register span item details referrer by @nsdeschenes in #122843
- Type array columns in events validate endpoint by @manessaraj in #122399
- Populate avg_if argument options in the equation editor by @JoshuaKGoldberg in #122203
- Fix bug expanding rows in explore by @k-fish in #120491
- Show empty boolean group-by as (no value) by @manessaraj in #122346
Forms
- Include :orgId in new provider form route for search by @sentry in #121051
- Have SelectField restores focus after selecting an option with the keyboard by @TkDodo in #122570
Gal
- Attribute external issue actions to apps by @cvxluo in #124050
- Resolve enrollment through feature handlers by @cvxluo in #122645
Github
- Scope installation lookups to the GitHub provider by @vaind in #123818
- Chunk pull request status GraphQL queries by @NicoHinderling in #122671
Gitlab
- Reconcile the project hook when a repository is relinked by @vaind in #123742
- Bound the receipt failure counter's error tag by @vaind in #122815
Grouping
- Filter out invalid bases in
EnhancementsConfigobjects by @lobsterkatie in #122503 - Mark Flutter web pub-cache frames as not in-app by @buenaflor in #122395
Hc
- Updates RPC error reporting code by @GabeVillalobos in #123848
- Wraps RPC JSON body parsing in explicit error-handling, updates RPC internal error handling in API by @GabeVillalobos in #123842
Hybridcloud
- Read the rate window without a pipelined mget by @joseph-sentry in #124099
- Do not drop webhooks when mailbox sizing fails by @joseph-sentry in #124047
- Bound drains by their claim's deadline; merge the drains by @vaind in #122893
- Dispatch skip-on-failure mailboxes from their oldest due record by @vaind in #122686
- Scope webhook mailboxes to their destination cell by @vaind in #122687
- Allow skip-on-failure for Bitbucket, GHE and GitLab webhooks by @vaind in #121057
Inbox
- Avoid separating old PRs when there are no new ones to show by @malwilley in #123938
- Restore selected issue scroll position by @roggenkemper in #122846
- Improve fix applied issue actions by @roggenkemper in #122632
- Add referrer to issue preview links by @malwilley in #122898
- Disambiguate multiple PR actions by @roggenkemper in #122633
- Show retry CTA when Seer produces no code changes by @roggenkemper in #122464
- Simplify view PR action label by @roggenkemper in #121318
- Include identified issues in assigned section by @malwilley in #122515
- Align Autofix action icons by @roggenkemper in #122481
- Hide "Identified" section when on the "All" tab by @malwilley in #122480
Insights
- Detect mobile vitals spans for module flags by @sentry-junior in #122684
- Repair legacy
/performance/<module>/redirects by @mrduncan in #122407 - Fix web vitals and screen load detection by @mjq in #122266
Integrations
- Guard inbound assignee sync against reordered webhooks by @vaind in #121157
- Use GraphQL for GitHub assignees by @scttcper in #123657
- Scope external user lookup by user by @sentry-junior in #123525
- Honor pagerduty.app-id from config.yml by @bhataprameya in #122025
- Preserve ticket rule selections by @scttcper in #123676
- Search GitHub after prefetching empty query by @scttcper in #123456
- Check the assignment result in inbound assignee sync by @shashjar in #122933
- Ignore reordered and replayed inbound status webhooks by @vaind in #121084
- Portal team mapping select menus above table rows by @sentry-junior in #122535
- Store webhook request bodies without double encoding by @mrduncan in #122361
Investigations
- Store Seer's producing run id instead of a foreign key by @wedamija in #123536
- Hide the raw JSON query answer from the transcript by @natemoo-re in #123162
- Route details through Explore by @arslnb in #122805
- Make generated summaries friendlier by @arslnb in #122681
- Run dependency-aware cell workflows by @arslnb in #122185
Issue Detection
- Handle data location differences in segment-derived evidence spans by @lobsterkatie in #123509
- Fix missing evidence data in segment-based occurrences by @lobsterkatie in #123450
Issue Detectors
- Fix missing nodestore data on segment-derived occurrences by @lobsterkatie in #123288
- Ignore parentless spans in N+1 API calls detector by @lobsterkatie in #123062
- Handle multiple bracketed values in hostnames by @lobsterkatie in #122637
Issue Details
- Don't show success notification on failure by @hobzcalvin in #123672
- Allow dupe-name repos, still query by unique (name,SHA) by @hobzcalvin in #123671
Issues
- Lower unpinned event header z-index in #124324
- Drop the 100vh content floor when the sidebar stacks by @ryan953 in #124090
- Restore issue details divider by @priscilawebdev in #124022
- Fall back to the exception type for synthetic exceptions by @bitsandfoxes in #123322
- Render exceptions without stack traces by @scttcper in #123675
- Cap page size on full=true event and hash listings by @oioki in #123694
- Prefer the crash location for synthetic exception titles by @bitsandfoxes in #123430
- Singularize suggested assignee tooltip in inbox by @sentry-junior in #123530
- Prevent view hierarchy from loading forever by @scttcper in #123031
- Hide divider with closed sidebar by @priscilawebdev in #122978
- Carry
receivedinto buffered-spans occurrences by @mrduncan in #123073 - Handle Snuba query errors in GroupTagsEndpoint by @mrduncan in #123032
- Preserve suspect commit score ordering by @scttcper in #123043
- Anchor issue preview hovercard to the visible title by @ChrisandraVaz in #121919
- Decode text attachment previews from raw bytes by @scttcper in #122677
- Preserve pull request links when merging issues by @scttcper in #122542
- Cap page size when listing issue events with full=true by @oioki in #122718
- Stop leaking a grouphash key per group type without a noise_config by @strongs in #122042
- Return 400 for invalid search queries on issues-stats by @mrduncan in #122219
Jira
- Accept a pasted Jira URL when linking an issue by @shashjar in #123389
- Follow issue key changes when a ticket moves projects by @shashjar in #123198
- Use timezone-aware JWT timestamps by @NicoHinderling in #122997
- Make a second call to fetch project details for saved config projects by @Christinarlong in #122547
Loader
- Reuse initial loader during app bootstrap by @evanpurkhiser in #123644
- Default to system theme before React loads by @evanpurkhiser in #123576
Markdown
- Reset list item font size to md by @sentry-junior in #123069
- Echo unknown tags by default, report only in SeerMarkdown by @sentry-junior in #123053
Metrics
- Stop the metrics table header from stretching to center its content by @JoshuaKGoldberg in #123397
- Restore MetricInfoTabs additionalActions prop by @JoshuaKGoldberg in #122504
Monitors
- Sort monitors by last occurrence time by @cvxluo in #124236
- Surface API errors when enabling monitors by @cvxluo in #124137
Onboarding
- Make the SCM create project view an accessible form by @jaydgoss in #123835
- Key the MS Teams channel picker by name by @jaydgoss in #123622
- Send the MS Teams channel name as the alert action target by @jaydgoss in #123602
- Remove unsupported one-minute alert interval from new project alerts by @malwilley in #122865
- Keep SCM provider pills on a single wrapping row by @jaydgoss in #122894
- Establish query containers for SCM steps by @jaydgoss in #122891
- Hide SCM install UI from members without access by @jaydgoss in #122630
- Sort SCM platform picker alphabetically by @jaydgoss in #122102
Ourlogs
- Copy and filter full log values, not truncated ones by @JoshuaKGoldberg in #123377
- Preserve grouping keys when switching to aggregates by @JoshuaKGoldberg in #123183
Pr Iter
- Show correct perms update URL in modal by @joseph-sentry in #122737
- Link to org based github permissions url by @joseph-sentry in #122724
Pr Iter
- Wait for pending push before draining feedback by @joseph-sentry in #123586
- Ignore bot reviews with no inline comments by @alexsohn1126 in #123922
Preprod
- Include build configuration in installable artifact download filename by @sentry-junior in #123871
- Match updates by raw build number by @jamieQ in #122984
- Correct Xcode capitalization by @sentry-junior in #123557
- Disallow logical operators in builds search by @chromy in #123577
- Use itms-services URL scheme for iOS app installs by @itaybre in #123369
- Return snapshot state as enum name string by @NicoHinderling in #123264
- Include base sha in missing snapshot messages by @sentry-junior in #123054
- Order builds by raw number suffix by @jamieQ in #122731
React Compiler
- Refactor CommitsList query state to avoid invariant by @sentry in #123669
- Avoid invariant on computed-key destructuring in IconClose by @sentry in #122296
Replay
- Hide duplicate installation mode dropdown in onboarding by @DominikB2014 in #122848
- Show bulk-delete range errors in the UI by @JoshuaKGoldberg in #122587
Replays
- Prevent stack overflow in replayerStepper by @sentry in #122427
- Prevent infinite update loop in network sort by @sentry in #123558
- Correct useReplayData memoization for React Compiler by @sentry in #123666
- Keep replay details loading until the project slug resolves by @JoshuaKGoldberg in #123445
- Handle replays missing their initial snapshot by @JoshuaKGoldberg in #122858
- Keep issue toggles enabled after save by @scttcper in #121894
- Pause without seeking when the tab is hidden by @JoshuaKGoldberg in #122047
- Parse ISO timestamp_ms from events endpoint by @sentry-junior in #122193
Reprocessing
- Cull parallel reprocessing tasks by @tobias-wilfert in #123693
- Remove strict equality from check by @tobias-wilfert in #123317
Scraps
- Recognize all locale helpers in prefer-info-text by @TkDodo in #124394
- Match detail page overflow background by @priscilawebdev in #123680
- Stop calling the tracking hook from inside Button by @chromy in #122985
- Stop AlertLink collapsing inside flex containers by @mrduncan in #122400
- Strip separators from pasted OTP values by @evanpurkhiser in #122263
- Prevent 1Password from covering OTP input by @evanpurkhiser in #122220
- Normalize completed OTP values by @evanpurkhiser in #122217
Sdk Crash
- Exclude React Native dev-server hot-reload init crashes from SDK crash detection by @antonis in #123117
- Ignore fetch instrumentation rejection handler in RN crash detection by @antonis in #120646
Search
- Parse backtick-delimited aggregate query arguments by @vgrozdanic in #123897
- Preserve grouped aggregate filter values by @nsdeschenes in #123037
- Reject unsupported project inbox sorts by @cvxluo in #122414
- Reject boolean has filters in issue search by @cvxluo in #122429
- Allow Command Palette from query builder by @jamieQ in #122313
Seer
- Synchronize drawer URL state through nuqs by @trevor-e in #124411
- Expose trigger source on workflow runs by @trevor-e in #124379
- Notify Slack threads when Seer needs approval in #124332
- Allow a metric_endpoint to be passed to make_signed_seer_api_request in #124333
- Disable issue data FK constraints in #124325
- Skip the iteration push when the PR is closed by @alexsohn1126 in #123831
- Make the release embed responsive at all widths by @billyvg in #123955
- Hide an iteration that failed to write code changes by @joseph-sentry in #123372
- Attribute Seer RPC queries as seer, not unknown by @DominikB2014 in #123785
- Align inline resource link icons by @billyvg in #123376
- Disable Autofix project setup for members by @jamieQ in #123777
- Keep long PR feedback comments inside the code changes card by @alexsohn1126 in #123490
- Refresh issue progress views when an autofix step lands by @ryan953 in #123611
- Prevent thinking UI flash during tool call retries by @natemoo-re in #123503
- Decouple Autofix Overview activity filter from global time by @NicoHinderling in #123533
- Fix ambiguous monitor embed id instructions by @billyvg in #123510
- Keep investigation runs out of the Explorer chat history by @wedamija in #123384
- Gate Seer UI on issueSummary.enabled, not the config object by @vaind in #122197
- Add bottom padding to expanded repo settings by @sentry-junior in #123115
- Drop the duplicate failure reason field by @joseph-sentry in #123380
- Allow collapsing ThinkingBlock while thinking is active by @natemoo-re in #123252
- Fix dashboard preview chart behavior by @billyvg in #123327
- Drain the PR-iteration feedback queue atomically by @joseph-sentry in #123140
- Add timeout recovery for Explorer chat by @gricha in #122934
- Clarify Night Shift run errors by @trevor-e in #122675
- Propagate Explorer failure reasons by @gricha in #122969
- Include selected projects in page LLM context by @sentry-junior in #123036
- Name the install that owns the repo on handoff 403s by @joseph-sentry in #122758
- Skip Night Shift runs without quota by @trevor-e in #122668
- Accept numeric project IDs in query embeds by @sentry-junior in #122966
- Show hex conversation id in slack agent responses by @sentry-junior in #122796
- Make Autofix Overview responsive on narrow widths by @mtopo27 in #122854
- Gate autofix overview cards on the issueStats query by @NicoHinderling in #122851
- Move Autofix Overview collapse toggle to the tabs row by @mtopo27 in #122613
- Make code changes file-row hover and diff border full-width by @mtopo27 in #122842
- Keep failing-checks tooltip open on the overview card by @mtopo27 in #122743
- Hide Slack upgrade nudge without integration access by @sentry-junior in #122496
- Only kick off automation for new issues by @Mihir-Mavalankar in #122640
- Use absolute redirect target for autofix overview by @NicoHinderling in #122676
- Show 0 affected users on Autofix overview cards by @mtopo27 in #122642
- Limit Night Shift to recent issues by @trevor-e in #122518
- Reword autofix overview milestone toasts as completed actions by @mtopo27 in #122316
- Scope autofix overview to the selected projects by @mtopo27 in #122305
- Refine code changes styling in autofix overview by @NicoHinderling in #122250
- Break long tokens in autofix overview issue titles by @NicoHinderling in #122247
- Add comment about agent source filtering ephemerality for overview endpoint by @NicoHinderling in #122249
- Record merged milestone despite abandoned sibling PRs by @NicoHinderling in #122246
- Clear free cohort repos on paid activation by @trevor-e in #122225
- Match sort and assignee filter sizes on autofix overview by @mtopo27 in #122221
- Render failing checks as a bulleted list by @NicoHinderling in #122189
- Render overview summaries as Markdown by @mtopo27 in #122187
Seer Explorer
- Unlock show thinking via code mode flag by @sentry-junior in #123601
- Do not open a reasoning box that renders nothing by @azulus in #123279
Seer Infra Telemetry
- Fix Datadog org URL in Datadog integration installation flow by @srest2021 in #123652
- Hide the previous GCP integration verification check result while a new one runs by @shashjar in #123528
- Show the GCP connection check as running after a save by @shashjar in #123356
- Switch Datadog whoami from MCP to API by @srest2021 in #123283
Sentry Apps
- Add feedback text to alert webhooks by @michaelknowles in #123696
- Skip webhook send when webhook_url is empty by @sentry-junior in #123612
- Reject non-latin-1 webhook headers by @sentry-junior in #123263
Slack
- Avoid reusing prior Seer response by @gricha in #123243
- Stop an empty Seer mention before it runs an agent turn by @sehr-m in #122941
- Hyperlink team and channel in team-link success message by @sentry-junior in #122756
Spans
- Handle NoneType in _anyvalue to prevent ValueError by @sentry in #119986
- Reject malformed segment IDs before buffering by @lvthanh03 in #124141
- Allow filtering by more than one release version by @narsaynorath in #121643
Tasks
- Move GAL backfills to long pool by @yuvmen in #123072
- Extend issue merge processing deadline by @yuvmen in #122939
- Restore GAL backfills to issues pool by @yuvmen in #122524
Tests
- Update metricsTab.spec.tsx URL param to valid JSON by @sentry in #124060
- Update test_typed_validated_data.py by @kenzoengineer in #124057
Type Coverage
- Ignore false positives from library generics by @TkDodo in #122691
- Ignore nested generic any types by @TkDodo in #122576
Ui
- Disable the project badge link in the breadcrumb title by @Jesse-Box in #124003
- Remove conflicting bubble transform styles by @evanpurkhiser in #123619
- Position illustration bubbles consistently by @evanpurkhiser in #123595
- Respect reduced motion preference by @evanpurkhiser in #123581
- Add missing React keys by @scttcper in #123511
- Fix responsive column hiding in saved entity tables by @natemoo-re in #123495
- Contain branded artwork effects by @evanpurkhiser in #123437
- Respect effective project access without membership by @noraxchakalova in #122311
- Consolidate button type imports by @priscilawebdev in #123290
- Constrain tags to container width by @priscilawebdev in #123130
- Speed up detector threshold slider keypresses in test by @sentry-junior in #123078
- Stop reserving a scrollbar gutter on scrollable tables by @shellmayr in #122554
- Preserve space before login banner link by @sentry-junior in #122163
Workflow Engine
- Filter all projects detector out when querying by projects by @leeandher in #124408
- Reject boolean deescalation comparisons in #124304
- Tolerate missing frequency on issue alert dual-write by @sentry-junior in #122059
- Remove ordering from all project detector queries by @leeandher in #123507
- Coerce assigned_to target_identifier to int by @sentry-junior in #123378
- Reduce DataCondition cache TTL by @kcons in #122422
- Fix TaggedEventHandler logging by @kcons in #122281
Workflows
- Enqueue activity processing after commit in #124345
- Advertise missing scope for all-project updates by @gricha in #123917
- Require integer prioritylevel in priority conditions by @kcons in #123973
- Validate Sentry App settings as a list by @cvxluo in #123405
- Allow team admins to update alerts solely connected to their projects by @malwilley in #123385
- Validate nested action filters by @cvxluo in #122405
Other
- (alert-webhooks) Handle deleted issue in alert webhook task by @sentry in #123659
- (apidocs) Stop documenting query values endpoints do not honor in #124346
- (assemble) Prevent File.DoesNotExist race in assemble_artifacts by @sentry in #122248
- (assisted-query) Expose numeric issue ID field by @jamieQ in #124214
- (auth-v2) Switch cookie settings based on protocol by @natemoo-re in #123185
- (avatarButton) Sample border color reliably across environments and image types by @natemoo-re in #123245
- (backup) Preserve multiple project keys on import by @sentry-junior in #124253
- (bitbucket) Skip deleted refs in webhooks by @NicoHinderling in #123000
- (breadcrumbs) Avoid expanding the top bar by @priscilawebdev in #122690
- (charts) Fix charts sometimes being mis-sized and spilling out of their container by @edwardgou-sentry in #122649
- (chat) ThinkingBlock summary title and title overflow by @natemoo-re in #123254
- (cleanup) Delete pending attachments from objectstore by @jjbayer in #123728
- (ctrl) Adds additional failure metric for connection resets, minor cleanup from #123660 by @GabeVillalobos in #124193
- (dates) Support stats periods measured in seconds by @JoshuaKGoldberg in #121779
- (deps) Bump js-yaml to patch CPU exhaustion vulnerabilities by @oioki in #122456
- (detectors) Preserve fractional anomaly threshold bounds by @sentry-junior in #123313
- (dev) Stop node_modules/.bin from shadowing the venv by @ldelvoye in #123476
- (devserver) Ignore --ingest on the control silo by @alexsohn1126 in #122237
- (discord) Truncate embed titles to Discord's 256 char limit by @sentry-junior in #122145
- (emails) Remove outdated body background pattern by @sentry-junior in #122523
- (eslint) Import/no-duplicates by @TkDodo in #123116
- (explorer) Show progress while a Code Mode call is in flight by @azulus in #122670
- (feature-flags) Add more platforms by @mrduncan in #122810
- (features) Honor registered handlers in batch checks by @cvxluo in #123181
- (flags) Raise flag name limit to 256 characters by @DominikB2014 in #122589
- (frontend) Sync first-event flags into ProjectsStore by @sentry-junior in #122715
- (incidents) Skip non-numeric subscription aggregation values by @sentry-junior in #123164
- (interfaces) Skip null span entries during to_python by @sentry-junior in #122750
- (issue-inbox) Enable Seer rollout in frontend by @cvxluo in #122896
- (issue-progress) Clear fix applied when issue reopens by @malwilley in #122773
- (jest) Exclude nested agent worktrees from the module map by @vaind in #122196
- (logs) Export from server when local values are truncated by @JoshuaKGoldberg in #122834
- (members) Remove duplicate loading indicator by @priscilawebdev in #124155
- (msteams) Read name and type from the Teams channel list response by @jaydgoss in #123621
- (notification-action) Route ticketing actions through group type registry by @sentry-junior in #123618
- (objectstore) Handle ranges for compressed objects by @lcian in #122396
- (occurrences on eap) Fix escaping in build_escaped_term_filter by @vaind in #122138
- (pagefilters) Keep absolute date ranges inside the max window by @JoshuaKGoldberg in #122039
- (performance) Query replacement telemetry attributes by @obostjancic in #123114
- (prebuilt-dashboards) Allow feature gating prebuilt dashboards by @narsaynorath in #123909
- (profiling) Validate profiler IDs before chunk queries by @cvxluo in #122109
- (proguard) Left-align the mapping name under its header by @JoshuaKGoldberg in #124024
- (project-creation) Preserve SCM details on platform change by @jaydgoss in #122470
- (ratelimits) Expire concurrent rate limit keys by @strongs in #122038
- (react) Inline chart component selection for static analysis by @sentry in #122289
- (releases) Align release comparison table rows by @priscilawebdev in #123127
- (repos) Auto-sync newly connected SCM provider so repos appear by @NicoHinderling in #122617
- (rules) Attribute ticket creation to the ambient action context by @cvxluo in #123650
- (scm-messaging) Persist and Busy Confirm and continue during project creation by @Abdkhan14 in #124028
- (sdk) Ignore stale ECharts tooltip errors by @JoshuaKGoldberg in #122083
- (sdk-loader) Prevent infinite recursion when calling
Sentry.configureScope()by @Lms24 in #122821 - (sentry apps) Self heal hooks in background w/o org id by @Christinarlong in #123920
- (sentryapps) Stop project and sentry app hook collisions by @Christinarlong in #124094
- (service-worker) Ignore InvalidStateError during registration by @sentry in #123624
- (settings) Show authorizations breadcrumb by @TkDodo in #123600
- (similar-issues) Stop truncating the score column headers by @JoshuaKGoldberg in #124025
- (slack-discover) Prevent TypeError from None fields/yAxis in unfurl by @sentry in #122169
- (snapshots) Bound image diff pixel processing by @jamieQ in #122366
- (snuba) Register generated query referrers by @NicoHinderling in #123005
- (source-maps) Left-align artifact column contents by @JoshuaKGoldberg in #123318
- (span-waterfall) Replace generic metrics calculation with eap by @narsaynorath in #124075
- (spike-protection) Restore row padding in the spike protection project list table by @shellmayr in #122861
- (sw) Guard against null notification data in worker by @sentry in #122433
- (symbolication) Bump max decompressed source size by @jjbayer in #122133
- (tables) Forward overlays through Table.HeadCell by @JoshuaKGoldberg in #122469
- (tabs) Prevent tabs from collapsing into the overflow menu when they exactly fit by @aashutoshrathi in #124248
- (taskworker) Expire the retry_state example's redis key by @ldelvoye in #122797
- (tempest) Keep screenshot toggle enabled after save by @scttcper in #121895
- (trace) Hide span-only metrics from trace waterfall tab by @nsdeschenes in #122474
- (trace-meta) Exclude span-sourced metrics from count by @nsdeschenes in #122701
- (tracemetrics) Refresh starred query links after updates by @vjeranc in #122135
- (traces) Default agent activity to timeline by @sentry-junior in #124286
- (uptime) Limit max number of messages per process to 10k by @wedamija in #123282
- (vsts) Stop unresolving when the work item states lookup fails by @vaind in #123478
- (web) Serve Scraps without redirecting by @priscilawebdev in #122557
- (webvitals) Fix web vital samples not loading in detail slideout panel by @edwardgou-sentry in #123623
- Missing next bill card for platform orgs by @noahsmartin in #123976
- SeerBadge tooltip by @TkDodo in #123690
- Move long running issue tasks to the long pool by @evanh in #122244
- Apply color scheme to all React routes by @evanpurkhiser in #122147
Documentation 📚
Api
- Publish existing issue linking endpoints as experimental in #124068
- Complete public issue linking schemas by @betegon in #124091
- Add AI conversation details response example by @vgrozdanic in #123681
- Add AI conversation response example by @vgrozdanic in #123542
- Document the query parameter on listOrganizationMembers by @chromy in #123023
Breadcrumblist
- Rework the story around item types and props by @Jesse-Box in #124154
- Stop documenting a preservePageFilters prop by @Jesse-Box in #124000
Issues
- Document preprod and configuration issue categories by @shashjar in #124054
- Document the project issues
statsPerioddefault and accepted values by @shashjar in #122937
Scraps
- Add drag handle best practices by @ChrisandraVaz in #122551
- Show ToolCall detail example code by @priscilawebdev in #122816
Seer
- Fix stale paths and add the stories step to the seer-embed skill by @billyvg in #123910
- Document the embed directory convention by @billyvg in #123368
Other
This changelog has been truncated. See the full changelog for all changes.