Dashboard › cli › Distillation
6f610f7c-d3b3-4aa3-ade9-26d5a0a93e7e["lore_tm_v1_gKaQ4aGA5_iAA1rM8sevc5fKATdJBrwRdie4Nkx7rDI"]
packages/cli/src/lib/release-notes.ts was changed to support source-aware release-note retrieval and changelog construction.packages/cli/src/lib/release-notes.ts replaced the GITHUB_RELEASES_URL import with getGitHubReleasesUrl, PRIMARY_UPGRADE_SOURCE, and UpgradeSource from ./binary.js.packages/cli/src/lib/release-notes.ts now imports isNormalizedForSource, NormalizedGitHubReleases, and normalizeStableReleases alongside GitHubRelease from ./delta-upgrade.js.source?: UpgradeSource, while an internal source-aware path requires source: UpgradeSource.buildChangelogSummary(releases: GitHubRelease[], fromVersion: string, toVersion: string, maxItems?: number): ChangelogSummary | null handles releases with legacy unprefixed tags by delegating to buildChangelogSummaryForSource(releases, fromVersion, toVersion, { maxItems }).fetchReleasesForChangelog() changed to fetchReleasesForChangelog(source: UpgradeSource): Promise<GitHubRelease[]>.fetchReleasesForChangelog(source) now requests ${getGitHubReleasesUrl(source)}?per_page=${CHANGELOG_MAX_RELEASES} with getGitHubHeaders() rather than using the fixed GITHUB_RELEASES_URL.normalizeStableReleases(data as GitHubRelease[], source) before being returned.fetchReleasesForChangelog(source) returns [] when customFetch() throws, when response.ok is false, when JSON parsing fails, or when the parsed response is not an array; thrown fetch errors log Failed to fetch releases for changelog, parse errors log Non-JSON response from GitHub releases, and non-array responses log GitHub releases response is not an array.fetchNightlyChangelog(fromVersion, toVersion, source, maxItems?) now accepts source: UpgradeSource, documented as the release source selected during version discovery.sinceDate = new Date((fromTs + 1) * 1000).toISOString() and untilDate = new Date((toTs + 1) * 1000).toISOString() because GitHub since is inclusive and until is exclusive; these offsets exclude the current version’s commit and include the target version’s commit.