tesserakit-changelog
Turn git history into a structured CHANGELOG.md and release notes.
tessera-changelog reads commit history (from a git repository, or a portable commits.jsonl), parses Conventional Commits, groups changes by type, and emits a changelog, release notes, and quality reports. It reads git metadata only: no project code is executed and no network calls are made.
Input
- A git repository directory → reads
git log --no-merges(read-only). - A
commits.jsonlfile, or a directory containing one → parses it directly. Each line:{"hash": "...", "short_hash": "...", "author": "...", "date": "...", "subject": "feat: ...", "body": "..."}. Onlysubjectis required.
Build a changelog
tessera changelog build --input . --output ./out/changelog_pack
tessera changelog build --input . --since v0.1.0 # only since a tag
Artifacts written:
commits.jsonl canonical Commit rows (parsed type/scope/breaking)
CHANGELOG.md grouped by type, with a Breaking Changes section
release_notes.md prose summary with highlights
validation_report.md commit-hygiene findings
coverage_report.md commit-type distribution, % conventional, authors
Conventional Commits
Subjects of the form type(scope): description (and type!: ... or a
BREAKING CHANGE: body trailer for breaking changes) are parsed into a type,
scope, and breaking flag. Recognized types: feat, fix, docs, refactor,
perf, test, build, ci, chore, style, revert. Anything else is
grouped under other and flagged non_conventional_commit (informational).
Validation rules
source_error— not a git repo and no commits.jsonl, or git failedno_commits— empty rangeempty_subjectnon_conventional_commit(info)wip_commit— looks like a WIP/fixup commit that may not belong in a releasebreaking_change— surfaced for visibility
Metadata
Release files for tesserakit-changelog 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tesserakit_changelog-0.4.0.tar.gz | 8.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tesserakit_changelog-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / tesserakit_changelog-0.4.0.tar.gz
| Download URL | tesserakit_changelog-0.4.0.tar.gz |
|---|---|
| Size | 8.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cfc35daa67d458f4412ed56a011e35f567bc1ee0af71d71bd0f78c5461eed141
|
|
BLAKE2b-256 checksum How to use checksums |
93ae584dabf5bf99d9841adf11af220c6eccc04d6b6a58b1020780305ad45a6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / tesserakit_changelog-0.4.0-py3-none-any.whl
| Download URL | tesserakit_changelog-0.4.0-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ee08e4c1a5b49b28e5e69ef8bf9a0c40891614b63cad639b84d1853efd024f3
|
|
BLAKE2b-256 checksum How to use checksums |
bbe530189f652c160a5e10502a3e16ce0ae5dd0d5c934435400d66caf4b3b4e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|