Skip to content

Conversation

@BYK
Copy link
Member

@BYK BYK commented Jan 9, 2026

Summary

This PR migrates from the deprecated action-prepare-release to the new Craft GitHub Actions.

Changes

  • Migrated .github/workflows/release.yml to Craft reusable workflow
  • Updated .craft.yml with versioning.policy: calver

Documentation

See https://getsentry.github.io/craft/github-actions/ for more information.

This PR migrates from the deprecated action-prepare-release to the new
Craft GitHub Actions (reusable workflow or composite action).

Changes:
- Migrate .github/workflows/release.yml to Craft reusable workflow
- Update .craft.yml with versioning.policy: calver
@BYK BYK requested review from a team as code owners January 9, 2026 17:58
@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Aci

  • Add sorting for connected alerts by malwilley in #106109
  • Add search input to connected alerts list by malwilley in #106052
  • Add documentation for OrganizationDetectorIndexEndpoint GET by ceorourke in #106025
  • Workflow API sort by priority detector ID by malwilley in #105976
  • Implement new table design for connected alerts by malwilley in #105934
  • Set up resolution condition for use in UI by malwilley in #105156
  • Add inline alert creation inside monitor form by malwilley in #105765
  • Add ability to filter workflows by connected detectors by malwilley in #105695

Ai Conversations

  • User column by obostjancic in #105890
  • User data by obostjancic in #105889

Alerts

  • Add support for trace metrics alert type by k-fish in #104901
  • Migrate alert wizard off deprecatedRouterMocks by scttcper in #105508

Api

  • Enhance AI conversation attributes in details endpoint by constantinius in #106164
  • Add endpoint for AI conversation details by constantinius in #106071

Autofix

  • Support query param to switch autofix mode by Zylphrex in #106090
  • Implement operator/entrypoint for seer workflows by leeandher in #105344

Autopilot

  • Boost integration detector to 10 minutes in #105596
  • Missing SDK integration detector in #105595

Code Review

  • Use GitHub org names whitelisting for testing by armenzg in #105844
  • Forward pull_request events to Seer by armenzg in #105740
  • Handle issue comment command in #105527
  • Support sending webhook events to Seer by armenzg in #105393

Dashboards

  • Always link to transaction summary from transaction field by DominikB2014 in #106116
  • Update jobs chart to be a line chart by DominikB2014 in #106081
  • Convert Widget Builder dataset selector to a dropdown by gggritso in #105928
  • Add excludePrebuilt filter to dashboards endpoint by DominikB2014 in #105946
  • Update backend title for domain dashboard by DominikB2014 in #105917
  • Update domain page title by DominikB2014 in #105916
  • Allow prebuilt dashboards to hardcode units by DominikB2014 in #105743
  • Fill in Mobile Vitals pre-built dashboards by gggritso in #105757
  • Display http response codes as fraction in prebuilt dashboard by DominikB2014 in #105820
  • Create prebuilt dashboard for backend overview by DominikB2014 in #105719
  • Convert user.geo.subregion from numeric to string version by DominikB2014 in #105639
  • Support http spans in details component in #105545
  • Register http module prebuilt dashboards by DominikB2014 in #105497
  • Registers insights-web-vitals-dashboard-migration flag by edwardgou-sentry in #105483
  • Adds support for linking slideouts to prebuilt dashboard widgets by edwardgou-sentry in #105353
  • Add preferredPolarity to widget thresholds serializer by edwardgou-sentry in #105407
  • Adds core web vitals samples tables to prebuilt Web Vitals dashboard by edwardgou-sentry in #105438
  • Registers Web Vitals page summary prebuilt dashboard by edwardgou-sentry in #105439
  • Adds a feature flag to enable synchronizing all prebuilt dashboards by edwardgou-sentry in #105429
  • Adds Issue table prebuilt Web Vitals dashboard by edwardgou-sentry in #105402
  • Adds positive polarity render support for Big Number widgets by edwardgou-sentry in #105405

Dynamic Grouping

  • Add current issue information to stack trace by scttcper in #106138
  • Remove card tabs, add view details by scttcper in #106133
  • Allow clicking top issue card to view more by scttcper in #105776
  • Add Cluster ID to the Cluster card title by yuvmen in #105404

Dynamic Groups

  • Move issue cluster details into drawer by scttcper in #106028
  • Add progress bar to aggregate tags by scttcper in #105878

Explorer

  • Add coding agent handoff UI for explorer autofix by roaga in #105873
  • Add coding agent handoff support to explorer client by roaga in #105872
  • Add span.status_code to trace waterfall data by roaga in #106021
  • Share chat links by aliu39 in #105376
  • Create new conduit channel for explorer to use streaming in #105585

Grouping

  • Add clearer component ignoring test inputs by lobsterkatie in #105843
  • Add test input where all exceptions are groups by lobsterkatie in #105666

Issues

  • Add InstrumentationIssueExperimentalGroupType by ArthurKnaus in #105988
  • Add details to current event marker tooltip by scttcper in #106204
  • AI Search by aayush-se in #105768
  • GA streamlined issue actions, backport to old ui by scttcper in #105863
  • Add copy breadcrumbs to clipboard button by scttcper in #105007
  • Add stack trace, tags to top issues by scttcper in #105466
  • Protect GroupResolutions from release cleanup by scttcper in #105444

Occurrences On Eap

  • Implement double reads of bucketed group counts by shashjar in #105691
  • Implement timeseries query support by shashjar in #105685
  • Implement EAP read for retrieving top issues by event count by shashjar in #105460
  • Implement EAP read for trace-connected issues in related issues calculation in #105459
  • Implement EAP read for error counts in suspect tag calculation by shashjar in #104916

