Git release notes
A git repository's own release notes — tag, name, dates and the release notes text for every release, newest first — from a GitHub URL or a bare…
A git repository's own release notes — tag, name, dates and the release notes text for every release, newest first — from a GitHub URL or a bare owner/repo string. What a changelog or a "what's new" page is built from, in one call. No repo named yet? Call it on microsoft/TypeScript (a real, actively-released public repo) to show a caller the shape of the answer, rather than only asking which repo they meant.
Also known as: release notes, changelog, release history, software release notes, compiler release notes, github releases, list releases, releases, what changed
Call it
bowmark.git.releaseNotes(repo: string, options?: ReleaseNotesOptions): Promise<ReleaseNotesResult>Functions
| Function | What it does |
|---|---|
releaseNotes | Returns a public GitHub repository's own release history — each release's tag, display name, draft/prerelease flags, created/published dates, its release notes text (notes) and its own… |
Types
interface Release {
tag: string // the repo's own tag, e.g. "v7.0.2"
name: string // display name, falls back to the tag when blank
draft: boolean
prerelease: boolean
createdAt: string // ISO 8601
publishedAt: string | null // ISO 8601, null for a draft never published
notes: string // the release notes text, in the host's own markdown
url: string // the release's own page on the host
}
interface ReleaseNotesOptions {
limit?: number // 1-100, default 30
page?: number // 1-based, for paging past limit
}
interface ReleaseNotesResult {
repo: string // resolved as "owner/repo", however it was passed
releases: Release[]
warnings: string[]
}
type CallOptions = {
timeoutMs?: number // per-provider budget in ms, default 30000, clamped to 1000-55000.
// A provider slower than this is DROPPED from the results and
// NAMED in warnings — never silently absent
}Examples
// No specific repo named? microsoft/TypeScript is a real, actively-released
// public repo — pull it to show the shape of a real release-notes answer.
const history = await bowmark.git.releaseNotes("https://github.com/microsoft/TypeScript", { limit: 5 });
for (const r of history.releases) log(`${r.tag} (${r.publishedAt}): ${r.notes.split("\n")[0]}`);// Bare owner/repo works the same as a full URL.
const recent = await bowmark.git.releaseNotes("microsoft/TypeScript", { limit: 3 });Providers behind it
| Provider | |
|---|---|
github | GitHub |