Generate curated changelogs into various formats.
Project description
clproc helps to provide human-readable and user-friendly change-logs for projects without compromise on git-commit quality.
It uses a separate source for log-entries and is also usable for projects that don’t use git.
Why clproc?
clproc does not depend on specially formatted git commit messages. This has several very important consequences:
It clearly separates developers from end-users
Developers don’t need to worry about commit-message content leaking into end-user visible change-logs
End-Users will only see well-crafted, curated content for changes
Changelogs are “just content” and they can be easily modified as time goes on.
It is easy to modify old entries in the change-log witout rewriting the git history (f.ex. for clarifications and/or typos).
Example alternatives to clproc that rely on git log-messages:
Release Information
clproc also separates normal “change-log” entries from “release notes” where “release notes” is prose aimed to explain details of a specific release. Relase notes are optional and can be added on an “as-needed” basis.
Example Input File
# -*- changelog-version: 2.0 -*- 1.1 ; added ; Added a new feature 1.0.0 ; support ; Mark as final release 1.0.0a2 ; fixed ; Fixed something 1.0.0a1 ; support ; Initial Development Release
pre-commit integration
As of version 1.2.0, clproc can be integrated with pre-commit. The pre-commit hook will ensure that the current project-version also has a matching entry in the changelog
The expected version will be auto-detected. At the time of this writing, clproc supports only two metadata sources:
A pyproject.toml file using setuptools as build-backend
A package.json file for NPM packages
A cargo.toml file for rust crates
The arguments --exact and --release-only are of primary interest. Using “exact” checking, the changelog must contain an entry matching the version number in the metadata file exactly. When using --release-only, only the “release-nodes” (“nodes” with a “d”. Not a “t”. See the docs for details) are checked, providing a more lenient check.
Example pre-commit config:
---
repos:
- repo: https://github.com/post-luxembourg/clproc.git
rev: v1.2.0
hooks:
- id: clproc
args: ["--release-only"]
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clproc-2024.8.12.tar.gz.
File metadata
- Download URL: clproc-2024.8.12.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f740279e78aa2c3b56ab6e65c8fdab1c23e5a9c49c4c869e0b1f496ca50c973
|
|
| MD5 |
1ecd007769ab9dc50de2c0bfe2753dc3
|
|
| BLAKE2b-256 |
03d96a3e216fd7c8bab812afab324321d8b7e5694c918450171a9699545764d2
|
File details
Details for the file clproc-2024.8.12-py3-none-any.whl.
File metadata
- Download URL: clproc-2024.8.12-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3303c02cdf42b9eb59878713f981f1d21fed5d93bc0461ac4f39440c4e6925c9
|
|
| MD5 |
dcf3483de104ed96151d810eff766eae
|
|
| BLAKE2b-256 |
1e8862a083ce7b7e3b8158bde4ae81fa0aa63696e6875e5f6c14685e0514b560
|