Preprod

  • Support free text search on /builds/ endpoint by chromy in #106202
  • More filter fields for search by chromy in #106171
  • Add basic admin debug actions to buildDetails error UI by rbro112 in #106149
  • Add flag for dashboard toggle by trevor-e in #106054
  • Add Project options for size/distro filters by chromy in #106069
  • Add backfill migration for PreprodArtifactMobileAppInfo by rbro112 in #105883
  • Add preprod size metrics backend dataset support by trevor-e in #105845
  • Add PreprodArtifactMobileAppInfo creation to write path by rbro112 in #105846
  • [frontend] Add first iteration of size status checks settings UI by NicoHinderling in #105875
  • Add size status check project config values to project endpoints by NicoHinderling in #105874
  • Add PreprodArtifactMobileAppInfo to enable decoupling of mobile app specific info from PreprodArtifact by rbro112 in #105731
  • Add platform name to eap data by trevor-e in #105869
  • Add new /builds/ endpoint by chromy in #105797
  • Add treemap diff UI by chromy in #105331
  • Add preprod distribution display table by mtopo27 in #105554
  • Add preprod display toggle plumbing in #105553
  • Display version and build number in build comparison list (EME-489) in #105628
  • Write build distribution data to EAP in #105544
  • [frontend] add support for multiproject build list UI by NicoHinderling in #105396
  • Add dropdown button to re-run status check by trevor-e in #105535
  • Add API to re-run status checks by trevor-e in #105484
  • Create new multiproject list builds endpoint by NicoHinderling in #105395
  • Show success/failure status check UI by trevor-e in #105442
  • Add copy url button by mtopo27 in #105432
  • Add header to install pages by mtopo27 in #105430

Projects

  • Warn about eventual removal of Project Details by bcoe in #105617
  • Convert missingProjectMembership to FC, restyle by scttcper in #104734

Replay

  • Remove flag replay-details-new-ui by billyvg in #105694
  • Add pagination to Playlist view by billyvg in #105701
  • Update design of replay breadcrumbs by billyvg in #105671
  • Add an Alert in playlist tab when there is a query by billyvg in #105690

Replays

  • Add REPLAYS dataset to ExploreSavedQueryDataset by billyvg in #106008
  • Replace playlist Alert with search input by billyvg in #105807
  • Further reduce header size by jerryzhou196 in #104246

Search Bar

  • Add support for explicit boolean tags by nsdeschenes in #105606
  • Add/Update type hints by nsdeschenes in #105602

Seer

  • Add code review webhooks task by seer-by-sentry in #105909
  • Design nit fixes for onboarding by billyvg in #105736
  • Project Settings page revamp: AI Code Review section by ryan953 in #105518

Stories

  • Simplified sidebar by natemoo-re in #104611
  • Add tokens page by natemoo-re in #105507

Toolbar

  • Return the CSRF token into the toolbar auth flow for use by ryan953 in #106059
  • Bump the version of the toolbar that we load up for employees by ryan953 in #105920

Top Issues

  • Add experimental badge to Top Issues page by cvxluo in #106237
  • Show code change when available by cvxluo in #105475
  • Single card view by cvxluo in #105437

Tracemetrics

  • Support multiple widgets passed to addToDashboard by narsaynorath in #106016
  • Handle sort resets for visualize changes by narsaynorath in #105643
  • Add Big Number visualization in #105567
  • Add Open in Metrics action by narsaynorath in #105531
  • Implement Add to Dashboard by narsaynorath in #105436

Uptime

  • Expose uptime-runtime-assertions flag to UI by evanpurkhiser in #106213
  • Add uptime assertion builder by evanpurkhiser in #105842
  • Add uptime test endpoint by klochek in #104969
  • Add consumer-side queueing for out-of-order results by wedamija in #105782
  • Add task-based retry for out-of-order backlog processing by wedamija in #105763

Other

  • (ai-conversation) Display tool calls in conversation by obostjancic in #106066
  • (ai-insights) Ai agent onboarding prompt by obostjancic in #105907
  • (attributes) Add endpoint to return attribute mappings by nsdeschenes in #106024
  • (billing) Add missing org slug to billing links by scttcper in #105942
  • (cells) Add logging to verify endpoint usage by lynnagara in #105943
  • (ci) Setup-sentry skip-devservices mode by joshuarli in #105774
  • (claude) Add mypy to claude by chromy in #105824
  • (cron-detector-schedule-preview) Adding endpoint for deriving time window from schedule and thresholds by Abdkhan14 in #105915
  • (data secrecy v2) Update WaiveDataSecrecyEndpoint to use DataAccessGrant model by mifu67 in #100154
  • (detectors) Preserve page filters + env in DetectorLink by evanpurkhiser in #105055
  • (eap-resolver) Support between operator by DominikB2014 in #105538
  • (eco) Adds a way to surface debug data safely from integration metadata, while excluding sensitive information by GabeVillalobos in #106035
  • (Errors) AI Search by aayush-se in #105892
  • (feedback) Add a button to the feedback page so people can create Alerts by ryan953 in #106084
  • (hybrid) Allow Identity model to be used as HCFK by alexsohn1126 in #105339
  • (infra) Dynamic sharding by rbro112 in #105706
  • (ingest-metrics) Add option to count segment spans as transactions by Dav1dde in #106072
  • (integrations) Encrypt integration metadata field by vgrozdanic in #106163
  • (issue search) Enable fallback to truncation of group IDs for all Snuba queries by shashjar in #105663
  • (llm-detector) Add Redis for de-deduplication by roggenkemper in #105910
  • (logs) AI Search by aayush-se in #105786
  • (oauth) Implement OAuth 2.0 Device Authorization Flow (RFC 8628) by dcramer in #105675
  • (objectstore) Temporarily log request info by lcian in #106063
  • (ownership) Migrate issue owners cache invalidation to use timestamp versioning on ownership by shashjar in #106108
  • (releases) Support filtering by release.created by scttcper in #104877
  • (rpc) Tag response logs with organization_id by narsaynorath in #105400
  • (sdk-integration-detector) Structured prompt by ArthurKnaus in #105800
  • (security) Enable email notifications for leaked secrets by oioki in #105414
  • (seer explorer) Add new feature flag for streaming by Mihir-Mavalankar in #105498
  • (seer-slack) Implement Slack Entrypoint for Seer Workflow by leeandher in #105367
  • (select-field) Update to not fire onBlur when toggling items by priscilawebdev in #105902
  • (testing) Add GitHub identity and provider factory for testing by alexsohn1126 in #105600
  • (timeseries) Add ratelimits to the timeseries endpoint by wmak in #105693
  • (traces) Reference measurements from performance.traceOrigin by timfish in #105903
  • (usage overview) Move trial CTA back to table by isabellaenriquez in #106082
  • Add snapshots API scaffolding by noahsmartin in #105744
  • Type coverage diff by TkDodo in #105821
  • Add constants and default options for Game Console SDK invites by alexsohn1126 in #105225
  • Add a banner to the browser devtools in #105486

