changelog-release — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited changelog-release (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Keep a Changelog for humans, SemVer for tooling, Conventional Commits as the source.
Collect commits since last tag → Derive bump → Move Unreleased → release →
Add date + version heading → Tag vX.Y.Z → Generate release notes → PushCHANGELOG.md lives at repo root, newest version on top, with a live [Unreleased] section you append to as you merge.
# Changelog
All notable changes to this project are documented here.
Format: Keep a Changelog. Versioning: Semantic Versioning.
## [Unreleased]
## [1.4.0] - 2026-06-23
### Added
- OAuth login via GitHub (#231)
### Fixed
- Crash when config file is empty (#240)
## [1.3.1] - 2026-05-02
### Security
- Patch path-traversal in file upload (CVE-2026-1234)
[Unreleased]: https://example.com/repo/compare/v1.4.0...HEAD
[1.4.0]: https://example.com/repo/compare/v1.3.1...v1.4.0
[1.3.1]: https://example.com/repo/compare/v1.3.0...v1.3.1| Category | Use for |
|---|---|
| Added | New features |
| Changed | Changes to existing behavior |
| Deprecated | Soon-to-be-removed features (warn before Removed) |
| Removed | Features taken out this release |
| Fixed | Bug fixes |
| Security | Vulnerability fixes — always call out |
Write entries for humans: describe the user-visible effect, not the diff. Omit empty categories. Link issues/PRs.
Read commit subjects since the last tag and map Conventional Commits → SemVer:
| Commit signal | Bump | Example |
|---|---|---|
BREAKING CHANGE: footer or feat!: / fix!: | MAJOR X | 1.4.0 → 2.0.0 |
feat: | MINOR Y | 1.4.0 → 1.5.0 |
fix: / perf: | PATCH Z | 1.4.0 → 1.4.1 |
docs: chore: refactor: test: ci: style: | none (unless paired with above) | — |
The highest signal wins: one feat! makes the whole release MAJOR.
# Commits since the last tag — scan these for the bump
git log "$(git describe --tags --abbrev=0)"..HEAD --pretty=format:'%s%n%b'0.y.z pre-1.0: anything MAY break. Bump MINOR for breaking changes, PATCH for everything else, until you commit to 1.0.0.
| Commit type | Changelog category |
|---|---|
feat: | Added (or Changed if it alters existing behavior) |
fix: | Fixed |
perf: | Changed |
breaking (! / footer) | Changed or Removed (+ note the migration) |
revert: | Removed / Fixed depending on what was reverted |
docs/chore/ci/style/test | usually omitted from user-facing notes |
VERSION=1.5.0 # decided from the bump table
# 1. CHANGELOG: rename [Unreleased] -> [VERSION] - YYYY-MM-DD, add fresh Unreleased,
# update the compare links at the bottom. (edit the file)
# 2. Bump the manifest (package.json, pyproject.toml, Cargo.toml, ...)
# 3. Commit the release prep
git commit -am "chore(release): v$VERSION"
# 4. Annotated tag — vX.Y.Z, the 'v' prefix is the common convention
git tag -a "v$VERSION" -m "Release v$VERSION"
# 5. Push commit + tag (a tag push often triggers CI publish)
git push origin main --follow-tagsDerive from the new changelog section; lead with what users care about.
## v1.5.0
**Highlights:** GitHub OAuth login, faster cold start.
⚠️ Breaking: `--config` now requires an absolute path. See MIGRATION.md.
### Added / Changed / Fixed / Security
<the entries from CHANGELOG.md for this version>
**Full changelog:** v1.4.0...v1.5.0[Unreleased] reflects everything merged since last tagvX.Y.Z tag created and pushed with --follow-tags[Unreleased]; cut the release from main.Remember: the changelog is curated, not auto-dumped. Conventional Commits decide the number; you still write entries a human would want to read.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.