______________________________
/ __// // / _ | / |/ / ___/ __/
/ /__/ _ / __ |/ / (_ / _/
\___/_//_/_/ |_/_/|_/\___/___/
The goal of change
is to take the grunt work out of creating and updating changelogs.
It combines the ideas from Keep a Changelog
and Conventional Commits
to help you generate and update a changelog template.
This tool can't do all the work of writing a
great changelog for you.
But change
can do a lot of it!
change init
You need to have a least one commit tagged with valid SemVer (like 0.1.0 or even v0.0.1).
change
probably won't work well with a changelog that's formatted differently.
So it's better to let change
generate one. You can transfer existing messages afterward.
change
change
can add multiple versions to your changelog, but those version tags should already exist.
Otherwise, it will assume everything since the previous version tag is part of the newest version.change
figures out what your next version should be based on your commits and will add it to the changelog.--bump PATH
can pass the newest version as an argument to a script.
You can customize that script to update version info anywhere in your repo.change tag
-p
to automatically push the new version.change auth
change post
.--token TOKEN
to provide the token non-interactively.change post
--dry-run
to see the URL, version, and message body without
actually creating the release: change post --dry-run
change all
change
command.change tag -p
and change post
.--bump
flag.This is the general workflow I use with this tool:
change all
With the help of curl, you can even run this tool without installing it:
curl -s "https://raw.githubusercontent.com/adamtabrams/change/master/change" | sh -s -- [args]
change
like this for CICD, you may want to pick a specific version (instead of master).If you use change
often, add it to your path. Here are some options for how:
change
(my favorite):
ln -s /path/to/change/script ~/.local/bin/change
export PATH="/path/to/change/repo:${PATH};"
cp /path/to/change/script ~/.local/bin/
change
executable will remain at its version when this command was used.