Summary
The repository has no CHANGELOG.md. For a Layer-1 chain where validators and integrators need to know exactly what changed between binary releases (consensus-affecting changes, new modules, param defaults, breaking gRPC fields, etc.), a maintained changelog is essential.
Goal
Adopt Keep a Changelog v1.1.0 and seed CHANGELOG.md with entries reconstructed from the existing git history and tags.
Suggested structure
```markdown
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
Added
Changed
Deprecated
Removed
Fixed
Security
State-Breaking / Consensus-Breaking
API-Breaking
[vX.Y.Z] - YYYY-MM-DD
...
```
The two extra sections (State/Consensus-Breaking and API-Breaking) are specific to a Cosmos SDK chain and matter to validators / integrators planning upgrades.
Tasks
Why this is a good first issue
The template itself is well-defined and writing the initial seed entries is mostly a git log exercise — a great way for a newcomer to learn the project's release history.
Summary
The repository has no
CHANGELOG.md. For a Layer-1 chain where validators and integrators need to know exactly what changed between binary releases (consensus-affecting changes, new modules, param defaults, breaking gRPC fields, etc.), a maintained changelog is essential.Goal
Adopt Keep a Changelog v1.1.0 and seed
CHANGELOG.mdwith entries reconstructed from the existing git history and tags.Suggested structure
```markdown
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
Added
Changed
Deprecated
Removed
Fixed
Security
State-Breaking / Consensus-Breaking
API-Breaking
[vX.Y.Z] - YYYY-MM-DD
...
```
The two extra sections (State/Consensus-Breaking and API-Breaking) are specific to a Cosmos SDK chain and matter to validators / integrators planning upgrades.
Tasks
CHANGELOG.mdat repo root with the template abovegit logCONTRIBUTING.md(see docs: add top-level CONTRIBUTING.md #28) to require a changelog entry under[Unreleased]for any user-visible changegrepin the PR pipeline) that fails whenCHANGELOG.mdis unchanged for non-chore/docsPRsWhy this is a good first issue
The template itself is well-defined and writing the initial seed entries is mostly a
git logexercise — a great way for a newcomer to learn the project's release history.