SuperAPI AI Directory

changelog-gen

General & other

View repository

Updated 10-16 06:22

About this skill

Changelog Auto-Generation

Trigger Conditions

Activate this skill when the user requests to generate a changelog, update log, version record, or release notes.

Workflow

Step 1: Get Git History

# 先获取最近的 tag,再用 revision range 查询
git describe --tags --abbrev=0
git log --oneline <last-tag>..HEAD

# 或指定范围
git log --oneline v1.0.0..HEAD

# 仓库没有 tag 时,明确选择起始提交或查看全部历史
git log --oneline

Step 2: Categorize Commits

Categorize by Conventional Commits:

Category Type Identifier Icon
New Features feat ✨
Bug Fixes fix 🐛
Documentation docs 📝
Refactoring refactor ♻️
Performance Optimization perf ⚡
Testing test 🧪
Build/Tooling chore 🔧
Breaking Changes Contains BREAKING CHANGE: or ! ⚠️
Security Fixes fix(security) or contains CVE 🔒
Dependency Updates deps or chore(deps) 📦

Step 3: Version Number Determination Strategy

Follow Semantic Versioning rules:

Change Type Version Change Example
Breaking Changes Major version +1 1.2.0 → 2.0.0
New feature (feat) Minor version +1 1.2.0 → 1.3.0
Bug fix (fix) Patch version +1 1.2.0 → 1.2.1
Security fix (fix(security)) Patch version +1 (emergency release) 1.2.0 → 1.2.1

Basis for Determination:

  • Commit message contains BREAKING CHANGE: or type followed by !(e.g., feat!:) → major version
  • Presence of feat commits → minor version
  • Only fix/docs/chore etc. → patch version

Step 4: Generate CHANGELOG

Output Format

# Changelog

## [1.3.0] - 2026-06-17

### ⚠️ Breaking Changes
- 移除废弃的 `/api/v1/users` 端点,统一使用 `/api/v2/users` (#130)

### ✨ 新功能
- 新增用户认证模块 (#123)
- 支持 OAuth2 登录 (#124)
- 新增批量导出功能 (#128)

### 🔒 安全修复
- 升级 lodash 修复原型污染漏洞 CVE-2025-XXXX (#129)

### 🐛 Bug 修复
- 修复分页查询偏移量错误 (#125)
- 修复并发写入导致的数据竞争 (#127)

### ⚡ 性能优化
- 优化大列表渲染性能,减少 50% 内存占用 (#126)

### 📝 文档
- 更新 API 文档 (#131)

### 📦 依赖更新
- 升级 axios 1.6.0 → 1.7.0 (#132)

Notes

  • Breaking Changes must be placed at the very top, highlighted in bold
  • Each entry should be linked to an Issue/PR number for traceability
  • Security fixes must include the CVE number (if any)
  • The version number should be consistent with the git tag
  • If it is a pre-release version, use the -beta.1、-rc.1 suffix
  • You can maintain a CHANGELOG.md file, appending to the top on each release