Today I witnessed a problem in the package manager for Rhino 8. I pushed a new package version of our plugin called shapediver-1.24.0-rh6_19-win.yak. Note that typically we push 5 different packages with the following distribution tags:
However, today morning we only pushed rh6_19-win because we had to complete some testing on the other packages before pushing them. Later we noticed that this package was offered for installation by the Rhino 8 package manager, although it’s explicitly not a package for Rhino 8 (and won’t load there). Probably the same happens for Rhino 7. We had to yank version 1.24.0 to stop that problem. Also, on food4rhino only version 1.24.0 for Rhino 6 was showing up.
It might be related that yesterday I got a .net compatibility issue when shapedriver automatically updated to 1.24. Had to revert back to 1.23. I’m using Rhino 8.
@Matt_H yes, the problem I described above explains what you experienced, because the package we published for rh6_19-win is not compatible with later versions of Rhino. When we realized this behavior of the package manager (not respecting the distribution tag), we yanked version 1.24.0.
For now I consider this a bug in the package manager.
Thanks for reporting this unexpected behaviour, @snabela.
There are a couple of goals here that may be at odds with one another. On the one hand I want the distribution tags to allow package authors to be specific, but at the same time we don’t want to penalise those who don’t re-publish their packages for a new major version of Rhino if the content (plug-in) is already compatible.
When the concept distributions was first introduced, packages would not show up in Rhino unless they had been published for that Rhino major version (or “any”). After Rhino 8 was released, we found that there were many packages which were still compatible (since we work hard not to break SDKs where possible) but were not showing up. So, we changed the behaviour such that Rhino would consider packages compatible even if they had been published for earlier major versions.
I’m sorry for the confusion caused by changing this behaviour. Knowing now how distribution compatibility is intended to work, do you think you’re able to work with the current behaviour?