Bug Fixes 🐛

Aci

  • Handle empty query from URL in monitor form by malwilley in #106219
  • Allow action interval of 0 mins by ameliahsu in #106143
  • Fix empty targetIdentifier for slack action by ameliahsu in #106136
  • Fix empty WHEN condition text on details page by ameliahsu in #106125
  • Fix failure_rate input suffix and placeholder by ameliahsu in #106111
  • Better handling for error monitor edit permissions by malwilley in #106050
  • Set failure rate y-axis range based on seriesMax and threshold by ameliahsu in #105962
  • Add ongoing issues list to uptime monitor page by malwilley in #106015
  • Use singular preferred detector in workflow processing round 2 by cathteng in #105865
  • Clip open period bubble overflow by ameliahsu in #105830
  • Hide link to all issues when metric alert uses invalid syntax by malwilley in #105834
  • "View monitor details" button should not replace url by ameliahsu in #105819
  • Don't process deleted workflows in process_delayed_workflows by kcons in #105784
  • Use notification_uuid from WorkflowFireHistory when sending notifications by kcons in #105471
  • Prevent error detector creation in the API by cathteng in #105722
  • Fetch buffered group stats by cathteng in #105608
  • Catch correct DoesNotExist error by mifu67 in #105678
  • Fire service hooks from workflow engine by cathteng in #105586

Alerts

  • Don't report invalid issue short names in queries as errors by kcons in #105541
  • Fix broken available-actions endpoint when an installation is deleted in #105302

Api

  • Update GroupSearchViewSerializerResponse TypedDict for nullable createdBy by evanpurkhiser in #106185
  • Update AI conversation URL pattern to accept UUIDs by constantinius in #106162

Auth

  • Detect SSO provider mismatch and fix 2FA redirect by dcramer in #106041
  • Pass organization context to resolve_email_to_user by geoffg-sentry in #106027

Billing

  • Handle Stripe elements not loading by isabellaenriquez in #106107
  • Set max image width in CTA by brendanhsentry in #105860
  • Handle undefined partner by isabellaenriquez in #105805
  • Remove prevent from notification settings in #105443

Checkout

  • Scroll to step based on hash by isabellaenriquez in #105637
  • Success screen buttons should have same height in #105604

Code Mappings

  • Bad url parsing for Gitlab and Bitbucket by cvxluo in #105751
  • Handle malformed source path by cvxluo in #105683

Code Review

  • Use "prevent" deployment for code review by suejung-sentry in #106130
  • Unify metrics for easier dashboarding by suejung-sentry in #105984
  • Fix and more debugging by armenzg in #105996
  • Disable direct-to-seer ghe on-prem flow by suejung-sentry in #105985
  • Allow whitelisted orgs to have the task scheduled by suejung-sentry in #105884
  • Consolidate code review checks by suejung-sentry in #105561
  • Fix test regression in #105632
  • Fix payload for Seer in #105560
  • Look up code review beta orgs dynamically in #105603
  • Event_type does not define the webhook type in #105548
  • Fix config check for code review beta orgs by suejung-sentry in #105493

Codeowners

  • Preview file button slightly cut off by cvxluo in #105762
  • Increase processing deadline duration & test coverage for code_owners_auto_sync task by shashjar in #105406

Dashboards

  • Consolidate network requests on Mobile Vitals page by gggritso in #105921
  • Add to dashboard persists page selection for create by narsaynorath in #106000
  • Dashboards frontend should filter out prebuilt dashboards when calculating limit by DominikB2014 in #105948
  • Prebuilt backend dashboard no data for cache by DominikB2014 in #105923
  • Normalize widget full screen view URL by gggritso in #105913
  • Dashboard link should include project by DominikB2014 in #105642
  • Add /trace route to dashboards in #105633
  • Prebuilt domain summary not loading in #105581
  • Corrects web vitals dashboard migration flag name by edwardgou-sentry in #105485
  • Remove linked dashboard flag check in field renderer by DominikB2014 in #105487

Escalating Forecast

  • Bump down step size for generating forecast again by cvxluo in #106119
  • Bump down step size for generating forecasts by cvxluo in #105780

Explore

  • Set correct height on spans sub table by nsdeschenes in #105530
  • Fix traces table header radii by nsdeschenes in #105482

Explorer

  • Prevent QueryOutsideRetentionError in issue tool by seer-by-sentry in #106096
  • Select repos from prefs for cursor handoff by roaga in #106114
  • Add units and descriptions to on page context charts by roaga in #105930

Github

  • Pass org_integration_id to GitHubApiClient in Seer utils by seer-by-sentry in #106243
  • Add ownership check to repo by Christinarlong in #105061

