Need AI Training/Help?CloudYeti.io/meet
MarkdownMe
Developer commit guide

Semantic Release Conventional Commit Version Bump

Use Conventional Commits to signal patch, minor, and major releases for semantic-release, release-please, changesets, and similar tooling.

Direct answer

In the common semantic-release setup, `fix:` creates a patch release, `feat:` creates a minor release, and any commit with `!` or a `BREAKING CHANGE:` footer creates a major release. Other types such as docs, test, chore, ci, build, and refactor usually do not publish a release unless your release config maps them differently.

Open Conventional Commit Generator

When to use this

  • You need the next package version to be patch, minor, or major.
  • A breaking API, config, or database change must be visible to release tooling.
  • You are using semantic-release, release-please, changesets, or automated changelogs.

Steps

  1. Decide whether the change is patch, minor, or major from the consumer impact.
  2. Use fix for bug fixes that should ship as patch releases.
  3. Use feat for new capabilities that should ship as minor releases.
  4. Use `!` or a `BREAKING CHANGE:` footer for incompatible changes.
  5. Check your repository release config before relying on custom type behavior.

Example

Change context
Removed the v1 invoices endpoint. Clients must call /v2/invoices and pass accountId instead of customerId. Updated migration notes.
Commit message
feat(api)!: remove v1 invoices endpoint

BREAKING CHANGE: clients must call /v2/invoices and pass accountId instead of customerId.

Common mistakes

  • Do not use feat for an incompatible change without a breaking marker.
  • Do not assume docs, chore, or refactor will publish a version in every release config.
  • Do not hide migration details in the subject when a footer is clearer.

FAQ

Which Conventional Commit creates a patch release?
In common semantic-release presets, fix creates a patch release.
Which Conventional Commit creates a minor release?
In common semantic-release presets, feat creates a minor release.
How do I mark a major release?
Use `!` after the type or scope, add a `BREAKING CHANGE:` footer, or do both if your tooling and team prefer the explicit signal.

Related Conventional Commit guides