Changelog.md

Developer utility · static deliverable

git log → pretty changelog in under 5 minutes

One Python CLI (stdlib only). Groups by date or conventional-commit type. Writes CHANGELOG.md + a dark public/index.html you can host anywhere.

No SaaS · no OAuth · no API keys · runs in CI

$ python3 cli.py
Changelog.md v0.1.0 · grouped by type · 7 commits
  wrote ./CHANGELOG.md
  wrote ./public/index.html

## Features

  • • cli: parse git log and conventional commits
  • • export: write CHANGELOG.md + public/index.html

## Fixes

  • • handle Zulu timestamps from git

Live preview

Paste commits (one per line). Optional YYYY-MM-DD | type(scope): subject.

How it works

  1. 1 · Install

    Unzip. Needs Python 3.9+ and git on PATH. Zero pip packages.

  2. 2 · Run

    python3 cli.py
    # or from a commits file:
    python3 cli.py -i commits.txt
  3. 3 · Ship

    Commit CHANGELOG.md. Host public/ on GitHub Pages, Netlify, or your VPS.

One-liner (from your repo root):

python3 /path/to/changelog-md/cli.py --title "My App" --group auto

FAQ

Does it need GitHub App / OAuth?

No. Local git log or a pasted commits file. Perfect for private repos and air-gapped CI.

Conventional commits?

If enough commits match feat|fix|docs|…, auto mode groups by type. Otherwise by date. Force with --group type or --group date.

Can I customize the HTML?

Yes — edit themes/dark.html (placeholders {{TITLE}}, {{META}}, {{ENTRIES}}, {{VERSION}}) or pass --theme my.html.

What’s in the ZIP?

CLI (cli.py / changelogmd), dark theme, sample commits + tiny git repo, README, LICENSE.

Ready for credible release notes?

One-time $24 on Gumroad. Keep shipping credible release notes.

Buy Changelog.md · $24

Buy on Gumroad: zhengchh.gumroad.com/l/changelog-md