Using conventional commits to auto-generate changelog or release notes #129

Open
opened 2026-02-17 11:48:30 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @shivamka1 on GitHub (Aug 19, 2021).

I have following questions related to using conventional commits to auto generate changelog or release notes:

  1. Let's say we are using GitHub Flow or TBD branching strategy. This means we have to quickly merge changes to the mainline. This requires breaking a feature into logical segments that could be committed under single commit message. This however appears to create a lot of noise in an auto-generated changelog or a release note.

    For example,
    feature 1: implement employee entity

    • dependency inject stubs
    • implement unit tests for salary calculator
    • implement address entity

    feature 2: implement leaves calculator

    • implement unit tests for leave calculator

    Consider the example above. What's really important to go in any release note or a change log is not each and every commit message but instead only a feature description. Now you may say just add the commit description then. But that is not how we create conventional commits right? Same description for each commit!?

    My question is: is there a way to cut these noise? or using conventional commits to auto-generate release notes is not the right thing to do?

  2. Another problem here is that when using TBD/GitHub Flow branching we use feature-toggles to refrain releasing half-baked features in production. While auto-generating changelog or release notes how could this use case be considered? For example, consider the example mentioned above. Say feature2 is completed but feature 1 is still incomplete. How can we avoid adding the pertaining messages from feature 1 to the release notes?

Originally created by @shivamka1 on GitHub (Aug 19, 2021). I have following questions related to using conventional commits to auto generate changelog or release notes: 1. Let's say we are using GitHub Flow or TBD branching strategy. This means we have to quickly merge changes to the mainline. This requires breaking a feature into logical segments that could be committed under single commit message. This however appears to create a lot of noise in an auto-generated changelog or a release note. For example, feature 1: implement employee entity - dependency inject stubs - implement unit tests for salary calculator - implement address entity feature 2: implement leaves calculator - implement unit tests for leave calculator Consider the example above. What's really important to go in any release note or a change log is not each and every commit message but instead only a feature description. Now you may say just add the commit description then. But that is not how we create conventional commits right? Same description for each commit!? My question is: is there a way to cut these noise? or using conventional commits to auto-generate release notes is not the right thing to do? 2. Another problem here is that when using TBD/GitHub Flow branching we use feature-toggles to refrain releasing half-baked features in production. While auto-generating changelog or release notes how could this use case be considered? For example, consider the example mentioned above. Say feature2 is completed but feature 1 is still incomplete. How can we avoid adding the pertaining messages from feature 1 to the release notes?
Author
Owner

@damianopetrungaro commented on GitHub (Sep 28, 2021):

Not officially, at the moment @iamsmkr , I'd say that it depends on the tool you use to generate changelogs.
For example, you may use a footer note "changelog:skip" or similar.

I'd not say that it should be enforced by the specs at the moment, what do you think?

@damianopetrungaro commented on GitHub (Sep 28, 2021): Not officially, at the moment @iamsmkr , I'd say that it depends on the tool you use to generate changelogs. For example, you may use a footer note "changelog:skip" or similar. I'd not say that it should be enforced by the specs at the moment, what do you think?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/conventionalcommits.org#129