11 releases (5 breaking)

0.7.0 Nov 5, 2024
0.5.0 Aug 25, 2024
0.4.1 Jul 6, 2024

#475 in Development tools

Download history 56/week @ 2024-08-10 2/week @ 2024-08-17 135/week @ 2024-08-24 10/week @ 2024-08-31 155/week @ 2024-09-14 48/week @ 2024-09-21 3/week @ 2024-09-28 3/week @ 2024-10-05 11/week @ 2024-10-12 2/week @ 2024-10-19 157/week @ 2024-11-02 12/week @ 2024-11-09 3/week @ 2024-11-16 1/week @ 2024-11-23

173 downloads per month

MIT license

94KB
1.5K SLoC

Image

changelogging

License Version PyPI Version Downloads PyPI Downloads Discord Test

Building changelogs from fragments.

Installation

The binaries can be downloaded from releases.

pipx

Note: because changelogging was originally written in python, releases on PyPI have different versions: for instance, the 0.7.0 release is on PyPI with version 2.7.0, meaning the major part of the version is always incremented twice to get the PyPI one.

Installing changelogging with pipx is quite simple:

$ pipx install changelogging

Alternatively, the package can be installed from source:

$ pipx install git+https://github.com/nekitdev/changelogging.git

Or via cloning the repository:

$ git clone https://github.com/nekitdev/changelogging.git
$ cd changelogging
$ pipx install .

cargo

Installing the crate with cargo is as simple as with pipx:

$ cargo install changelogging

Alternatively, the crate can be installed from source:

$ cargo install --git https://github.com/nekitdev/changelogging.git

Or via cloning the repository:

$ git clone https://github.com/nekitdev/changelogging.git
$ cd changelogging
$ cargo install --path .

Example

Once changelogging is installed, we can start building changelogs!

First things first, we need to configure the context of the project.

Create changelogging.toml and add the name, version and URL of the project:

[context]
name = "changelogging"
version = "0.7.0"
url = "https://github.com/nekitdev/changelogging"

Then we need to create the changes directory.

$ mkdir changes

Now we can add fragments:

$ changelogging create --content "Added cool features!" 13.feature.md
$ changelogging create --content "Fixed annoying bugs!" 64.fix.md

There are also unlinked fragments, which have non-integer IDs:

$ changelogging create --content "Fixed security issues!" ~issue.security.md

And finally, preview the changelog entry!

$ changelogging preview
## 0.7.0 (YYYY-MM-DD)

### Security

- Fixed security issues!

### Features

- Added cool features! (#13)

### Fixes

- Fixed annoying bugs! (#64)

Then let us add our CHANGELOG.md file with the following content:

# Changelog

<!-- changelogging: start -->

Note that the start is essential if we want to add some content before the changelog entries.

Assuming the preview is what we expected it to be, writing it to the changelog is as simple as:

$ changelogging build

Finally, let's see the changelog:

$ cat CHANGELOG.md
# Changelog

<!-- changelogging: start -->

## 0.7.0 (YYYY-MM-DD)

### Security

- Fixed security issues!

### Features

- Added cool features! (#13)

### Fixes

- Fixed annoying bugs! (#64)

Documentation

You can find the documentation here.

Support

If you need support with the library, you can send an email or refer to the official Discord server.

Changelog

You can find the changelog here.

Security Policy

You can find the Security Policy of changelogging here.

Contributing

If you are interested in contributing to changelogging, make sure to take a look at the Contributing Guide, as well as the Code of Conduct.

License

changelogging is licensed under the MIT License terms. See License for details.

Dependencies

~11–21MB
~328K SLoC