Skip to main content

Generate a changelog file from a local git checkout

Project description

Generate Changelog

pre-commit.ci status Coverage Status Use your commit log to make a beautiful changelog file.

generate-changelog does what it says: it generates a full changelog, or updates an existing one. Git tags and commits are the inputs by which generate-changelog performs its task.

The primary goal of this tool was to provide the benefits of conventional commits without requiring a strict syntax. generate-changelog accomplishes this using configurable regular expressions or commit metadata matching. The thought is natural language is easier for developers to remember and requires less tooling to enforce.

Features

Commit and tag processing

  • Filter out commits and tags based on regular expression matching.
  • Classify commit messages into sections such as "New", "Fixes", and "Changes" using configurable regular expressions, metadata, or custom criteria.
  • Rewrite commit summary or commit body using pipelines of actions.
  • Extract parts of the commit summary or body into metadata available for templates and filters.
  • Built-in issue parsers for Jira, GitHub, Azure DevOps Board.
  • Built-in conventional commit parser

Changelog rendering

  • Templated using Jinja templates.
  • Each template has a large amount of metadata that allows linking to a commit, a version diff, and issue trackers.
  • Easily customize just the template you want.
  • Supports full or incremental changelog generation.

Release hints

  • Can use user-defined rules to suggest a release type for use in another part of your CI pipeline.

Git support

  • Supports your merge or rebase workflows and complicated git histories.
  • Supports of multi-authors for one commit through configurable trailers key values.
  • Built-in parser for turning trailers key values into metadata.

Requirements

Python 3.7 or higher.

Installation

$ pip install generate-changelog

Usage

Create a default configuration file.

$ generate-changelog --generate-config

This creates a file named .changelog-config.yaml. You can make changes to the default configuration.

Generate your changelog via:

$ generate-changelog

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

generate_changelog-0.9.1.tar.gz (54.8 kB view details)

Uploaded Source

Built Distribution

generate_changelog-0.9.1-py3-none-any.whl (55.4 kB view details)

Uploaded Python 3

File details

Details for the file generate_changelog-0.9.1.tar.gz.

File metadata

  • Download URL: generate_changelog-0.9.1.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for generate_changelog-0.9.1.tar.gz
Algorithm Hash digest
SHA256 7151e27eb8ca967092b24f5051585c6330fd469bb2b6e39c601f1282e015d0f0
MD5 1ce64823ce8984967e59f6b3a4a83b4b
BLAKE2b-256 817a74726a85e11d3b4fb318001621a7daf6f9e29a97cdc22a9f1365ba1b70f7

See more details on using hashes here.

File details

Details for the file generate_changelog-0.9.1-py3-none-any.whl.

File metadata

File hashes

Hashes for generate_changelog-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e53d4bd71f64d790ef1b4b3e0268471f623960184d9763e49c20a8d41e2520db
MD5 8fc30ea2c806d46d7a1ed18c27af7712
BLAKE2b-256 d41841b1e13234c8a26f67ce0ff3a39fa78125e43b02536c4185227d5438dbc6

See more details on using hashes here.

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