Semantic-release plugin to generate changelog content with conventional-changelog
Generate customer-facing release notes with bespoke formatting while relying on the dependency's customizable changelog writer. Commits follow the type(scope): subject convention and include a hash for commit links.
repositoryUrl https://example.com/org/repo, lastTag v1.0.0, nextTag v1.1.0, and commits fix(parser): handle braces (#123), feat(ui): add filters (JIRA-9), and chore: update deps, the notes include a compare link (https://example.com/org/repo/compare/v1.0.0...v1.1.0), contain sections titled Customer Fixes and Customer Features in that order, sort entries inside each section alphabetically by subject, and omit the chore commit entirely. @testfix(api): return payload (#321) the corresponding entry links the short hash to https://example.com/org/repo/commit/<hash> and appends closes #321 where #321 links to https://example.com/org/repo/issues/321; for a commit feat(reports): add exports (JIRA-77) the reference JIRA-77 appears as plain text after the subject. @test[skip-notes], rendering stops and an error with the message Skip notes for flagged commit is thrown all the way to the caller without being wrapped or replaced. @test@generates
export interface CommitInput {
hash: string;
message: string;
}
export interface ReleaseContext {
repositoryUrl: string;
lastTag: string;
nextTag: string;
commits: CommitInput[];
}
export function buildReleaseNotes(context: ReleaseContext): Promise<string>;Generates release notes from commit metadata with customizable formatting hooks.
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