Grouping

  • Parameterize hard-coded values in Python process spawning code by lobsterkatie in #106142
  • Add rule source to stacktrace hints by lobsterkatie in #105968
  • Remove unclear component ignoring test inputs by lobsterkatie in #105849
  • Fix ignoring delete-and-discard bug by lobsterkatie in #105709
  • Handle case where all exceptions are groups by lobsterkatie in #105667

Issues

  • Handle repo names without owner prefix in coverage by scttcper in #105703
  • Fix padding on the Issue>Replay list by ryan953 in #105716
  • Fix TypeError on save event with None in tags by yuvmen in #105446

Preprocessing

  • Bump redirect-preprocess threshold in #105391
  • Get merged group_ids after intersections in #105385

Preprod

  • Fix breadcrumb links on build pages (EME-720) by runningcode in #106186
  • Remove query when switching tabs by chromy in #106181
  • Hide missing git metadata while uploading by cameroncooke in #106103
  • Return JsonResponse instead of HttpResponse for error in artifact image endpoint by runningcode in #105715
  • Fix error response handling in size analysis download endpoint and frontend (EME-718) by runningcode in #105624
  • Use projectid for preprodBuilds list, not projectSlug by NicoHinderling in #105650
  • Standardize error responses to use detail key in compare download endpoint (EME-718) in #105623
  • Avoid text overflow on diff hover in #105634
  • Send compare page index to 404 in #105629
  • Display error for mismatched build configurations (EME-699) in #105529

Security

  • IDOR in OrganizationOnDemandRuleStatsEndpoint - scope Project by organization by dcramer in #104988
  • IDOR in OrganizationEventsEndpoint - scope DashboardWidget by organization by dcramer in #104987
  • IDOR in OrganizationEventsStatsEndpoint - scope DashboardWidget by organization by dcramer in #104986

Seer

  • Fix repository lookup to handle renamed repos by sehr-m in #106129
  • Only show one tooltip to explain delegating background agents by ryan953 in #105967
  • Disable formatting of save toasts for Code Review triggers… by ryan953 in #105961
  • Update copy and add more help text to explain default settings by ryan953 in #105964
  • Add a border to the seer onboarding banner by ryan953 in #105972
  • Show "Previous Step" during step 5 of seer onboarding by ryan953 in #105965
  • Retry transient HTTP errors in get_anomaly_data Seer calls by kcons in #105854
  • Add retries to get_historical_anomaly_data_from_seer_preview seer requests by kcons in #105542

Stories

  • Remove global css by natemoo-re in #105738
  • type -> variant in #105565
  • Remove overflow by natemoo-re in #105546

Theme

  • Adjust react-select theme access by natemoo-re in #106127
  • Invisible caret by natemoo-re in #106036

Tracemetrics

  • Properly apply legend alias by narsaynorath in #105855
  • Change Open in Metrics to Open in Explore by narsaynorath in #105823
  • Use same intervals as spans and logs by narsaynorath in #105809
  • Pass along response derived units by narsaynorath in #105760
  • Table in widget viewer should show correct units by narsaynorath in #105684
  • Format aggregate header cell in widget viewer by narsaynorath in #105664
  • Uniquely identify multiple series by narsaynorath in #105610

Ui

  • Allow empty createdBy for starred views by evanpurkhiser in #106178
  • Ignore sentry console banner in breadcrumbs by scttcper in #106155
  • Prevent infinite render loop in PageAlertProvider by gggritso in #106079
  • Size leading items wrapper to height of input group by evanpurkhiser in #105912
  • Selecting of arbitrary relative periods in auditLogList by TkDodo in #105795
  • Avoid logging sentry console banner in tests by scttcper in #105733
  • Avoid loading invalid prism files by scttcper in #105730

Uptime

  • Use alert permissions for preview check endpoint by evanpurkhiser in #106217
  • Fix skip backfill logic to only run after the interval has been changed by wedamija in #106135
  • Attempt to fix missing misses from backfill by wedamija in #106046
  • Remove empty name shim by evanpurkhiser in #105194
  • Include headers and body in detector form payload by evanpurkhiser in #105686

