https://ones.com/blog/knowledge/mastering-versioning-strategies-software-evolution/