Dashboard › cli › Distillation
c3745a45-2476-4490-b277-628a8e43954d["lore_tm_v1_qyb-8IIbGPUYvgJD0zJVcS-nRjJnGlVyM6fxILLRy00"]
--offline upgrades are supported only for curl-installed binaries, and validateMethod() must throw UpgradeError("unsupported_operation", "Offline upgrade is only supported for curl-installed binaries.") when offline is true and method !== "curl"."curl" installation method for GitHub lookup, regardless of the current installation method.checkForUpdateInBackgroundImpl() never throws: failures, including database-access errors from shouldCheckForUpdate(), are caught and reported using Sentry.captureException(error) without crashing the CLI.getUpdateNotificationWithCopy() never throws: it returns null on errors and reports them to Sentry; it also returns null when up to date, cached version information is absent, notifications are rate-limited, or stderr is not a TTY.sentry cli upgrade nightly to mean βSwitch to nightly channel and update.βresolveChannelAndVersion(positional): case-insensitive positional "nightly" and "stable" values are channel selectors with versionArg: undefined; other positionals retain getReleaseChannel() and are treated as explicit version arguments.resolveOfflineTarget(versionArg): an explicit version bypasses cache lookup and has VERSION_PREFIX_REGEX removed; otherwise it reads latestVersion from getVersionCheckInfo() and throws UpgradeError("network_error", "No cached version available. Run any command to trigger a background version check, then retry.") when unavailable.validateMethod() change removes the channel: ReleaseChannel parameter and computes pinnedVersion as undefined for values in CHANNEL_VERSIONS, otherwise stripping VERSION_PREFIX_REGEX; Homebrew rejects only a pinned version for which !isNightlyVersion(pinnedVersion), using UpgradeError("unsupported_operation", "Homebrew does not support installing a specific version. Run 'brew upgrade getsentry/tools/sentry' to upgrade to the latest formula version.").{ kind: "target", target: resolvedTarget, source }, preserving explicit source provenance rather than returning only { kind: "target", target }.CLI_VERSION !== target, an explicit non-channel version produces sentry cli upgrade ${target}; otherwise the warning is Run 'sentry cli upgrade' to update.getUpdateNotificationWithCopy() returns a non-null message, it persists last_notified = now through markUpdateNotified, causing later invocations within the rate-limit window to return null.