Other

  • (ai-conversations) Id path param regex by obostjancic in #106183
  • (ai-insights) Seer warning banner by obostjancic in #106177
  • (ai-trace) Turn off autogrouping for gen_ai spans by obostjancic in #105990
  • (arithmetic-equations) Set constrained max width by nsdeschenes in #105904
  • (autofix) Pass mode=legacy for legacy useAutofix by Zylphrex in #106112
  • (autopilot-logging) Chain to list by ArthurKnaus in #105480
  • (cmdk) Border misalignment in searchbar by cvxluo in #105474
  • (core-ui) Bump grid sticket z-index by nsdeschenes in #105661
  • (crons) Honor alertsMemberWrite setting by oioki in #104171
  • (dashboard) Use disabledKeys to prevent duplication and deletion of prebuilt dashboards by DominikB2014 in #105955
  • (dynamic-grouping) Remove cluster id when selecting project by scttcper in #106140
  • (dynamic-sampling) Don't query snuba for empty sets in boost_low_volume_projects by shellmayr in #105226
  • (errors) Add error.received to timestamp fields by nsdeschenes in #105713
  • (event_frames) Ensure frames are filtered when extracting from thread by seer-by-sentry in #105501
  • (gsApp) Remove deprecated route props from route hook by scttcper in #106105
  • (HC) Reshard ApiToken outboxes to the new ApiToken shard by GabeVillalobos in #105871
  • (insights) Create alert button broken insights/explore by DominikB2014 in #105841
  • (integrations) Disable uninstall button when integration is pending deletion by JoshFerge in #105658
  • (issue details) Correctly copy issue details for threaded stacktraces by sehr-m in #105434
  • (issue-search) Correctly parse negated contains filters by cvxluo in #105699
  • (logs) Only send timestamp filter if autorefresh enabled by narsaynorath in #105421
  • (metrics) Disable extrapolation when getting count of telemetry by Zylphrex in #105714
  • (oauth) Support public clients for device flow per RFC 8628 §5.6 by betegon in #106169
  • (occurrences on eap) Fix encoding of event IDs when writing occurrences to EAP by shashjar in #105981
  • (rcs) Address design reviews of RCA empty state by Zylphrex in #105997
  • (releases) Allow project:releases scope for org releases endpoint by szokeasaurusrex in #105130
  • (rules) Must be a member of a team to assign it as the rule owner by oioki in #105177
  • (sdk-integration-detector) Improve logs in #105597
  • (search) Handle many parens in query values by nsdeschenes in #105488
  • (search-bar) Use search context parseQuery function by nsdeschenes in #105802
  • (search-query-builder) Remove underline from Alpha badge by cvxluo in #106153
  • (seer onboarding) Remove on_command_phrase CR trigger from settings forms by srest2021 in #105696
  • (seer setting) Grey out Auto Open PRs when auto trigger is Off by Mihir-Mavalankar in #105792
  • (taskworker) Prevent taskworker from blocking tasks on stale cach… by shellmayr in #105801
  • (tokens) Add async flush outboxes by Christinarlong in #105264
  • (ts) Fix text label types by evanpurkhiser in #106088
  • (user-feedback) Remove link to trace when it wasn't sampled in #105584
  • (workflow_engine) Add an index to the incident_identifier by saponifi3d in #106049
  • Dedupe aliases before final request by shruthilayaj in #104900
  • Fix rendering when a null member is returned by ryan953 in #105419

Documentation 📚

  • (agents) Add guidance for avoiding loading indicator waits in tests by JoshFerge in #105670
  • (chunk) Document CHUNK_UPLOAD_ACCEPT backwards compatibility by szokeasaurusrex in #106065
  • (cloudflare) Change onboarding script for Cloudflare Workers by JPeer264 in #105640

Build / dependencies / internal 🔧

Aci

  • Default to using issue stream detector by cathteng in #106150
  • Refactor redis buffer management in delayed_workflows to simplify cleanup by kcons in #105839
  • Populate legacy_rule_id and/or workflow_id in action dispatch by cathteng in #106051
  • Handle workflows or rules in digests sans feature flag by cathteng in #105999
  • Remove ui links flag for metric alerts by mifu67 in #105979
  • Use cache for Project and Organization lookups by kcons in #106012
  • Add back subscription processor crash rate detector test coverage by ceorourke in #105205
  • Populate slack notification environment correctly by cathteng in #105676
  • Parse metric issue assignee from detector.owner in #105605
  • Update copy for metric monitor resolution threshold by ameliahsu in #105514

Admin

  • Remove usage of deprecatedRouteProps for Broadcasts route by shashjar in #106044
  • Remove usage of deprecatedRouteProps for Beacons route by shashjar in #106043
  • Remove usage of deprecatedRouteProps for admin BroadcastDetails route by shashjar in #105838
  • Remove usage of deprecatedRouteProps for admin BeaconDetails route by shashjar in #105836
  • Use Outlet to render children in admin layout route by shashjar in #105441

Alerts

  • Remove deprecatedRouteProps usage for IncidentsList by shashjar in #105453
  • Migrate RelatedIssues off of the deprecated router by shashjar in #105389

Api

  • Switch from ParamsType to SnubaParams in group endpoints by shashjar in #105950
  • Deprecate legacy first-last-release endpoint URL by shayna-ch in #105771

Ask Seer

  • Clean up old flags by nsdeschenes in #105833
  • Clean up old explore traces flags by nsdeschenes in #105835

Auth

  • Clean up component definitions for auth layout by shashjar in #105449
  • Remove usage of deprecatedRouteProps for auth layout route by shashjar in #105313

Billing

  • Migrate billing calculations to use formatting config by dashed in #104808
  • Refactoring quotas.py seat methods to not use data_category by krithikravi in #106026
  • Remove UI flags by isabellaenriquez in #105944
  • Clean up analytics by isabellaenriquez in #105931
  • Remove unused ProductUsageChart by scttcper in #105927
  • Cleanup legacy Stripe + billing details code by isabellaenriquez in #105745
  • Use <Outlet/> in OrganizationSubscriptionContext and remove deprecatedRouteProps by ryan953 in #105918
  • Remove usage of deprecatedRouteProps for UsageLog component by shashjar in #105779
  • Remove usage of deprecatedRouteProps for BillingInformation component by shashjar in #105777
  • Remove usage of deprecatedRouteProps for SubscriptionNotifications component by shashjar in #105772
  • Remove usage of deprecatedRouteProps for PaymentHistory component by shashjar in #105700
  • Remove usage of deprecatedRouteProps for UsageHistory component by shashjar in #105697
  • Remove usage of deprecatedRouteProps for subscription overview route by shashjar in #105698
  • Update launch feature in showNewSeer by brendanhsentry in #105470

Checkout

  • Convert AMCheckout to FC by isabellaenriquez in #105861
  • Remove dead code in #105278

Code Review

  • Hook up list of gh orgs to options-automator by suejung-sentry in #105886
  • Centralize webhook configuration and simplify event processing by armenzg in #105712
  • Refactor how we extract metadata by armenzg in #105644

