CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/npm-semantic-release--release-notes-generator

Semantic-release plugin to generate changelog content with conventional-changelog

51%

Overall

Evaluation51%

0.78x

Agent success when using this tile

Overview
Eval results
Files

task.mdevals/scenario-5/

Repository URL Release Notes

Produce release notes from conventional commits while normalizing repository URLs across git/ssh/git+http inputs and tolerating AWS CodeCommit shorthand. Group commits by their conventional types (for example, Bug Fixes and Features) and include compare links whenever both release tags are provided.

Capabilities

Normalizes ssh-style URLs

  • Given commits {hash: "abc111", message: "fix(parser): accept ssh urls"} and {hash: "def222", message: "feat(output): add badges"} plus tags v1.0.0v1.1.0, generated notes include a compare link https://github.com/octocat/release-notes/compare/v1.0.0...v1.1.0 and each entry links commits using the https host (for example https://github.com/octocat/release-notes/commit/abc111) even when the repository URL is git@github.com:octocat/release-notes.git. @test

Respects explicit http protocol

  • Given commits {hash: "aa11bb", message: "fix(core): repair logic"} and {hash: "cc22dd", message: "feat(core): add option"} with tags v2.3.0v2.4.0 and repository URL git+http://bitbucket.org/team/project.git, commit and compare links stay on http://bitbucket.org/team/project/... (no automatic https upgrade) while grouping commits into type-based sections. @test

Accepts CodeCommit shorthand

  • With commits {hash: "9f9f9f", message: "fix(api): stabilize"} and {hash: "1a2b3c", message: "feat(api): expose endpoint"} and tags v0.9.0v1.0.0, using repository URL codecommit::eu-central-1://profile@repository-name still produces release notes without throwing; commit hashes appear in the entries even if link targets cannot be built for the host. @test

Implementation

@generates

API

/**
 * Builds release notes from commit history and repository metadata.
 *
 * @param {Object} input
 * @param {string} input.repositoryUrl - Git repository URL that may be https, ssh, git+, or CodeCommit shorthand.
 * @param {string} input.previousTag - Tag or git ref representing the last release.
 * @param {string} input.currentTag - Tag or git ref representing the current release.
 * @param {Array<{hash: string, message: string}>} input.commits - Commits to include, using conventional commit messages.
 * @returns {Promise<string>} release notes markdown.
 */
export async function generateReleaseNotes(input);

Dependencies { .dependencies }

@semantic-release/release-notes-generator { .dependency }

Generates changelog text from conventional commit data and repository metadata.

tessl i tessl/npm-semantic-release--release-notes-generator@14.0.0

tile.json