I wouldn’t normally bother with the date part if you have major.minor.build: it just leads to user confusion. You can always get the date from the build number, and so long as the build number is monotonically increasing, who cares? Opinion differs on whether you should reset the build number on a new major version. Generally, the build number resets with a new project. Whether Version 2 is a new project or just a new release depends on your internal stuff.