changelog
Is a file which contains ordered list of notable changes for each version of a project.
To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.
Guiding Principles
- Changelogs are for humans, not machines.
- There should be an entry for every single version.
- The same types of changes should be grouped.
- The latest version comes first.
- Sort content by importance.
- Skip content that isn't important.
Format
Filename must be CHANGELOG.md
File content must be Markdown and start with a first-level heading:
# Changelog
A release must start with second-level Markdown heading, containing a semver-valid version and a date in the form of YYYY-MM-DD ISO 8601.
## <version> - <date>
E.x: ## [1.0.2] - 2023-12-10
A change group must start with a third-level, text-only Markdown heading containing a category:
### <category>
The category must be one of (in order):
Changed
for changes in existing functionality.Added
for new features.Removed
for now removed features.Fixed
for any bug fixes.
Write a change using the imperative mood. It must start with a present-tense verb, for example (but not limited to) Add, Refactor, Bump, Document, Fix.
Each change must be self-describing, as if no category heading exists. Instead of:
### Added
- Support of CentOS
- `write()` method
- Documentation for the `read()` method
Write:
### Added
- Support CentOS
- Add `write()` method
- Document the `read()` method
Example
# Changelog
## [1.1.1] - 2023-03-05
### Changed
- Hyper parameters.
### Added
- Missing tooth feature.
- Group tooth treatments.
### Removed
- Unused test.py file.
### Fixed
- Tooth image size.
- Some typo errors.
For more information you can read these links: - common-changelog - keepachangelog