Dashboard › cli › Distillation
669108da-19ba-4584-bb1d-5156d8af4a6e["lore_tm_v1_t3kQQGTJ4Jn-7s2saTV_FfKhy0oZIv5I8dFvNsMXt1Y","lore_tm_v1_xvv6eaKnJgvAmKfdfn8HR-epTeFK2mWK2EcBmJhDQkg"]
packages/cli/src/lib/release-notes.ts replaced direct GITHUB_RELEASES_URL usage with source-aware getGitHubReleasesUrl(), PRIMARY_UPGRADE_SOURCE, and UpgradeSource.buildChangelogSummary(releases, fromVersion, toVersion, maxItems?) remains the legacy-unprefixed-tag entry point and delegates to buildChangelogSummaryForSource(releases, fromVersion, toVersion, { maxItems }).fetchReleasesForChangelog(source: UpgradeSource) and requests ${getGitHubReleasesUrl(source)}?per_page=${CHANGELOG_MAX_RELEASES} with CHANGELOG_MAX_RELEASES = 30 and getGitHubHeaders().fetchReleasesForChangelog() returns [] on connection failure, non-successful HTTP response, invalid JSON, or a non-array GitHub response; connection, JSON, and response-shape failures are debug-logged.fetchNightlyChangelog(fromVersion, toVersion, source, maxItems?) now requires the UpgradeSource selected during version discovery for nightly GitHub Commits API changelog retrieval.FetchChangelogOptions added optional source?: UpgradeSource, documented as the release source selected during version discovery and defaulting to the primary source; existing options remain channel, fromVersion, toVersion, optional maxItems, and optional stable-only prefetchedReleases.packages/cli/src/lib/upgrade.ts added semverValid from semver and imported source/version helpers including compareVersions and PRIMARY_UPGRADE_SOURCE.buildKnownCurlPaths(homeDir, env) builds known curl-install directory prefixes with a trailing path separator so startsWith checks respect directory boundaries, preventing a path such as ~/.local/bin/ from matching ~/.local/binaries/.buildKnownCurlPaths() honors XDG_BIN_HOME only when it is absolute, matching determineInstallDir() precedence; it uses join(xdgBinHome, ".") + sep to normalize an existing trailing separator and avoid malformed double-separator prefixes such as /custom/bin//.packages/cli/src/lib/upgrade.ts added exported resolveExistingUpgradeVersion(...) for resolving whether a requested upgrade version exists.UpgradeSource to fetchManifest(token, \nightly-${version}`, undefined, source)`.fetchLatestVersion(method, channel = "stable") selects fetchLatestNightlyVersion() for the nightly channel; for stable it selects fetchLatestFromGitHub() for "curl" or "brew" installations and fetchLatestFromNpm() for package-manager installations.