Core

  • Simplify AlertBadge logic by natemoo-re in #105958
  • Consolidate segmentedControl files and remove chonk naming by JonasBa in #105577
  • Consolidate button styles files and remove chonk naming by JonasBa in #105576
  • Consolidate alertBadge files and remove chonk naming by JonasBa in #105579
  • Consolidate select files and remove chonk naming by JonasBa in #105578
  • Consolidate checkbox component files and remove chonk naming by JonasBa in #105575
  • Consolidate menuListItem component files by JonasBa in #105572
  • Consolidate inputGroup component files by JonasBa in #105571
  • Consolidate alert component files and remove chonk naming by JonasBa in #105573
  • Consolidate switch component files and remove chonk naming by JonasBa in #105569
  • Consolidate radio component files and remove chonk naming by JonasBa in #105570
  • Consolidate tab component files and remove chonk naming by JonasBa in #105568

Dashboards

  • Nit: align widget builder w nav and body content by mtopo27 in #105879
  • Remove usages of deprecatedRouteProps for dashboard routes by shashjar in #105440
  • Migrate tests for WidgetBuilderSlideout component off of deprecatedRouterMocks by shashjar in #105521
  • Migrate tests for widget builder component off of deprecatedRouterMocks by shashjar in #105520

Discover

  • Migrate ProjectEventRedirect to use API instead of XHR by shashjar in #105464
  • Migrate tests for DatasetSelectorTabs component off of deprecatedRouterMocks by shashjar in #105522
  • Migrate actionDropdown tests off of deprecatedRouterMocks by shashjar in #105456

Dynamic Sampling

  • Remove option for empty queries after rollout by shellmayr in #105991
  • Remove logging statements for log-project-config by shellmayr in #105138

Explorer

  • Add loading toast and fix styling to cursor card by roaga in #106195
  • Add error toast when failing to launch cursor agent by roaga in #106113
  • Error msg for empty state when state req fails by aliu39 in #106040
  • Slice event id in tool copy by aliu39 in #105945
  • Make session read only if owner_user_id doesnt match (2) by aliu39 in #105789
  • Check ff for sessions request by aliu39 in #105837
  • 100 candidate events for rec event by aliu39 in #105682
  • Improve rec event query performance w a sliding window by aliu39 in #105476

Grouping

  • Add python multiprocessing context line test inputs by lobsterkatie in #106055
  • Fix single non-URL frame handling in new config by lobsterkatie in #105935
  • Remove contributes check for single JS frame ignoring by lobsterkatie in #105829
  • Add delete and discard tests by lobsterkatie in #105708

Insights

  • Removes unused transaction filter in web vitals queries by edwardgou-sentry in #105431
  • Rename ReleaseComparisonSelector by gggritso in #105152

Issue Search

  • Remove enablement option for truncation of group IDs in Snuba queries by shashjar in #105732
  • Remove debug logging in Snuba search executor by shashjar in #105702
  • Remove project allowlist option for fallback to truncation of group IDs in Snuba queries by shashjar in #105665

Layout

  • Use Outlet to render children in app body content route by shashjar in #105448
  • Migrate OrganizationContainer off of deprecatedRouterProps by shashjar in #105461

Llm Detector

  • Clean up detection code by roggenkemper in #105998
  • Add log for response by roggenkemper in #105929
  • Update cron schedule by roggenkemper in #105908
  • Remove retries for LLM Detector by roggenkemper in #105864

Preprod

  • Remove deprecated is_installable from backend by chromy in #106200
  • Remove deprecated is_installable from frontend by chromy in #106192
  • Use encoding utilities to convert between preprod hex identifiers and EAP item IDs by shashjar in #106030
  • Centralize URL building in helper functions by runningcode in #105827
  • JsonResponse -> Response by chromy in #105811
  • Add date_added index to preprodartifact by NicoHinderling in #105758
  • Use Response instead of JsonResponse in artifact image endpoint by runningcode in #105794
  • Integrate cleanup task into deletions task manager by NicoHinderling in #105742
  • Restructure preprod deletion logic via endpoints by NicoHinderling in #105741
  • Add builds list analytics hook by mtopo27 in #105679
  • Delete no longer used project list-builds endpoint by NicoHinderling in #105652
  • Migrate off of singular project list-builds endpoint in #105645
  • Fix centering in #105611
  • Refactor preprod builds table in #105552
  • Remove namespace_alias in #104761
  • Adjust preprod search bar visibility by mtopo27 in #105551
  • Add distribution info types by mtopo27 in #105536
  • Add distribution_info to buildDetails api by mtopo27 in #105503
  • Remove qr code on xs-sm screens by mtopo27 in #105491
  • Download build container + vcs info by mtopo27 in #105450
  • Mtopo27/refactor install modal by mtopo27 in #105445
  • Refactor vcs details into separate component by mtopo27 in #105427
  • Add internal distribution flag by mtopo27 in #105424

Scraps

  • Remove theme.tag by TkDodo in #106173
  • Replace debossedBackground with theme token by TkDodo in #106165
  • Move prismVariables out of theme by TkDodo in #105901
  • Remove theme.focus and theme.focusBorder aliases by TkDodo in #105896
  • Remove theme.translucentBorder alias by TkDodo in #105891
  • Remove theme.danger and theme.dangerText aliases by TkDodo in #105898
  • Remove theme.border alias by TkDodo in #105895
  • Remove theme.success and theme.successText aliases by TkDodo in #105897
  • Remove theme.disabled alias by TkDodo in #105894
  • Remove theme.disabledBorder alias by TkDodo in #105893
  • Remove theme.headerBackground by TkDodo in #105818
  • Update tokens by natemoo-re in #105641
  • Update tokens by natemoo-re in #105105

Seer

  • Pass enum value for trigger by seer-by-sentry in #105951
  • Guard access to the new Project>Seer settings page by ryan953 in #105814
  • Optimistic updates inside of useUpdateProjectSeerPreferences() by ryan953 in #105513
  • Extract a <RepoProviderIcon/> react component by ryan953 in #105523
  • Import MAX_REPOS_LIMIT when we need it by ryan953 in #105515
  • Put CodingAgentIntegration type near useAutofix() by ryan953 in #105510
  • MakeProjectSeerPreferencesQueryKey should return an ApiQueryKey by ryan953 in #105511

