Ordering of Version Numbering

I received an issue-report that a newer version of my plugin is already installed, but the Plugin-Manager "inform" the user he should install a "lower" version.
See https://github.com/OllisGit/OctoPrint-PrintJobHistory/issues/36

Well, the version numbering of my plugin is maybe a little weird.

  • Latest version: 1.0.0rc6.1
  • Plugin-Manager things this version is "higher": 1.0.0rc6

Did someone know how the ordering is working or where I could find the python implementation for decideing which version is higher?

Thx, in advance
Olli

I'm not 100% sure but doesn't it follow the semantic versioning format? So you're just missing a dash...

1.0.0-rc6.1

Late answer, because I wrote down the following sentences but didn't pressed the "Reply-Button"! Today I had the question again and found this issue, so stupid.grrrr!

@jneilliii, @foosel thanks a lot to pointing me into the right direction.
The issue is not the minus (that was also my first thought). It is not allowed to use "semantic-numbering" behind the first part. Only a "single-number" -> N.
From PEP440

X.YrcN  # Release Candidate

I also found the comparison implementation in octoprint and I write a small test

from octoprint.plugins.softwareupdate.version_checks import github_release

result = github_release._is_current(dict(
										local=dict(value="1.0.0rc6"), 
										remote=dict(value="1.0.0rc6.1")), 
									"python", force_base=False )
if (result):
	print("Locale Version is newer or equal")
else:
	print("Remote Version is newer, update available")

> Locale Version is newer or equal

Jap, output is wrong...so, next time I need to change to rc7. Then the output is Remote Version is newer, update available