Skip to main content

Generate a changelog from git tags.

Project description

README

Overwite by the main README.md on the gitlab repository. changelogfromtags Git Logo pipeline status PEP8 Downloads

Changelog generation has never been so easy

Fully automated changelog generation - This package generates a changelog file based on git tags.

Since you don't have to fill your CHANGELOG.md manually now: just run the script, relax and take a cup of :coffee: before your next release! :tada:

What’s the point of a changelog?

To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.

Why should I care?

Because software tools are for people. "Changelogs make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project."

https://keepachangelog.com

Installation

Install the python package like:

$ pip install changelogfromtags

:warning: changelogfromtags have been successuflly tested with git version >= 2.20.0 It doesn't works with git version 2.11.0 and under...

Usage

Assuming you have a message for git tags:

$ git tag -l -n200
0.1.0           First release
    You retrieve the content of `git tag 0.1.0 -n200`
0.1.1           Deploy package changelogfromtags on pypi

Running with CLI:

usage: changelogfromtags [-h] [-p [PREFIX]] [-t [TITLE]] [--tag TAG]
                         [--verbose]

Generate a change log from git tags.

optional arguments:
  -h, --help            show this help message and exit
  -p [PREFIX], --prefix [PREFIX]
                        Append a charachter before each line of the message
                        tag if it is not present.
  -t [TITLE], --title [TITLE]
                        Title in the header
  --tag TAG             Display entry for the given tag
  --verbose, -v

Example

$ changelogfromtags
Changelog
=========

0.1.1 (06/01/2020)
------------------
Deploy package changelogfromtags on pypi

0.1.0 (06/01/2020)
------------------
First release
You retrieve the content of `git tag 0.1.0 -n200`

To add a prefix on entries if not present:

$ changelogfromtags --prefix "- "
Changelog
=========

0.1.1 (06/01/2020)
------------------
- Deploy package changelogfromtags on pypi

0.1.0 (06/01/2020)
------------------
- First release
- You retrieve the content of `git tag 0.1.0 -n200`

To the entry of a specific tag:

$ changelogfromtags --tag 0.1.1
0.1.1 (06/01/2020)
------------------
- Deploy package changelogfromtags on pypi

Running with Docker

docker run -it --rm -v $(pwd):/app r4mb0/changelogfromtags

See changelogfromtags docker image.

Output example

Features and advantages of this project

  • Changelog entries are directly taken from git tags messages
  • No requirements except python and git
  • Generate canonical, neat changelog file, with default sections that follow basic changelog guidelines

Alternatives

Here is a wikipage list of alternatives that I found. But none satisfied my requirements.

If you know other projects, feel free to edit this Wiki page!

License

changelogfromtags is released under the MIT License.

Project details


Download files

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

Source Distribution

changelogfromtags-0.4.4.tar.gz (12.3 kB view hashes)

Uploaded Source

Built Distribution

changelogfromtags-0.4.4-py3-none-any.whl (10.6 kB view hashes)

Uploaded Python 3

Supported by

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