Semantic-release plugin to generate changelog content with conventional-changelog
Create a small module that turns a set of conventional commit entries and release metadata into a markdown changelog suitable for publishing.
v1.0.0, next tag v1.1.0, repository URL https://github.com/acme/api.git), return markdown that contains "Features" and "Bug Fixes" sections with bullet points including scope and subject, renders referenced issue #12 as a hyperlink, and includes a compare link between the two tags. @testhttps://gitlab.example.com/team/service.git, produce commit and issue links that follow that host's URL structure and include a compare link using the host's compare pattern. @test@generates
/**
* Generate release notes markdown from conventional commit metadata.
*
* @param {Array<Commit>} commits - Parsed commit objects including message, type, scope, hash, and references.
* @param {ReleaseContext} context - Release metadata with repository URL and tag information.
* @param {object} [options] - Optional configuration including changelog writer overrides and host/link options.
* @returns {Promise<string>} Markdown changelog for the release.
*/
export async function generateReleaseNotes(commits, context, options = {});
/** @typedef {{
* hash: string,
* message: string,
* type?: string,
* scope?: string,
* references?: Array<{ issue: string, action?: string }>,
* revert?: { header: string }
* }} Commit */
/** @typedef {{
* previousTag?: string,
* nextTag?: string,
* repositoryUrl: string,
* host?: string,
* owner?: string,
* repository?: string
* }} ReleaseContext */Transforms commit lists and release context into markdown release notes.
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