# Changelog
You want to know what happened to your project after 2 years?
- ups and downs on a project, learning
- features
- bugs
- performance / security enhancements
# How visual studo project generates Release notes?
- Dump data from git logs - everyones contributions
- Project Planning tool has a flag, like required release notes yes/no
- How we are going to talk to customers about this, Press release style
- Its a different mindset, try to follow it religiously
- Let a curator parse to generate a blog post like feel
- QA and Authoring, Editing in the end
# How to generate them automatically?
The conventional commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history, which makes it easier to write automated tools on top of.
👍 Angular Project uses conventional commits
Tool to write CHANGELOG file automatically
https://github.com/conventional-changelog/standard-version
fix, feat, build:, chore:, ci:, docs:, style:, refactor:, perf:, test ! BREAKING CHANGE (scope)
Commit no Nuisance
<type>[optional scope]: <description>
[optional body]
[optional footer]
Reg Ex pattern
/^(revert: )?(feat|fix|docs|style|refactor|perf|test|chore)(\(.+\))?: .{1,50}/
# How to implement?
Using git pre-commit hooks
Using external tools like commitit
Using vscode Extension VSCode Conventional Commits
https://github.com/vivaxy/gacp https://github.com/KnisterPeter/vscode-commitizen
Questions
- Why are changelog important?
- What problem do they solve?
- What the content should look like?
- For humans to understand
- For machine, to autogenerate and parse