Release v4 as the Sentry CLI, replacing sentry-cli

Aperta
#1,965 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@BYK ci sta già lavorando.

Dal 4/11/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Tracking issue for cutting sentry v4 as the Sentry CLI. Every v3 sentry-cli distribution channel moves to v4 rather than staying frozen, so nobody gets stranded on v3.

Decided scope

Each legacy channel serves v4 after the cutover:

  • npm @sentry/cli publishes the same package as sentry. The @sentry/cli-<platform> optional-dependency packages need a decision too: retire or keep them. Current consumers use the v3 SentryCli JS class, and v4 drops it (migration guide). These consumers are @sentry/bundler-plugins, @sentry/nextjs, action-release, and the wizard. Their caret ranges protect them until they opt in.
  • curl -sL https://sentry.io/get-cli/ | bash serves the v4 installer. It lives in getsentry/sentry src/sentry/web/frontend/cli.py. SENTRY_CLI_VERSION, INSTALL_DIR / INSTALL_PATH, and | sh keep working.
  • sentry.io/get-cli/<platform>/<arch>/ and downloads.sentry-cdn.com/sentry-cli/latest/ serve v4 binaries. v4 asset names (sentry-linux-x64) differ from v3 (sentry-cli-Linux-x86_64), so this needs a name mapping.
  • PyPI sentry-cli (plus sentry-pypi) ships wheels wrapping the v4 binary.
  • Homebrew sentry-cli and Docker Hub getsentry/sentry-cli move to v4. The legacy getsentry/sentry-cli .craft.yml publishes both.
  • Release registry: the CLI already publishes to apps/sentry. v3 sentry-cli update and its update nagger read apps/sentry-cli/latest, so decide how that app reaches v4.
  • sentry-cli command name: installs keep working for scripts that call sentry-cli.
  • Sentry-hosted binaries: v4 assets currently only live on GitHub Releases. The legacy CLI uploads to the sentry-sdk-assets GCS bucket (downloads.sentry-cdn.com) through a craft gcs target.
  • Codemod: publish @getsentry/cli-v3-to-v4 (#1481). #1968 ports it from the archived getsentry/cli into packages/cli-codemod-v3-to-v4 and publishes it with Codemod's OIDC action. Before the first publish, the @getsentry scope must be verified against this repo (.codemod/verification).

Platform gaps vs v3

v4 builds darwin-arm64, darwin-x64, linux-arm64, linux-x64, and windows-x64 (packages/cli/script/build.ts). v3 also shipped linux-armv7, linux-i686, win32-i686, and win32-arm64, and it ran on musl.

  • musl / Alpine: the installer currently refuses musl (packages/cli/install, detect_musl).
    • x64: nodejs.org/dist ships an official linux-x64-musl build as of v26.13.0. A fossilize 0.10.1 SEA built with platform linux-x64-musl runs on alpine:3 once libstdc++ and libatomic are installed. Without them it fails with relocation errors.
    • arm64: musl is only on unofficial-builds.nodejs.org, and fossilize hardcodes https://nodejs.org/dist.
  • win32-arm64: an official Node build exists (win-arm64).
  • linux-armv7 and i686 have no official Node v26 LTS builds.

Tracked work

Issues and PRs that block or belong to the v4 cutover:

  • #1481: publish the v3→v4 codemod
  • #1968: port the codemod into this repo
  • #1472: debug-files upload has no progress output (v3 had it)
  • #1473: debug-files upload summary shows numeric IDs instead of slugs
  • getsentry/sentry-cocoa#9169: move the Cocoa test-app scripts to the new CLI
  • getsentry/sentry-fastlane-plugin#536: move the Fastlane plugin to the new CLI
  • getsentry/sentry-maven-plugin#292: plan the Maven plugin migration to the new CLI
  • #1962: install script checksums on GitHub Releases and the release registry

Related: #1357 tracks the broader CLI + MCP unification after the toolkit merge.

via @BYK.

--

View Session [Sentry]

Lingua principale
TypeScript
Stelle
949
Fork
171
Merge medio
22h 56m
PR unite (30g)
345

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di getsentry/toolkit

Tutte le issue di getsentry/toolkit

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.