ZEISS / precise-ui

:triangular_ruler: React UI Component Library powered by ZEISS.
https://www.precise-ui.io
MIT License
283 stars 56 forks source link

Generate changelogs and release notes from a project's commit messages and metadata #112

Open dimabory opened 5 years ago

dimabory commented 5 years ago

New Feature Proposal

Description

Generate changelogs and release notes from a project's commit messages and metadata https://github.com/conventional-changelog/conventional-changelog

Background

I always forget changing CHANGELOG.md file and I believe I'm not alone in it. It would be great to update this file automatically based on git history (commit messages) once a new release supposed to be delivered.

FlorianRappl commented 5 years ago

My experience with this is not so good - if you forget to use the changelog appropriately you will also forget to follow the conventions for the commit messages (if not you then someone else will fall that trap; so this is not a silver bullet).

Also while commit messages should be technically driven the changelog should be more high-level. Combining the two has advantages but also disadvantages.

All in all you guys need to decide - if the full team is in favor of it then I think it should be tried.

dimabory commented 5 years ago

The first issue with following commit message rules efficiently is being simply resolved by https://github.com/conventional-changelog/commitlint.

I understand your thoughts that commit messages should be technically driven while the changelog should be more high-level., but anyway it's not followed (mostly changelog listing just duplicates commit messages)

@boromo @magneticz @kotielnikov @IKolosynskyi your opinions?

kotielnikov commented 5 years ago

I agree with @dimabory

magneticz commented 5 years ago

I think we definitely could and should improve our commit messages, as we(at least I) usually don't put much thought in them. commitlint could be good starting point. I still see value in having separate changelog, as not every commit message needs to be added as changelog entry, but if we start creating good commit messages, then maybe we can revisit this

IKolosynskyi commented 5 years ago

I hate changelog.md but I am sure we need to maintain it manually. I agree that the changelog message is much high-level than commit message. I think it is easier to write changelog than to follow commit message rules + GIT rules (like squashing). As the alternative, if it's possible, I would like to propose to make the changelog.md as a required file to be changed in every commit in develop.

kotielnikov commented 5 years ago

I think we shouldn't confound git commit with ctrl + s. A git log should be like reading a story. By reading the log, I should be able to understand in ~10s the whole file history. Conventional commits will enforce it. And as mentioned before, we mostly duplicate commit msg to changelog

dimabory commented 5 years ago

By the way, just compare these changelog files: