Skip to content

Commit fd5ca6f

Browse files
CopilotLexian-droid
andcommitted
Add comprehensive CHANGELOG.md documentation to readme
Co-authored-by: Lexian-droid <83799577+Lexian-droid@users.noreply.github.com>
1 parent d2f9483 commit fd5ca6f

File tree

1 file changed

+82
-1
lines changed

1 file changed

+82
-1
lines changed

readme.md

Lines changed: 82 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,85 @@
11
## Template
22
This is a template for a **GENERAL APPLICATION** built in Python.
33

4-
It was developed by LexianDEV
4+
It was developed by LexianDEV
5+
6+
## Changelog Management
7+
8+
This project uses the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format for documenting changes. The changelog is maintained in the `CHANGELOG.md` file and **must be edited manually** when making changes to the project.
9+
10+
### How to Update the Changelog
11+
12+
#### 1. Adding New Changes (Unreleased Section)
13+
When you make changes to the project, add them to the `[Unreleased]` section at the top of the changelog:
14+
15+
```markdown
16+
## [Unreleased]
17+
18+
### Added
19+
- New feature you added
20+
21+
### Changed
22+
- Something you modified
23+
24+
### Deprecated
25+
- Feature that will be removed in future versions
26+
27+
### Removed
28+
- Feature you removed
29+
30+
### Fixed
31+
- Bug you fixed
32+
33+
### Security
34+
- Security improvement you made
35+
```
36+
37+
#### 2. Creating a New Release
38+
When you're ready to release a new version:
39+
40+
1. **Move unreleased changes** from the `[Unreleased]` section to a new version section
41+
2. **Set the release date** in the format `[X.Y.Z] - YYYY-MM-DD`
42+
3. **Update the links** at the bottom of the file
43+
4. **Leave the `[Unreleased]` section empty** for future changes
44+
45+
Example:
46+
```markdown
47+
## [Unreleased]
48+
49+
## [1.1.0] - 2024-12-20
50+
51+
### Added
52+
- New feature you added
53+
54+
### Fixed
55+
- Bug you fixed
56+
57+
## [1.0.0] - 2024-08-22
58+
...
59+
```
60+
61+
#### 3. Automated Release Integration
62+
The GitHub Actions workflows automatically extract the appropriate changelog section for each release:
63+
- When you create a tag/release, the workflow finds the matching version in the changelog
64+
- It extracts only that version's content for the release notes
65+
- If no matching section is found, it provides a fallback message
66+
67+
### Best Practices
68+
69+
- **Always update the changelog** when making meaningful changes
70+
- **Use present tense** for changelog entries ("Add feature" not "Added feature")
71+
- **Be specific and clear** about what changed
72+
- **Group related changes** under the appropriate category
73+
- **Link to issues/PRs** when relevant using `[#123](link)` format
74+
- **Follow semantic versioning** for version numbers
75+
76+
### Example Workflow
77+
78+
1. Make changes to your code
79+
2. Add entries to the `[Unreleased]` section in `CHANGELOG.md`
80+
3. Commit your changes
81+
4. When ready to release:
82+
- Move unreleased items to a new version section
83+
- Update version links
84+
- Create a git tag
85+
- GitHub Actions will automatically create a release with the changelog content

0 commit comments

Comments
 (0)