We use Conventional Commits for our commit messages. This allows automated tools like semantic-release to generate changelogs, bump versions according to semver, and release and publish the latest code. Please see https://www.conventionalcommits.org/en/v1.0.0/ for more information.