Simple tool to generate nice, formatted changelogs from vcs
Reason this release was yanked:
foxy-changelog has been rename foxy-project which provides more features to manage your project. Please use it instead.
Project description
🦊 Foxy changelog
[!IMPORTANT] This repository is a fork of auto-changelog. I decided to do it because auto-changelog is not maintained anymore and I need some changes for my personal usage. I will publish these changes for everyone to use but I do not promise to answer to feature request and bug fixes.
Sadly I do not have time to provide steps to contribute and not everything will be tested.
A tool which generates a changelog and manage version for any git repository using conventional style
commit messages.
Installation
It is recommanded to install this tool with pipx
to install it in a isolated environments:
pipx install foxy-changelog
Command line interface
You can list the command line options by running foxy-changelog --help
:
Usage: foxy-changelog [OPTIONS]
Options:
-p, --path-repo PATH Path to the repository's root directory
[Default: .]
-t, --title TEXT The changelog's title [Default: Changelog]
-d, --description TEXT Your project's description
-o, --output FILENAME The place to save the generated changelog
[Default: CHANGELOG.md]
-r, --remote TEXT Specify git remote to use for links
-v, --latest-version TEXT use specified version as latest release
-u, --unreleased Include section for unreleased changes
--template TEXT specify template to use [compact] or a path to a
custom template, default: compact
--diff-url TEXT override url for compares, use {current} and
{previous} for tags
--issue-url TEXT Override url for issues, use {id} for issue id
--issue-pattern TEXT Override regex pattern for issues in commit
messages. Should contain two groups, original
match and ID used by issue-url.
--tag-pattern TEXT override regex pattern for release tags. By
default use semver tag names semantic. tag should
be contain in one group named 'version'.
--tag-prefix TEXT prefix used in version tags, default: ""
--stdout
--tag-pattern TEXT Override regex pattern for release tags
--starting-commit TEXT Starting commit to use for changelog generation
--stopping-commit TEXT Stopping commit to use for changelog generation
--debug set logging level to DEBUG
--help Show this message and exit.
Version management
foxy-changelog
is providing support to automatically generate the version of your python project according their commit history.
The management is based on setuptools_scm and conventional commit.
As defined in the conventional commit specification:
- The type
feat
MUST be used when a commit adds a new feature to your application or library.- The type
fix
MUST be used when a commit represents a bug fix for your application.
foxy-changelog
is providing two entry points for setuptools_scm.version_scheme
configuration.
semver-conventional-commit-foxy
Based on semver.
Rules:
- A commit with type
feat
activates an increment of the minor. - All other types will activate an increment of the patch.
[!NOTE] Breaking changes is not supported yet.
calendar-conventional-commit-foxy
To manage version based on the calendar. The supported convention is YYYY.MM.Patch with Patch a number not 0-padded starting to 1. (example: 2024.01.1).
Rules:
- A commit with type
feat
activates an increment of the month. - All other types will activate an increment of the patch version.
- The year is automatically incremented at the end a year.
Hatch
Hatch is supporting out of the box thanks to hatch-vcs.
Python projet using other project management tool can use setuptools_scm
directly.
Ensure hatch-vcs
and foxy-changelog
is defined within the build-system.requires
field in your pyproject.toml
file.
All other options supported by hatch-vcs
and setuptools_scm
can be used. More information can be found in their documentation.
[build-system]
requires = ["hatchling", "hatch-vcs", "foxy-changelog"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "vcs"
[tool.hatch.version.raw-options]
version_scheme = "semver-conventional-commit-foxy"
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 foxy_changelog-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e74fb403f7a609c46c260ffd166fc6f7543c60da1ee3b7244406c3039ebca87 |
|
MD5 | 34d7f60bdaa0d844f68ee2d87fcc0c8c |
|
BLAKE2b-256 | d50270a9bcc1cab8d4a547b6699853c5b65ba1b8ba598959c639fd4d869e1fc9 |