Changelog

Domain-specific changelog format

  • Create own changelog format standard, like keep a changelog (opens in a new tab) but based on my own preference and logic.
    • Create domain-specific changelog format standards (that represent data most important for each particular domain)
      • Language Models
      • Datasets
      • Frontend applications
      • Backend applications
      • etc.
    • Justification. Types of changes differ based on what is being developed. Changes for a front-end app might be different from changes for a Back-end (web-server) app and might not reflect the important specifics of it. Thus we should have a domain-specific changelog format

Changelog format: Front-end

...

Changelog format: Back-end (web-server)

...

Changelog format: Language Model

...

### Changelog format: Dataset

...


Changelog generation tool & configuration

  • Explicit template
  • Generate changelog based on template (with easy template switching)

github Automatically generated release notes (opens in a new tab)

Changelog generation tools

Python

git-cliff (opens in a new tab)

git-journal (opens in a new tab) - The Git Commit Message and Changelog Generation Framework

clog-cli (opens in a new tab) - Generate beautiful changelogs from your Git commit history

relnotes (opens in a new tab) - A tool to automatically generate release notes for your project.

cocogitto (opens in a new tab) - A set of CLI tools for the conventional commit and semver specifications.

cliff-jumper (opens in a new tab) - A NodeJS CLI tool that combines git-cliff and conventional-recommended-bump to semantically bump a NodeJS package and generate a git-cliff powered changelog.

release-plz (opens in a new tab) - Release Rust packages from CI.

git-changelog-command-line (opens in a new tab) - Generate changelog and determine next version with conventional commits.

git-changelog (opens in a new tab): Automatic Changelog generator using Jinja2 templates.