Dashboard › cli › Distillation
e9dde490-119f-4da5-b858-57947e994e39["lore_tm_v1_Jm2-zYk9NTnXPCcp86MSHHgEdQKTK8jdH0gkQAKta1s","lore_tm_v1_CBHYoeQ9aUSwSgcKr2IllmxuxnF4gKnuTFFsQAMppBU","lore_tm_v1_KFtMukRHIjygBOVmV4gAklTygseY3W9Ljk1mN0FqWag","lore_tm_v1__2r-Wt_wBu2l6GaAM3ontbyxJeLTztfhP7ec2eRzHwQ","lore_tm_v1_w2xh_zzzZcBK__EMlWVIUMqbKkBg9KN-yO8tgLqZ44g","lore_tm_v1_s-QiLBfkQNXtmbjX5e9MeDbj3nlG588dcvS2oBmg4wo","lore_tm_v1_GaVPBUtpOLJljXAp0LBg9rTBV-Lr1S85uyiqpPdz-NQ","lore_tm_v1_sQNhDBT0dxkG2okdG19PblCt9wnTaN6jJ5s04qpeKmE"]
Date: Sep 10, 2026
packages/cli/package.json identifies package sentry version 0.45.0-dev.0, requires Node.js >=20.0, uses development runtime Node.js >=22.15, and pins package manager pnpm@10.11.0.packages/cli/package.json build/test workflow includes build via pnpm tsx script/build.ts --single, build:all via pnpm tsx script/build.ts, test delegating to test:unit, test:unit running Vitest over test/lib test/commands test/types test/script --coverage, test:changed using vitest run --changed, and test:e2e running vitest run test/e2e.packages/cli/package.json generation scripts include generate:parser, generate:sdk, generate:skill, generate:banner, generate:docs, generate:docs-sections, generate:schema, and generate:command-docs; generate:docs runs banner, parser, command-docs, skill, and docs-sections generation in that order.packages/cli/package.json check scripts include check:fragments, check:deps, check:errors, check:patches, check:docs-sections, check:env-coverage, and check:stale-refs.feat/toolkit-bridge-upgrade was at commit dbee7e9f2, tracking origin/feat/toolkit-bridge-upgrade; preceding commits were 723375b6c (fix(cli): address upgrade review findings), 9c874298e (fix(cli): address toolkit bridge review), and 04867eaf9 (feat(cli): add toolkit upgrade bridge).packages/cli/src/commands/cli/upgrade.ts, packages/cli/src/lib/binary.ts, packages/cli/src/lib/delta-upgrade.ts, packages/cli/src/lib/ghcr.ts, packages/cli/src/lib/release-notes.ts, packages/cli/src/lib/upgrade.ts, packages/cli/src/lib/version-check.ts, packages/cli/test/commands/cli.test.ts, packages/cli/test/commands/cli/upgrade.test.ts, packages/cli/test/lib/binary.test.ts, packages/cli/test/lib/delta-upgrade.mocked.test.ts, packages/cli/test/lib/delta-upgrade.test.ts, packages/cli/test/lib/ghcr.test.ts, packages/cli/test/lib/release-notes.test.ts, packages/cli/test/lib/upgrade.test.ts, and packages/cli/test/lib/version-check.test.ts.validateMethod() throws UpgradeError("unsupported_operation", "Offline upgrade is only supported for curl-installed binaries.") when offline is used with a method other than "curl"."curl" GitHub lookup regardless of the current installation method; lookupMethod is selected as channel === "nightly" ? "curl" : method.UpgradeSource, resolveExistingUpgradeVersion, and resolveLatestUpgradeVersion; check results can include source: latestResolution?.source.sentry cli upgrade nightly means βSwitch to nightly channel and update.βbrew upgrade getsentry/tools/sentry; Homebrew version pinning is unsupported because versioning is managed through the formula.sentry may still appear earlier in PATH; uninstall hints are npm uninstall -g sentry, pnpm remove -g sentry, bun remove -g sentry, yarn global remove sentry, and brew uninstall getsentry/tools/sentry./; stripTrailingSep(p) returns p.slice(0, -1) only when p.length > 1 && p.endsWith(sep).~/.sentry/bin through LEGACY_INSTALL_SUBDIR and LEGACY_INSTALL_SUBDIRS; ~/.local/bin and ~/bin remain valid current XDG install targets and must not be treated as migration sources.packages/cli/src/lib/binary.ts uses two ordered heuristics: 1. check /lib/ld-musl-<arch>.so.1; 2. run ldd --version and inspect combined stdout/stderr for "musl". The result is cached, and failure to run ldd falls back to glibc (false).getBinaryDownloadUrl(version, source = PRIMARY_UPGRADE_SOURCE) uses ${source.tagPrefix}${version} and https://github.com/${source.githubRepo}/releases/download/${tag}/${getPlatformBinaryName()}.packages/cli/src/lib/binary.ts: getGitHubReleasesUrl() builds https://api.github.com/repos/${source.githubRepo}/releases; getGitHubReleaseByTagUrl() appends /tags/${encodeURIComponent(tag)}; getGitHubLatestReleaseUrl() uses ?per_page=100 when source.tagPrefix is present and /latest otherwise.isNightlyVersion(version) when the version includes "-dev."; the documented nightly format is X.Y.Z-dev.<unix-seconds>.