So this is a little complicated. We are trying to follow semantic versioning (x.y.z) but we are having trouble agreeing with each other on what numbers we should start at.

We inherited a product, let's call it App, which we are building from scratch. App v1 is written in pure HTML/CSS/JS. App v2 is written in Angular 5. We are still adding major features and thus we decided we are still in alpha. However we are having trouble deciding if we should start at 0.1.0 or 2.0.0. I tried searching for an answer to this but it's a lot harder than it sounds.

If we start with 0.1.0, once the product launches would we change it to 2.0.0? Or should we just version it starting at 2.0.0 from the beginning?

  • 1
    Did App v1 get published in some way? Are you keeping it's name? May 1, 2018 at 12:55
  • Yes we are keeping the name, just adding 2 at the end. So we are going to call it App 2. And yes App 1 has been in production for 12 years.
    – Haruku
    May 1, 2018 at 13:44

1 Answer 1


Semantic versioning makes sense for libraries, language specifications etc, ie the tools used by developers. It lets that developer know what's changed in terms of whether it'll fix a bug, introduce a new feature or potentially break their build process.

It rarely makes sense with general apps though. What would constitute a breaking change for App for example? Is such a thing possible? Version numbers in those apps become more of a marketing tool than meaningful information on what changed. Those changing version numbers are designed to advertise the fact that there's new features available and therefore the customer might want to get their wallet out.

So depending on what App might be, semantic versioning might apply. In that case, aside from the underlying technology changing (potentially of no interest to your customers), what changes? Are there breaking changes? Are there new features? From that you can work out whether this release will be 1.x or 2.0. Then, as it's an alpha release, add -alpha.1 to the end, as per the semantic versioning spec

If it doesn't apply, the stop using it and just call it "v2 alpha" and move on.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.