mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
---
|
|
description: Audit changelog entries before release
|
|
---
|
|
Audit changelog entries for all commits since the last release.
|
|
|
|
## Process
|
|
|
|
1. **Find the last release tag:**
|
|
```bash
|
|
git tag --sort=-version:refname | head -1
|
|
```
|
|
|
|
2. **List all commits since that tag:**
|
|
```bash
|
|
git log <tag>..HEAD --oneline
|
|
```
|
|
|
|
3. **Read the current top release section in `CHANGELOG.md`:**
|
|
- Treat this section as the release target.
|
|
- Identify the runtime subsections that exist (for example `C`, `C++`, `C#`, `Java`, `TypeScript`, `Unity`, `UE`, etc.).
|
|
|
|
4. **For each commit, check:**
|
|
- Skip: changelog-only updates, doc-only changes, or release housekeeping.
|
|
- Determine affected runtime(s) and folders (`git show <hash> --stat`).
|
|
- Verify a changelog entry exists in `CHANGELOG.md` under the correct runtime subsection.
|
|
- Verify breaking API/behavior changes are listed under a breaking changes subsection for that runtime when applicable.
|
|
|
|
5. **Cross-runtime coverage rule:**
|
|
- If a shared or cross-cutting change impacts multiple runtimes, ensure each impacted runtime subsection has an entry.
|
|
|
|
6. **Report:**
|
|
- List commits with missing entries.
|
|
- List entries that are misplaced (wrong runtime subsection or wrong change type).
|
|
- Add any missing entries directly.
|
|
|
|
## Changelog structure reference
|
|
|
|
- Top-level section is the release version (for example `# 4.2`).
|
|
- Runtime subsections are grouped under that version.
|
|
- Runtime subsections may contain grouped headings such as `Additions`, `Breaking changes`, `Fixes`, etc.
|
|
- Keep wording concise and runtime-specific.
|