-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why did npx commit-and-tag-version
miss the most recent commit?
#129
Comments
This behaviour is happening consistently. |
On mobile so can’t link you, but refactor isn’t shown by default, only user facing changes (fix and feat) and anything marked as breaking are shown |
commit examaples Supported commits 👍fix: this will be included, case insensitive 👍 Unsupported commits ❌update: excluded ❌ |
This looks right to me. What are you expecting to be different, and why? By default, this tool follows the conventional commit spec, which only defines It's perhaps not super obvious from the commit-and-tag-version docs - but if you look at the changelog generation section, it links to the conventional-commits preset, which is where the default types are defined. If you want to customise this, you can set it in the preset options - following this spec. For example, I often re-label Generally, you don't want every commit to be in the changelog - because not every change is user-facing. Of course, if for some reason you really want this, there's nothing to stop you configuring it that way. |
@TimothyJones i think this should be more prominent in the docs that only feat and fix are primarily supported. on the other hand, i have looked at the preset section you referenced above and that seems helpful to allow user customization, I recognized this might be easier said than done. |
Yeah, I agree the documentation needs to be improved. I’ll take a look soon- I saw you raised a PR (thank you), but really it needs an explanation rather than just a list of what appears and what doesn’t. Conventional commits is meant to make it easy for machines to reason about the changes. It defines the inputs from the commit messages into semver, all of which are user facing changes. Only things that are user facing changes are enabled in the changelog by default. For example, refactor is usually not user facing, so you wouldn’t want that in by default (and I’d question the boundaries of a project that did need it enabled). Similarly, if everything was enabled, it wouldn’t provide much value over the commit log. For implementing an alternative approach to changelog generation- this tool is (by design) a thin cli wrapper around the conventional changelog libraries- supporting other approaches isn’t really within the scope. Of course; if those libraries support a new approach, it would be naturally supported here. As an aside, why do you want this behaviour? If you had to mark changes as not in the changelog, what would be the expected behaviour if a label that we’d never seen before (say “api”) is present? What label would it get in the changelog? There are lots of cases where you wouldn’t know how to format it, or would get it wrong |
I have the following commits in a git repo
But my changelog does not show the top most commit in the v1.3.1 run.
I just ran
npx commit-and-tag-version
What did I miss?
The CHANGELOG.md file is the following
The text was updated successfully, but these errors were encountered: