Home / Companies / Aspect Build / Blog / Post Details
Content Deep Dive

Versioning releases from a monorepo

Blog post from Aspect Build

Post Details
Company
Date Published
Author
Alex Eagle
Word Count
881
Language
English
Hacker News Points
-
Summary

Transitioning to a monorepo involves relinquishing individual control over development processes in exchange for a centralized, consistent experience, allowing teams to focus more on product development rather than infrastructure issues. A key aspect of this transition is managing how versions are applied to artifacts released from a monorepo. Traditional project-specific versioning, such as Semantic Versioning, can lead to challenges like dependency issues and performance penalties due to numerous tags. Trunk-based development offers a solution by aligning dependencies at the latest commit, allowing for a single version across the entire monorepo, known as monoversioning. This can be implemented either automatically, assigning a version for every commit with a format that resembles Semantic Versioning, or manually, tagging releases to align with Semantic Versioning expectations. The automated approach helps maintain performance and simplifies release reasoning, though it does not indicate breaking changes, while the manual approach requires coordinated tagging to adhere to versioning standards.