Semantic Release is an Open-Source Software tool for automatically versioning your software with Semantic Versions based on your Git commit messages.
It then releases/deploys the new version to the channel(s) you specify, for example, GitHub Release, NPM, PyPI, etc.
By default, Semantic Release expects commits to be in the Conventional Commit format. In its simplest form,
this looks like feat: add feature X or fix: fix bug Y that perform Minor and Patch version bumps respectively.
Since Semantic Release also generates release notes and maintains a CHANGELOG.md for you,
>adding quality git commit messages — including a detailed body — becomes increasingly valuable.