Seer Onboarding

  • Remove on_command_phrase CR trigger from CR enums by srest2021 in #105980
  • Remove on_command_phrase CR trigger from repo settings and org options by srest2021 in #105978

Sentry Apps

  • Option to disable paranoia for backfill script by cathteng in #105558
  • Prepare to hard delete sentry apps and installs by cathteng in #105492

Settings

  • Remove usages of deprecatedRouteProps for SettingsLayout routes by shashjar in #105517
  • Remove usage of deprecatedRouteProps for early features route by shashjar in #105388
  • Remove usage of deprecatedRouteProps for SettingsWrapper component by shashjar in #105387
  • Remove usage of deprecatedRouteProps for NoOp component by shashjar in #105386

Theme

  • Remove theme.active, activeHover, and activeText aliases by JonasBa in #106004
  • Remove backgroundSecondary by natemoo-re in #106037
  • Remove theme.error and theme.errorText aliases by JonasBa in #106003
  • Remove theme.pink100-400 deprecated properties by JonasBa in #106006
  • Replace subText with content.secondary by natemoo-re in #105851
  • Remove hover by natemoo-re in #105825

Top Issues

  • Sort singleton clusters lower by cvxluo in #106087
  • Add pasting json to single card view in #105477

Ui

  • Limit files typechecked by fork-ts-plugin by scttcper in #106222
  • Add TimeRangeSelectTrigger by TkDodo in #105214
  • Consolidate tsconfig files by scttcper in #106034
  • Add tsgo nightly preview by scttcper in #106042
  • Convert GuideAnchor to FC by scttcper in #105401
  • Enforce getsentry import boundaries on dynamic imports by scttcper in #105657

Unmerge

  • Bump unmerge timeout to 300s by cvxluo in #106106
  • Only do MinHash repair if not on AI grouping by cvxluo in #105973

Uptime

  • Use encoding utilities to convert between hex identifiers and EAP item IDs by shashjar in #106033
  • Increase backlog queue max wait time from 3 minutes to 5 minutes. by wedamija in #106047
  • Add better comment to queue_result_for_retry by wedamija in #105853
  • Extract processing and backfill logic into reusable functions by wedamija in #105692

Other

  • (ai-ml) Correct flag name on tooltip by leeandher in #105153
  • (anomaly thresholds) Add anomaly thresholds to alerts charts by shayna-ch in #105953
  • (attr breakdowns) Clean up calling the RRF function by aayush-se in #106118
  • (attribute breakdowns) Failure rate by aayush-se in #106039
  • (autofix) Explicit opt in to autofix-on-explorer by Zylphrex in #106212
  • (autopilot) More logging by ArthurKnaus in #105479
  • (breadcrumbs) Migrate tests off of deprecatedRouterMocks by shashjar in #105455
  • (build) Extract conventions descriptions to translation files by nsdeschenes in #105415
  • (core-ui) Remove to prop from being rendered by nsdeschenes in #105499
  • (data-forwarding) Better disablement, hide legacy forwarding by leeandher in #104726
  • (eap) Bump max rollup in general sentry constants by nikkikapadia in #106001
  • (errors) Increase max tag length to 256 to match request.url limit by Dav1dde in #105828
  • (events) Remove unused EventCustomPerformanceMetrics by scttcper in #105926
  • (features) Remove unused profiling feature flag by Dav1dde in #105791
  • (flags) Add frontend and backend flags for automatic console sdk invites by alexsohn1126 in #105952
  • (grouplist) Refactor GroupList to use useApiQuery by malwilley in #105688
  • (infra) Remove codecov.yml by rbro112 in #105717
  • (issues) Add group_id list truncation warning by kcons in #105175
  • (logs) Add analytics for mismatch between virtual and original data by k-fish in #105810
  • (member merge) Backfill emails for self-hosted sentry app proxy users by mifu67 in #101887
  • (metrics) Stop accepting router prop in MetricsDataSwitcherAlert component in #105435
  • (profiles) Use encoding utilities to convert between profile IDs and EAP item IDs by shashjar in #106032
  • (quotas) Remove global quotas by Dav1dde in #106245
  • (release) Switch from action-prepare-release to Craft by BYK in #106005
  • (relocation) Remove usage of deprecatedRouteProps for relocation route by shashjar in #105433
  • (replay) Move live/refresh logic into hooks by billyvg in #105647
  • (router) Migrate withSentryRouter tests off of deprecatedRouterMocks by shashjar in #105454
  • (routes) Remove leftover usage of deprecatedRouteProps for the DisabledMemberComponent by shashjar in #105463
  • (routing) Migrate SDK documentation test file off of deprecatedRouterMocks by shashjar in #105465
  • (sdk-init) Ignore sending console banner to Sentry by nsdeschenes in #105799
  • (search) Register explicit boolean tag feature flag by nsdeschenes in #106250
  • (search agent) Register flag in #105613
  • (searchQueryBuilder) Move GetTagValues to searchQueryBuilder by chromy in #105806
  • (segments) Add basic org killswitch by untitaker in #104769
  • (similarity) Gate MinHash similarity if on SaaS by cvxluo in #106086
  • (spans) Use encoding utilities to convert between span IDs and EAP item IDs by shashjar in #106031
  • (stories) Remove outdated principles by natemoo-re in #105759
  • (strings) Add additional tags and metrics for span first by Dav1dde in #105630
  • (sub v3) Remove dead code by isabellaenriquez in #105677
  • (tests) Migrate tests for Snuba search backend to use options context manager by shashjar in #105469
  • (trace explorer) Use agentic search endpoint by aayush-se in #105583
  • (trace-waterfall) Add paginated waterfall feature flags by nsdeschenes in #105906
  • (tsc) Fix type error with old theme colors by malwilley in #106110
  • (workflow_engine) Consolidate action handler parameters with ActionInvocation dataclass by kcons in #105524
  • Add convert_args to OrganizationApiKeyDetailsEndpoint by oioki in #106075
  • Assign taskworker modules to streaming-platform by markstory in #106020
  • Add convert_args to ProjectKeyDetailsEndpoint by oioki in #106077
  • Add convert_args to ApiTokenDetailsEndpoint by oioki in #106076
  • Bump knip and address new findings by TkDodo in #105987
  • Fix typo in workflow by ryan953 in #106022
  • Cleanup old flag organizations:user-feedback-ui by ryan953 in #105957
  • Add span-v2-otlp-processing feature flag by mjq in #105840
  • Refactor InvoiceDetails view to not use deprecatedRouteProps by ryan953 in #105813
  • Remove unused relay /projectids endpoint by lynnagara in #105746
  • Refactor RedeemPromoCode view to not use deprecatedRouteProps by ryan953 in #105812
  • Create a SubscriptionContext specifically for routes/views by ryan953 in #105817
  • Refactor LegalAndCompliance view to not use deprecatedRouteProps by ryan953 in #105808
  • Cleanup secret-scanning.github.notifications.email-allowlist by oioki in #105626
  • Add instructions about get_attrs and serialize to AGENTS.md by shellmayr in #104674
  • Clear Python cache in setup-sentry action in #105481
  • Change ownership to new team in #105574
  • Delete coverage by joshuarli in #105394

