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

and

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 environment 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:
  --overriding-version TEXT  Specify a version number to use [format: x.y.z]
  -o, --output PATH  The changelog destination [default: stdout]
  -e, --emoji        Include emoji in headings if present
  -d, --development  Include development-related commits
  -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

To create a development changelog, with addition headings like 'Testing' and 'Reverted':

$ whathappened -d

Package Changelog

Created by Whathappened itself - very meta.

For the complete changelog, please see CHANGELOG.md.

Whathappened Commit Message Format

For a full description of the message format, see Commit-It-Simple.

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.

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

More examples can be viewed on whathappened's own commits.

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

Emoji

Adding the --emoji flag will add emoji after each heading in the changelog. Below are the emoji that are used:

Production:

  • Docs 📝
  • Features ✨
  • Fixes 🐛
  • Performance ⚡️
  • Refactorings ♻️
  • Other 🃏

Development:

  • Continuous Integration 🤖
  • Reverted ☠️
  • Testing 🧪

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-1.1.0.tar.gz (12.1 kB view hashes)

Uploaded Source

Built Distribution

whathappened-1.1.0-py3-none-any.whl (24.5 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