Changelog file, what this means ?
Did you forgot what you implemented two months ago ? If the answer is no, probably you don’t need lecithin. But I don’t think that’s the answer.
A changelog file it’s just a history of changes made for a project. It’s very useful to keep track of everything into a single place and to summarize some features than to look throw all the commits from git repository.
Why to keep a Changelog ?
Personally the most important thing for me it’s to keep track of all the changes that I made for a project, specially for webservices, because I need to know what resource I added, changed, removed or if I need fixed a bug or something it’s deprecated.
The second reason it’s about knowing which are the latest changes deployed. Being involved into a big project with multiple developers, branches and features that must be deployed at some points can be hard, because you need to know what was deployed and probably when. I found it very useful to have a header with Unreleased changes.
The last reason that I think it’s relevant here it’s about versions and dates when the deploys were changed. Sometimes we need to know for a specific version which was the changes and when were deployed.
How to do it ?
When I searched for this question I got the best answer for me here. Keep a Changelog file it’s an open-source project under MIT License. Have a simple but powerful structure and keep tracking of everything I need.
Most common types of changes
Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.Unreleased
for undeployed.