Loading...
Loading...
Draft a CHANGELOG.md release entry in an emoji-driven format for every PR merged since the last release, then delegate to om-auto-create-pr so it lands as a docs PR against the configured base branch. Honors the Supersede Credit Rule and verifies every credit against commit authorship, so carry-forwards and umbrella merges credit the contributor rather than the merger. Use at release time.
npx skill4agent add open-mercato/skills om-auto-update-changelogCHANGELOG.mdom-auto-create-prCHANGELOG.md0.4.111.2.0--version <x.y.z>package.jsonCargo.tomlpyproject.tomlVERSIONCHANGELOG.mdmajor.minor.patch+1major.minor+1.0--since <value>last-releaselast-release# X.Y.Z (YYYY-MM-DD)CHANGELOG.md--release-ref <ref>$BASE_BRANCH--date <YYYY-MM-DD>--dry-runCHANGELOG.mdom-auto-create-pr--slug <kebab-case>om-auto-create-prchangelog-<version>CHANGELOG.mdom-auto-create-prom-auto-review-prom-auto-create-prPR:om-auto-create-prom-sync-merged-pr-issuesreferences/agentic-setup.md.ai/agentic.config.jsonom-setup-agent-pipelineBASE_BRANCHRUNS_DIRBASE_BRANCH"auto"TOP_HEADING=$(grep -m1 -E '^# [0-9]+\.[0-9]+\.[0-9]+ \([0-9]{4}-[0-9]{2}-[0-9]{2}\)' CHANGELOG.md)
# parse "# 0.4.10 (2026-04-01)" → version=0.4.10, date=2026-04-01
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || true)
TODAY=$(date +%Y-%m-%d)
RELEASE_REF="${RELEASE_REF:-$BASE_BRANCH}" # --release-ref wins--version--since last-releaseLAST_TAGWindow: <since> → <date>Release ref: <RELEASE_REF>Version: <version>references/release-window.md$RELEASE_REFbaseRefNamemerged:>=${SINCE_DATE} merged:<=${TODAY}number,title,body,author,labels,mergedAt,url,baseRefName,mergeCommit,closingIssuesReferencesbugfixsecuritysecurityfeaturefeatrefactorrefactordependencieschoredocumentationdocsfeat:fix:security:refactor:docs:test:chore:ci:build:perf:style:fix(auth):chore| Category | Section heading | Line emoji |
|---|---|---|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
fix🐛🔐💰🌍🖼️🔄📦🐳🔧CHANGELOG.md🐛references/supersede-credit-rule.mdprimaryAuthor*(@...)*viaAuthorcommitsCredit:Supersedes- <lineEmoji> <normalizedSummary>. (#<prNumber>) *(@<primaryAuthor>)*viaAuthor- <lineEmoji> <normalizedSummary> (supersedes #<oldPrNumber>). (#<prNumber>) *(@<primaryAuthor>, via @<viaAuthor>)**(@...)*normalizedSummary^([a-z][a-z0-9_]*)(\([^)]*\))?!?:i18n(area):(#...) (fixes #N)closingIssuesReferencesCHANGELOG.md# X.Y.Z (YYYY-MM-DD)---# {version} ({date})
## Highlights
<!-- TODO: Highlights — auto-update-changelog leaves this blank for the human author to fill in. -->
## ✨ Features
- ✨ ... (#1234) *(@author)*
## 🐛 Fixes
- 🐛 ... (#1236) *(@author)*
## 👥 Contributors
- @author1
- @author2
---
# {previous-version} ({previous-date})
...### <Area>## ✨ Features## 🐛 Fixes*(@...)*primaryAuthorviaAuthorvia- @references/supersede-credit-rule.mdom-auto-create-prCHANGELOG.mdom-auto-create-pr--slug changelog-{version}Update CHANGELOG.md for {version} covering PRs merged between {sinceDate} and {date}.
Only CHANGELOG.md is modified. Do not change any other files.
Apply labels: documentation, skip-qa.om-auto-create-prom-auto-review-prom-auto-create-pr--dry-run--dry-runreferences/report-templates.mdCHANGELOG.mdom-auto-create-prom-auto-create-prreferences/report-templates.mdPR:references/rules.mdreferences/supersede-credit-rule.mdauthorCredit:SupersedesviabaseRefNamereferences/release-window.md<!-- TODO: Highlights -->om-auto-create-prCHANGELOG.mdskip-qaom-auto-create-pr--forceom-auto-create-pr--dry-runom-auto-create-prCHANGELOG.md(#A, #B, #C)(main)(fixes #N)mergedPrAuthor<!-- supersede author unresolved for #N -->references/report-templates.mdom-sync-merged-pr-issuesCHANGELOG.mdom-auto-create-prreview.env