Other

  • ref(theme) remove theme.overflowEllipsis by JonasBa in #105933
  • theme: update proxy to handle JSON serialization by JonasBa in #106208
  • dx(claude): Allow claude to run gh repo view by default by chromy in #106203
  • ref(theme) remove theme.gray by JonasBa in #106139
  • codemod(flex): apply changes for @getsentry/replay-frontend by JonasBa in #106122
  • codemod(flex): apply changes for @getsentry/data-browsing by JonasBa in #106120
  • ref(theme) remove backgroundTertiary by JonasBa in #106132
  • Container pointer events prop by JonasBa in #106184
  • feat(tasks) Add application to taskbroker requests by markstory in #106017
  • ref(theme) remove theme.background by JonasBa in #106134
  • ref(icons) update stories to use correct story variants by JonasBa in #106137
  • codemod(flex): apply changes for @getsentry/revenue by JonasBa in #106124
  • ai(skills): add database migration skill by vgrozdanic in #106179
  • test(location): Support state param in location config by narsaynorath in #106126
  • ref/scraps/removeChonkColors by Jesse-Box in #106166
  • chore(explore) Remove links to traces page from explore on old spans and traces by nsdeschenes in #105540
  • ref/scraps/removePurple by Jesse-Box in #106080
  • Remove Blue400-100 by Jesse-Box in #105993
  • codemod(flex): apply changes for @getsentry/explore by JonasBa in #105939
  • sidebar: cleanup organization dropdown by JonasBa in #105689
  • Handle resolved condition in the frontend by malwilley in #106053
  • seer: useInvertedTheme by JonasBa in #106083
  • dx(claude): Allow claude to run git diff by default by chromy in #106068
  • codemod(flex): apply changes for @getsentry/dashboards by JonasBa in #105940

Plus 89 more


🤖 This preview updates automatically when you update the PR.

version: ${{ github.event.inputs.version }}
force: ${{ github.event.inputs.force }}
calver: true
uses: getsentry/craft/.github/workflows/release.yml@v2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these release tags immutable? We purposely pin all actions to sha's in sentry

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are not and it is on purpose. This should be okay for Craft.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the harm in using the sha? It keeps convention of all the other actions in the repo so that's what I would prefer

BYK and others added 2 commits January 9, 2026 23:08
The previous migration incorrectly removed the GitHub App token
authentication step. This commit restores it by switching to the
composite action pattern which preserves the auth flow.

jobs:
changelog-preview:
uses: getsentry/craft/.github/workflows/changelog-preview.yml@v2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Craft reusable workflow uses mutable tag instead of SHA (Bugbot Rules)

Medium Severity

The PR discussion explicitly states the team convention to "pin all actions to sha's in sentry." However, the changelog-preview.yml workflow references getsentry/craft/.github/workflows/changelog-preview.yml@v2 using a mutable tag, while release.yml in the same PR correctly SHA-pins the Craft action with @39ee616a6a58dc64797feecb145d66770492b66c. This inconsistency violates the stated team convention and could cause reproducibility issues if the v2 tag changes.

Fix in Cursor Fix in Web

@BYK BYK requested review from a team as code owners January 12, 2026 12:24
@github-actions github-actions bot added Scope: Frontend Automatically applied to PRs that change frontend components Scope: Backend Automatically applied to PRs that change backend components labels Jan 12, 2026
@github-actions
Copy link
Contributor

🚨 Warning: This pull request contains Frontend and Backend changes!

It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.

Have questions? Please ask in the #discuss-dev-infra channel.

frontend_all: ${{ steps.changes.outputs.frontend_all }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.1.7
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the commits are changed but the versions are not, is that expected?

app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v2

This comment was marked as outdated.

- reopened
- edited
- labeled
- unlabeled
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

YAML indentation error breaks workflow trigger configuration

High Severity

The - unlabeled entry on line 10 has incorrect indentation. It's at 4 spaces (same level as types:), but needs to be at 6 spaces to be part of the types: list. This creates invalid YAML since you cannot mix a mapping key with a sequence item at the same level. The workflow will either fail to parse or won't trigger on unlabeled events, breaking the changelog preview functionality for that event type.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants