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.
There is no such strict rules, anyway here given some common practices.
Here are some possible versioning schemes:
side note:- Anyway if you really want to continue the current versioning scheme, you can give it a version name like 5.0.20170619