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