Release v4 as the Sentry CLI, replacing sentry-cli

Abierto
#1,965 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@BYK ya está trabajando en esto.

Desde el 4/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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]

Lenguaje dominante
TypeScript
Estrellas
949
Forks
171
Merge medio
22 h 56 min
PR fusionados (30 d)
345

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de getsentry/toolkit

Todos los issues de getsentry/toolkit

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.