Skip to content

jcrewfare/autochangelog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📋 AutoChangelog

Generate beautiful changelogs from your git history in seconds.

Zero dependencies. Conventional Commits aware. Works as a CLI tool and GitHub Action.

npx autochangelog

That's it. Beautiful, grouped, emoji-rich changelog from your git history.


Output Example

## v2.1.0 (2026-02-19)

### ✨ Features
- **auth:** add OAuth2 support (a1b2c3d)
- **api:** new batch endpoint (e4f5g6h)

### 🐛 Bug Fixes
- **db:** fix connection pool leak (i7j8k9l)

### ⚡ Performance
- reduce bundle size by 40% (m0n1o2p)

Install

# Use directly (no install needed)
npx autochangelog

# Or install globally
npm install -g autochangelog

CLI Usage

# Changes since last tag → stdout
autochangelog

# Full changelog from all tags
autochangelog --all

# Write to file
autochangelog --all --output CHANGELOG.md

# With commit links
autochangelog --repo-url https://github.com/you/repo

# JSON output (for pipelines)
autochangelog --format json

# Changes between specific refs
autochangelog --from v1.0.0 --to v2.0.0

GitHub Action

Add to .github/workflows/changelog.yml:

name: Generate Changelog
on:
  push:
    tags: ['v*']

jobs:
  changelog:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0  # Full history needed

      - uses: jcrewfare/autochangelog@v1
        id: changelog
        with:
          all: true
          output: CHANGELOG.md

      - name: Create Release
        uses: softprops/action-gh-release@v1
        with:
          body: ${{ steps.changelog.outputs.changelog }}

Action Inputs

Input Description Default
from Start ref (tag/commit) Latest tag
to End ref HEAD
version Version heading Auto-detected
repo-url Repo URL for links Auto from GitHub
output Output file path CHANGELOG.md
format markdown or json markdown
all Full changelog false

Action Outputs

Output Description
changelog Generated changelog content
suggested-bump Suggested semver bump

How It Works

  1. Reads your git log (tags + commits)
  2. Parses Conventional Commits (feat:, fix:, perf:, etc.)
  3. Groups changes by type with emoji headers
  4. Suggests version bumps based on commit types
  5. Non-conventional commits go to "Other Changes" (nothing is lost)

Commit Format

AutoChangelog works best with Conventional Commits:

feat(scope): add new feature       → ✨ Features (minor bump)
fix(scope): resolve bug            → 🐛 Bug Fixes (patch bump)
perf: improve speed                → ⚡ Performance (patch bump)
feat!: breaking change             → ⚠️ BREAKING (major bump)
docs: update readme                → 📚 Documentation
refactor: clean up code            → ♻️ Refactoring

But it also handles non-conventional commits gracefully — they appear under "📝 Other Changes".

Free vs Pro

Feature Free Pro ($5)
Conventional Commits parsing
Grouped output with emoji
Commit links
JSON output
Full changelog (--all)
GitHub Action
Custom templates
Slack/Discord webhooks
JIRA/Linear ticket linking
Priority support

Get Pro →

export AUTOCHANGELOG_PRO=your-key
autochangelog --template my-template.md

Zero Dependencies

AutoChangelog has no npm dependencies. It uses only Node.js built-ins (child_process, fs, path). Install is instant, no supply chain risk.

License

MIT © jcrewfare

About

Generate beautiful changelogs from git history. Zero dependencies. CLI + GitHub Action.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors