Search code examples
androidversioning

Android app versioning set initial version number


My question is related to versioning, in concrete, initial version of my app.

It's been two years working in my Android app and after a very hard and almost never-ending work I'm ready to release first demo version to market, the fact is I don't know how to set an initial version number. I'll explain better my doubts:

If we talk about all the time / effort / features my app includes up to the moment (I have a version history file where I track changes) I could say my app is in version 4 or 5 but my logic says being the first version going to be released on market I should set version to 1.0

With this, I don't know whether to keep my current version that is 5.something or to re-adjust all my big version history file so the last modification matches 1.0 (quite complex though) or just simply leave version history as it is and set initial version to 1.0 at the current development leaving all previous 2 years developments unversioned.

Edit 1:

My current version number is already in the form of 5.0.20170619 like @Darish suggests but my doubts on what to do come because I personally agree with @Joshua and @Darish that first release version should has 1.0 (it's like common sense) but on the contrary 1.0 doesn't reflect the real effort and work this app has at this stage and besides if I'd anyway like to go with 1.0 and had to adjust all lines in "Version History" so current development matches 1.0 could be a like a nightmare if I'm expecting to make it real (I wouldn't like to set random numbers).

Edit 2:

In the end and after thinking for a long time I decided that it's best to start by 1.0. At the same time I have to say that "refactoring" my current "Version History" file will be a pain in the ass but my conclusion is it's best to do it.


Solution

  • There is no such strict rules, anyway here given some common practices.

    • First beta version going to be released on market should set a version number less than 1.0
    • First stable version going to be released on market should set version to 1.0

    Here are some possible versioning schemes:

    • major/minor/build number, such as 3.1.52041 . The build number can just be an internal increment in the build system
    • major/minor /build date stamp, such as 3.1.20121204

    side note:- Anyway if you really want to continue the current versioning scheme, you can give it a version name like 5.0.20170619