Changelog generation tool
Project description
Changelog Generator - v0.7.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
sections =
[optional]
default: None
Define custom headers or new sections/headers, new sections will require a matching section_mapping configuration.
Example:
[changelog_gen] sections = feat=New Features change=Changes remove=Removals fix=Bugfixes
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size changelog_gen-0.7.0-py3-none-any.whl (14.1 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size changelog_gen-0.7.0.tar.gz (13.0 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for changelog_gen-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eec788ff33a2a4283e4f18892bd66326f638db61de3d6637b74c777c558fe653 |
|
MD5 | c099e1530c86cfaa2effda0fc08cc332 |
|
BLAKE2-256 | 97da7da39d8ce51b92fe3640c130d209a4378ed523a6af3af491ff52e44a5850 |