Skip to main content

A CLI tool for managing changelogs in your project

Project description

changelog

Changelog is a CLI tool for managing changelogs. Individual changelog entries are stored as files, eliminating merge conflicts and enabling CI enforcement.

Full documentation

Installation

npm

Install globally:

npm install -g @d-dev/changelog

Or as a dev dependency:

npm install -D @d-dev/changelog

Or run with npx

npx @d-dev/changelog

PyPI

Install with pip:

pip install changesets

Install with uv.

uv tool install changesets

Or as a dev dependency

uv add --dev changesets

Or run directly with uvx (no install required):

uvx --from changesets changelog <command>

GitHub Releases

Download pre-built binaries from GitHub Releases.

Available platforms:

Platform Architecture
Linux x64, arm64
Linux (musl) x64, arm64
macOS x64, arm64
Windows x64

Initialize

Run changelog init in your project root to set up the .changelog directory:

changelog init

You'll be prompted for:

? Current version: 0.1.0
? Changelog file path: CHANGELOG.md
? Main git branch: main
Enter post-apply commands (leave blank to finish):
? Post-apply command: npm install
? Post-apply command (1 added):
✓ Initialized .changelog directory

This creates the following structure:

.changelog/
├── config.yaml
├── next/
│   └── .gitkeep
├── releases/
│   └── .gitkeep
└── templates/
    ├── header.md
    ├── body.eta
    └── footer.md

Add an Entry

When you make a notable change, run changelog add:

changelog add

Select a change type and provide a description:

? Change type: Add - Add a new feature. Minor version bump.
? Description: Support for YAML configuration files
✓ Added changelog entry: .changelog/next/1740000000000.yaml
✓ Updated CHANGELOG.md

A YAML file is created in .changelog/next/:

timestamp: 1740000000000
type: Add
description: Support for YAML configuration files

The changelog file is automatically regenerated with an Unreleased section so you can preview changes at any time.

Apply a Release

When you're ready to release, run changelog apply:

changelog apply

This computes the version bump, creates the release, and updates your project:

✓ Updated version in package.json to 0.2.0
✓ Applied version 0.2.0
✓ Updated CHANGELOG.md
Running post-apply command: npm install
? Commit changes and tag the commit? Yes
✓ Committed and tagged version 0.2.0

The version bump is determined by the change types present:

Change Types Bump
Change, Remove Major
Add, Deprecate Minor
Fix Patch
Internal None

After applying, push the commit and tag:

git push origin main --follow-tags

Full documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

changesets-1.0.1-py3-none-win_amd64.whl (42.6 MB view details)

Uploaded Python 3Windows x86-64

changesets-1.0.1-py3-none-musllinux_1_2_x86_64.whl (37.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

changesets-1.0.1-py3-none-musllinux_1_2_aarch64.whl (37.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

changesets-1.0.1-py3-none-manylinux_2_17_x86_64.whl (40.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

changesets-1.0.1-py3-none-manylinux_2_17_aarch64.whl (40.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

changesets-1.0.1-py3-none-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

changesets-1.0.1-py3-none-macosx_10_9_x86_64.whl (25.1 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file changesets-1.0.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: changesets-1.0.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 42.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for changesets-1.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9580334af9b582d210097a31e8bbf9a52215fc63ae3f8dacb21a9caa60c3b1a4
MD5 36781d7dae32db4182b72b44019a92c8
BLAKE2b-256 5bd2d713b2504c6d16b9db5cf4da0ec22b645d3e8f83b77893aa51746fec3524

See more details on using hashes here.

File details

Details for the file changesets-1.0.1-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: changesets-1.0.1-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 37.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for changesets-1.0.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1e3f87fa890a47fe9046cd5c58ae71302a808567786b736683ec256cadc3685
MD5 2f013a0e53a977c38e35830c825083d2
BLAKE2b-256 8e7219d06a533277e5653215b5876695a91dbb97b52b4fe9fd95db01aacf0519

See more details on using hashes here.

File details

Details for the file changesets-1.0.1-py3-none-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: changesets-1.0.1-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 37.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for changesets-1.0.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 61626ecea784ba6811decb930eecdbe428a260375568e417629e98f7cb49e4ba
MD5 f5ab097d0e1a2d4d1261c9811e98313e
BLAKE2b-256 755b7c1e735c408475ab294da90eb3a83042eb12492b01072e3322349fda890d

See more details on using hashes here.

File details

Details for the file changesets-1.0.1-py3-none-manylinux_2_17_x86_64.whl.

File metadata

  • Download URL: changesets-1.0.1-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 40.4 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for changesets-1.0.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a829fe54f6da4d0d8e5e574e19873dd646e9083bd953abc65d58f758118ac7e8
MD5 bc35d5102a7e4f7ad2c9c23f1e71914d
BLAKE2b-256 a8dc97b2296c7c977b6ff221a788f33bbcd30641c27c1815e20fcb0cc91d4b0a

See more details on using hashes here.

File details

Details for the file changesets-1.0.1-py3-none-manylinux_2_17_aarch64.whl.

File metadata

  • Download URL: changesets-1.0.1-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 40.4 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for changesets-1.0.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 f9bec7ebb07ad24122bac31c6f6698e3943a92457bb4a2ce9cf3f5eb319940e2
MD5 ca53423156b4eebee555b8fda66b9865
BLAKE2b-256 3013bf1dfc78dfc50d0b5fd03000f9b0c213252a8c02ca0fea57fc83d1f129e3

See more details on using hashes here.

File details

Details for the file changesets-1.0.1-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: changesets-1.0.1-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 23.1 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for changesets-1.0.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb65a37d5195de45fa0e03ab6de196be5464cc20f170ba71ca6bca0532b94aef
MD5 f30275980b4faf012225ab53ce45d1e9
BLAKE2b-256 5874dcb32962670b296a923bf80f9fa16d66d573b5d64ccb702e49edcad3416e

See more details on using hashes here.

File details

Details for the file changesets-1.0.1-py3-none-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: changesets-1.0.1-py3-none-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 25.1 MB
  • Tags: Python 3, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for changesets-1.0.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9eec05b66ec7f7a46b553c49eb674f6b192a344427e8043df6774ec0cb11d187
MD5 d8cf26786c9771866677a57fdec3a713
BLAKE2b-256 b1c94d04e1f705cab1ff434de03acb2274ffa81a05413e506fc13229d1619c1b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page