Home / Companies / LogRocket / Blog / Post Details
Content Deep Dive

Unsentimental versioning

Blog post from LogRocket

Post Details
Company
Date Published
Author
Henrik Molnes
Word Count
682
Language
-
Hacker News Points
-
Summary

Semantic versioning is a widely used strategy for software versioning, but it can be challenging due to its strict specification which requires developers to manually assess changes for each new release. This often leads to "sentimental versioning," where human judgment clouds the versioning process. To combat this, tools like semantic-release can be used in the CI environment to automate versioning by analyzing commit messages, requiring developers to adhere to a standard known as Conventional Commits. Commitizen assists in standardizing commit messages by guiding developers through the commit process with a series of questions, ensuring consistency. Semantic-release, although initially designed for Node projects, can be applied to any project type using plugins, and works by executing on the CI environment to automate releases without human intervention, thus ensuring an unbiased versioning process. While this approach may seem excessive for some projects, it is especially beneficial for larger teams or complex projects where versioning clarity is crucial.