I might sound harsh, but I can judge in a few seconds if a project looks pro by looking at the versioning they use.
While browsing in the store, I saw a few examples of bad versioning:
“Name.zip” - No version at all.
“Version2” - That’s better, but it’s still not good.
“V4_Windows.zip” - At least the platform is specified.
Butler does not change the filename assigned to a channel or append anything to it when a new version is uploaded. Instead, it indicates the latest version separately on the page, like so:

I suppose you could manually change the display name every time you upload a new build, but the version is already displayed there and the actual downloaded filename will not change, so I don't think there's any benefit to doing that.
And I do strongly recommend using Butler:
- It enables automatic patching for Itch app users.
- It creates and uploads a delta instead of overwriting the entire zip file, which saves time and bandwidth.
- You can easily script your deployment process from the command line, which saves a lot of time.
As for semantic versioning, I've looked into it before and decided that it had limited applicability for my games. I'm not publishing an API, so the only real potential breaking change would be incompatibility with older saved games, which should never happen in a production release anyway unless it is absolutely unavoidable. I could technically use it to distinguish bugfix releases from feature releases, but I don't know that it's that important; players don't care about version numbers, and most of my releases thus far have included new features anyway. With all that in mind, I decided just to keep it simple. More power to you if you find utility in it, of course, I'm just not sure it offers much benefit for most projects.