Skip to main content

A changelog generator using simply structured git commit messages.

Project description

GitHub license GitHub Workflow Status PyPI - Python Version semver GitHub tag (latest SemVer) Code style: black

whathappened

A changelog generator using simply structured git commit messages

Inspired by

Install and Run

Installation is as simple as it gets:

$ pip install whathappened

To generate a changelog, run:

$ whathappened

Make sure to activate any virtual envrionment that you might be using first.

Some options are available:

$ whathappened --help
Usage: whathappened [OPTIONS] [GIT_LOG_ARGS]...

  Handle command line arguments. Extra arguments are passed to 'git log'.

Options:
  -o, --output PATH  The changelog destination [default: stdout]
  -e, --emoji        Include emoji in headings if present
  -p, --prefix TEXT  Version prefix, often 'version' or 'v' [default: '']
  --version          Show the version and exit.
  --help             Show this message and exit.

To limit the range of commits, add a revision range argument.

To create a changelog of commits that are yet to be pushed:

$ whathappened origin..HEAD

To create a changelog of commits between (branch: main) and (tag: v1.0.0) and write the output to file:

$ whathappened -o CHANGELOG.md main..v1.0.0

Package Changelog

Created by Whathappened itself - very meta.

For the complete changelog, please see CHANGELOG.md.

Whathappened Commit Message Format

Whathappened expects git commit messages in the format outlined below:

[optional breaking ]<type>[ optional (<scope>)]: <description>

[optional body]

<type> is recommended to be one of:

fix
feat
build
ci
docs
style
refactor
perf
test

Variations on these types like feat, feature, features, or doc, docs are seamlessly grouped together.

<scope> is recommended to be a module, file, or folder name as appropiate.

For a nice summary of types and what they mean, please see Understanding Semantic Commit Messages Using Git and Angular.

Examples

All of the examples below are acceptable commit message formats:

The simplest message:

style: isn't it neat

Defining scope:

docs(gadgets): remember the gizmos

Signalling a breaking change

breaking feat: add the whozits

Defining scope, including a space:

fix (whatsits): repair the thingamabobs

Multiple lines:

test: How many have I got?

I've got twenty
But who cares?

I want more

For more examples, please see whathappened's own commits.

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

whathappened-0.3.3.tar.gz (12.1 kB view hashes)

Uploaded Source

Built Distribution

whathappened-0.3.3-py3-none-any.whl (26.7 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