Automatic package updates broken in Rhino 8 SR 7

I discovered a strange bug in Rhino’s package manager that seems to have been introduced in Rhino 8 SR 7. How to reproduce:

  • Install ShapeDiver version 1.17.1-beta.1
  • Restart Rhino
  • On loading one of the plug-ins contained in the package (e.g. running the ShapeDiver command, or when starting Grasshopper), the package folder %USERPROFILE%\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\ShapeDiver\1.17.1-beta.1 gets copied to %USERPROFILE%\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\ShapeDiver\1.17.1, i.e., the semantic versioning part of the version gets stripped of.

The 1.17.1-beta.1 folder stays there, which means next time when starting Grasshopper there are conflicts popping up.

I discovered this when testing multi-targeted packages: .NET multi targeting for yak packages - #2 by curtisw

First I thought it’s an issue related to the multi-targeting feature, but it also happens for normal packages like the version 1.17.1-beta.1 mentioned above.

The problem happens regardless of using .NET Framework or .NET 7.

This means semantic versioning is unusable currently, which I consider a big problem. Can this be reviewed asap please?

Hmm, this happens regardless of semantic versioning. If I install version 1.16.1, then restart Rhino, version 1.17.1 gets installed and the 1.16.1 folder stays there (i.e., “File conflict” popups showing up when loading Grasshopper).

Seems like the package manager is automatically updating to the latest version (but leaving old versions behind)?

Aha, found the advanced option Rhino.Options.PackageManager.CheckForUpdates. Seems to default to True. When setting it to False, the problem does not happen.

Anyway, this is a serious problem, because the old versions do not get removed.

Also the following is strange UX:

  • User selects a specific plugin version and installs it
  • After restarting Rhino the latest version gets installed without the user being made of aware of it.

In case this automatic update behavior is intended, the user shouldn’t even be able to select earlier versions of a plugin in the package manager.

Thanks for reporting this @snabela. Definitely an unintended consequence of adding auto-update in Rhino 8. Looking to improve this ASAP to make it easier to install older versions, or stick with a specific version.

1 Like

A hint on how to switch off automatic package updates until this has been fixed:

1 Like

RH-82045 is fixed in Rhino 8 Service Release 8 Release Candidate

RH-82045 is fixed in Rhino 8 Service Release 8

As of Rhino 8.8 you can run the PackageManager command and find a new checkbox to toggle the automatic check for updates on start. No need to go fishing in the advanced settings anymore!

1 Like