Semantic-release plugin to generate changelog content with conventional-changelog
Create a utility that produces release notes from conventional commits while allowing callers to control how compare links and reference links are emitted.
https://github.com/acme/shop.git, previous tag v1.0.0, current tag v1.1.0, version 1.1.0, commits [{"hash":"a1b2c3d","message":"feat: add login (#15)"}], and reference links still enabled, the generated notes exclude any compare/v1.0.0...v1.1.0 hyperlink but still hyperlink #15 to the repository's issues. @testv1.0.0...v1.1.0 but render #15 as plain text with no issue or commit hyperlinks. @testhttps://gitlab.com/tools/runner.git, previous tag v3.4.0, current tag v3.5.0, version 3.5.0, commits [{"hash":"9f8e7d6","message":"fix: patch runtime (fixes #22)"}], reference and compare links enabled, and custom link keywords commitKeyword: "changeset" and issueKeyword: "tickets", the notes hyperlink the commit hash using /changeset/9f8e7d6 and the issue reference using /tickets/22 under that repository. @test@generates
export interface ReleaseNotesOptions {
repositoryUrl: string;
previousTag: string;
currentTag: string;
version: string;
commits: Array<{ hash: string; message: string }>;
includeCompareLink?: boolean;
includeReferenceLinks?: boolean;
commitKeyword?: string;
issueKeyword?: string;
}
export function buildReleaseNotes(options: ReleaseNotesOptions): Promise<string>;Generates changelog text from commit history with configurable linking.
tessl i tessl/npm-semantic-release--release-notes-generator@14.0.0docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10