Skip to main content

Changelog generation tool

Project description

Changelog Generator - v0.5.1

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.

Files for changelog-gen, version 0.5.1
Filename, size File type Python version Upload date Hashes
Filename, size changelog_gen-0.5.1-py3-none-any.whl (13.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size changelog_gen-0.5.1.tar.gz (12.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page