| title | SPEC 10 — Changelog | |
|---|---|---|
| number | 10 | |
| date | 2024-06-03 | |
| author |
|
|
| discussion | https://discuss.scientific-python.org/t/ | |
| endorsed-by |
SPEC 10 provides guidelines and best practices for maintaining a changelog file for libraries in the Scientific Python ecosystem.
The endorsement of this SPEC signifies your project's support for the guidelines laid out in the document.
Keeping a clear, organized, and human-readable record of notable changes for each version of a Python library is essential for the project’s maintenance and sustainability. It promotes transparency and trust between the project’s leadership team, developers, and users.
A changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project.
- Changelogs are meant for humans, not machines.
- Every version should have an entry.
- Group similar types of changes together.
- Make versions and sections linkable.
- List the most recent version first.
- Display the release date for each version.
- Indicate if you follow Semantic Versioning.
- Added: New features.
- Changed: Modifications in existing functionality.
- Deprecated: Soon-to-be-removed features.
- Removed: Features that are now removed.
- Fixed: Bug fixes.
- Security: Vulnerability fixes.
There is not one standard changelog format.
ADD EXAMPLES
CHANGELOG, HISTORY, NEWS, or RELEASES are widely accepted names for changelog files.
TO DO
TO DO
It is generally acceptable to edit a changelog for the following reasons:
- maintaining accuracy of the records about the changes in each release (e.g., adding essential information that was left out when the initial changelog was published)
- improving clarity and readability of the change log. Try to avoid nitpicking when making edits to the changelog.