386+ Tools Comprehensive Tools for Webmasters, Developers & Site Optimization

Changelog Generator - Create Release Notes from Commits

Changelog Generator

The version number for this release (e.g., 1.2.0)
One commit message per line, following Conventional Commits format

About Changelog Generator

The Changelog Generator transforms your Git commit messages into professional, well-organized release notes. By following the Conventional Commits format, you can automate the creation of changelogs that clearly communicate what changed in each release.

Why Maintain a Changelog?

  • Communicate changes: Help users understand what's new, fixed, or broken
  • Track history: Maintain a human-readable record of all notable changes
  • Aid migration: Document breaking changes and upgrade paths
  • Build trust: Show users you care about transparency and documentation
  • Save time: Generate changelogs automatically instead of writing them manually

How It Works

The tool parses commit messages and automatically categorizes them:

Automatic Categories

  • Breaking Changes: Commits with ! or BREAKING CHANGE (highest priority)
  • Features: Commits starting with feat:
  • Bug Fixes: Commits starting with fix:
  • Documentation: Commits starting with docs:
  • Performance: Commits starting with perf:
  • Refactoring: Commits starting with refactor:
  • Testing: Commits starting with test:
  • Build: Commits starting with build:
  • CI/CD: Commits starting with ci:
  • Other: Any commits that don't match conventional format

Input Format

Enter one commit message per line in Conventional Commits format:

feat(auth): add social login support
fix(api): handle timeout errors gracefully
docs: update installation guide
perf: reduce database queries in dashboard
feat!: remove support for Node 12

Output Format

The tool generates a markdown changelog entry:

# [1.2.0] - 2024-01-15

## Breaking Changes

- (auth): remove support for Node 12

## Features

- (auth): add social login support

## Bug Fixes

- (api): handle timeout errors gracefully

## Documentation

- update installation guide

## Performance

- reduce database queries in dashboard

Getting Commit Messages

You can extract commit messages from Git using these commands:

All commits since last tag:

git log $(git describe --tags --abbrev=0)..HEAD --oneline --pretty=format:"%s"

All commits between two tags:

git log v1.0.0..v1.1.0 --oneline --pretty=format:"%s"

All commits since a specific date:

git log --since="2024-01-01" --oneline --pretty=format:"%s"

Using GitHub CLI:

gh pr list --state merged --limit 100 --json title --jq '.[].title'

Best Practices

  • One changelog per project: Keep all versions in a single CHANGELOG.md file
  • Newest first: Put the latest version at the top
  • Keep a version: Never delete old changelog entries
  • Date format: Use YYYY-MM-DD format (ISO 8601)
  • Group by type: Organize changes by category (Features, Bug Fixes, etc.)
  • Link to commits: Include links to GitHub commits or PRs when possible
  • Highlight breaking changes: Always put breaking changes first
  • Be concise: Use clear, simple language that users can understand

Example Complete CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.2.0] - 2024-01-15

### Breaking Changes

- remove support for Node 12 and below

### Features

- (auth): add OAuth2 social login
- (api): implement GraphQL endpoint
- (ui): add dark mode support

### Bug Fixes

- (api): fix memory leak in WebSocket connections
- (auth): correct token expiration handling

### Performance

- (database): optimize user query with indexes

## [1.1.0] - 2023-12-01

### Features

- (api): add pagination to user list endpoint
- (docs): add interactive API playground

### Bug Fixes

- (ui): fix responsive layout on mobile devices

## [1.0.0] - 2023-10-15

### Features

- Initial release
- User authentication
- RESTful API
- Admin dashboard

Keep a Changelog Principles

This tool follows the Keep a Changelog principles:

  • Changelogs are for humans, not machines
  • One entry per version
  • Group similar changes
  • Versions and sections are linkable
  • Latest version comes first
  • Release date of each version is displayed

Automation Ideas

  • CI/CD Integration: Generate changelog automatically on release
  • Git Hooks: Update changelog in pre-release hooks
  • GitHub Actions: Auto-generate and commit changelog on version tags
  • Release Notes: Use generated changelog for GitHub/GitLab releases

Tools That Work With This

  • standard-version: Automated versioning and changelog generation
  • semantic-release: Fully automated version management and package publishing
  • conventional-changelog: Generate changelogs from git metadata
  • commitizen: Help developers write conventional commits

Related Tools