Addon Manager allows "update" to lower version tuple

I tweaked a copy of the Dates addon gramplet from the Isotammi project and incremented the version from 1.1.9 to 1.1.10

When checking the version with the Addon Manager, the current version is higher than the downloadable version. Yet the “Update” button is still shown. And clicking the button blithely downgrades.

Should a feature request or a bug report be filed?

Filed a feature request.

0013520: [5.3 Addon Manager] Warn on “Update” to a lower version tuple

Suspicious that 1.1.9 is greater than 1.1.10… that could happen when comparing strings, eg “9” > “10”. Maybe the version numbers aren’t converted to integers.

A usability issue - both 1.1.9 and 1.1.10 are shown in the Addon Manager with no description letting the reader know which is installed, and which one is available. Presumably the higher version is ‘available’ but some indication would be helpful.

The code only checks if the addon is installed and that the version number has changed. Our addon make.py script only increments the version number.

I expected it only looked for “different” , not “greater than”. And that it assumed that versioning will be completely under the control of the make.py workflow.

But with the advent of multiple Projects in the Addon Manager options, that assumption is no longer valid.

The updates are likely to be fresher in the developer’s personal Project… and if the clone the addons-source so they can do PRs into it, then they might have outdated addons that they are not maintaining. When they run make.py on the personal to self-publish during beta or release-candidate testing, then THEIR addon list will have outdated versions.

So, we could approach with a warning. Or with suppressing the Update button when the JSON is <= to the installed version.

Alternatively, if the user wants to downgrade, they can use the Plugin Manager to uninstall (dangerous… because that tool deletes the whole folder and doesn’t leverage the Trashcan safety net) or manually delete the .gpr.py file.

This is a good point. Perhaps the installed version lozenge could include a “non-breaking space :white_check_mark: non-breaking space” before or after number? (after would probably be better due to the lozenge being right-justified.)

A checkmark is something we can easily describe in the wiki and in support discussions.

Yes, that’s true although no explanation should be necessary. Instead of making users go to a wiki or scratch their heads, put it in the UI:

Installed: 0.2.11
Available: 0.2.23

In the screenshot above, it is the other way around.

Available: 0.2.11
Installed: 0.2.23