semantic-release / semantic-release/release-notes-generator
Including entire commit body in release note
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 368
- Forks
- 55
- Avg merge
- 10m
- Merged PRs (30d)
- 1
Description
Hello! When the commit below gets analyzed and outputted on the release note, only the commit title is outputted. Is it possible to include the additional commit description/body in the release note?
release.config.js
const verifyConditions = [
[
"@semantic-release/changelog",
{
changelogFile: "CHANGELOG.md"
}
],
[
"@semantic-release/git",
{
assets: ["CHANGELOG.md"]
}
]
];
const analyzeCommits = [
[
"@semantic-release/commit-analyzer",
{
preset: "angular",
releaseRules: [
{
// e.g.: next upgrade, large refactors, removing large chunks of code
type: "breaking",
release: "major"
},
{
// e.g.: next upgrade, large refactors, removing large chunks of code
type: "BREAKING",
release: "major"
},
{
// e.g. the new new hottest features
type: "feat",
release: "minor"
},
{
// e.g. bugfixes
type: "fix",
release: "patch"
},
{
// commits that need to be released outside of the release process
type: "hotfix",
release: "patch"
},
{
// commits that need to be released outside of the release process
type: "HOTFIX",
release: "patch"
},
// you needed to revert a commit on dev or main
{
type: "revert",
release: "patch"
},
// added jest or E2E tests
{
type: "test",
release: false
},
// e.g. removing code comments
{
type: "chore",
release: false
},
// e.g. edits/new markdown files
{
type: "docs",
release: false
},
// e.g. feat(no-release): will skip release based off of type
{
subject: "no-release:",
release: false
}
],
parserOpts: {
noteKeywords: ["BREAKING CHANGE", "BREAKING CHANGES"]
}
}
]
];
const generateNotes = [
[
"@semantic-release/release-notes-generator",
{
preset: "conventionalcommits",
presetConfig: {
issuePrefixes: [
"#",
"CAR-",
"GRO-",
],
issueUrlFormat:
"https://atlassian.net/browse/{{prefix}}{{id}}",
types: [
{ type: "breaking", section: "❗ Breaking ❗", hidden: false },
{ type: "feat", section: "✨ Feature ✨", hidden: false },
{ type: "fix", section: "🐛 Bugfix 🐛", hidden: false },
{ type: "hotfix", section: "🔥 Hotfix 🔥", hidden: false },
// ! The following are capitalized to grab attention
{ type: "BREAKING", section: "❗ Breaking ❗", hidden: false },
{ type: "HOTFIX", section: "🔥 Hotfix 🔥", hidden: false }
],
userUrlFormat: "https://github.com/FooBar/{{user}}"
}
}
]
];
const prepare = [
"@semantic-release/changelog",
[
"@semantic-release/npm",
{
// this here is just for package.log update
npmPublish: false
}
],
[
"@semantic-release/git",
{
assets: ["package.json", "CHANGELOG.md"],
message:
/* eslint-disable no-template-curly-in-string */
"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
];
const publish = [["@semantic-release/github"]];
const verifyRelease = [];
const fail = [];
const success = [];
const addChannel = [];
module.exports = {
repositoryUrl: "https://github.com/Foo/Bar",
branches: [
"main",
{
name: "next-RC",
prerelease: false
}
],
defaultBranch: "main",
verifyConditions,
analyzeCommits,
verifyRelease,
generateNotes,
prepare,
publish,
fail,
success,
addChannel
};
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the generateNotes configuration in release.config.js and compare the current release-note output, which includes only commit titles. Trace how commit information reaches note generation and define the expected formatting for the body; done means generated release notes include the full commit body while preserving the configured sections and links.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- release
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100