Skip to main content

Changelog generation tool

Project description

Changelog Generator - v0.5.0

changelog-gen is a CHANGELOG generator intended to be used in conjunction with bumpversion to generate changelogs and create release tags.

Installation

pip install changelog-gen

or clone this repo and install with poetry, currently depends on poetry < 1.0.0 due to other personal projects being stuck.

poetry install

Usage

changelog-gen currently only supports reading changes from a release_notes folder.

Files in the folder should use the format {issue_number}.{type}.

By default supported types are currently fix and feat. Additional types can be configured to map to these initial types.

The contents of each file is used to populate the changelog file. If the type ends with a ! it denotes a breaking change has been made, this will lead to a major release being suggested.

$ ls release_notes
  4.fix  7.fix

$ changelog-gen

## v0.2.1

### Bug fixes

- Raise errors from internal classes, don't use click.echo() [#4]
- Update changelog line format to include issue number at the end. [#7]

Write CHANGELOG for suggested version 0.2.1 [y/N]: y

Configuration

Of the command line arguments, most of them can be configured in setup.cfg to remove the need to pass them in every time.

Example setup.cfg:

[changelog_gen]
commit = true
release = true
allow_dirty = false

Configuration file -- Global configuration

General configuration is grouped in a [changelog_gen] section.

commit = (True | False)

[optional]
default: False

Commit changes to the changelog after writing.

Also available as --commit (e.g. changelog-gen --commit)

release = (True | False)

[optional]
default: False

Use bumpversion to tag the release

Also available as --release (e.g. changelog-gen --release)

allow_dirty = (True | False)

[optional]
default: False

Don't abort if the current branch contains uncommited changes

Also available as --allow-dirty (e.g. changelog-gen --allow-dirty)

issue_link =

[optional]
default: None

Create links in the CHANGELOG to the originating issue. A url that contains an {issue_ref} for formatting.

Example:

[changelog_gen]
issue_link = http://github.com/EdgyEdgemond/changelog-gen/issues/{issue_ref}

allowed_branches =

[optional]
default: None

Prevent changelog being generated if the current branch is not in the supplied list. By default all branches are allowed.

Example:

[changelog_gen]
allowed_branches = 
  master
  develop

section_mapping =

[optional]
default: None

Configure additional supported release_note extensions to supported changelog sections.

Example:

[changelog_gen]
section_mapping = 
  test=fix
  bugfix=fix
  docs=fix
  new=feat

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

changelog_gen-0.5.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

changelog_gen-0.5.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file changelog_gen-0.5.0.tar.gz.

File metadata

  • Download URL: changelog_gen-0.5.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.5.9 Linux/5.0.0-37-generic

File hashes

Hashes for changelog_gen-0.5.0.tar.gz
Algorithm Hash digest
SHA256 bd7a62bb7a55faacf491d983515809d8d5ee4d951e730b4104e975dc39cc8232
MD5 ec1f861a4c59fb4e277f01bf9e2214f0
BLAKE2b-256 de19a778646ebc6f47e4556c1dd0147fab59233294c455d11d268d0902bda0c0

See more details on using hashes here.

File details

Details for the file changelog_gen-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: changelog_gen-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.5.9 Linux/5.0.0-37-generic

File hashes

Hashes for changelog_gen-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 376e640b58c879d586f8d891aff8171f6918393f51cff58194e0bc974b750763
MD5 48176797b24eb0bd0a07b86b878d1e58
BLAKE2b-256 6cc05b2b1b7659f3b9560d0fc6fe9fc2a2ba77fafaf05c142565ab1643fe8183

See more details on using hashes here.

Supported by

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