Changelog generation tool
Project description
Changelog Generator - v0.6.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.
Source Distribution
Built Distribution
Hashes for changelog_gen-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79e45899cca5e5a96f418a78e4fe5a3a182e09876ff54c121d4c6dfa4c960587 |
|
MD5 | 557ab3f2deb7d1e2fa8b70081f56c1cb |
|
BLAKE2b-256 | eeedebb8a7177b4cb7e775f889d8341b0dd98f6e166e9585662c04597ab84439 |