What is the intention of RhinoCommon's nuget versioning?

Hi there, I just have a question about RhinoCommon’s nuget package versioning. I’m working on a C# plugin, and I’ve noticed that in certain situations–like for instance you use WPF in the plugin project–if RhinoCommon.dll is in the output directory next to the plugin .rhp, when Rhino loads the plugin it will show an error message directing you to not put RhinoCommon there. This seem to prevent Rhino from linking to the actual nuget package .dll and instead linking to the RhinoCommon.dll found in Rhino’s installation directory. What then is the purpose of the various versions of the RhinoCommon nuget package?

What I suspect is that the nuget package’s RhinoCommon.dll is basically treated as a “header”, showing what classes and methods are available in RhinoCommon, but never actually being linked to during execution. This suggests that the nuget RhinoCommon version doesn’t really matter for actual behaviour of the plugin. Is this the case?

Now what I’m wondering about is the following situation. Suppose we’re dealing with two different minor versions of Rhino8: Rhino.8.A and Rhino.8.B, where B is newer than A (A < B). Suppose I develop a plugin and test it using Rhino8.A and then someone with a newer install of Rhino8.B uses it. Is there the possibility that the plugin might have different behaviour/just not work? Or is RhinoCommon consistent between minor versions?

Minor releases, or service releases as we call them, may introduce newer API. APIs otherwise are consistent for the duration of the whole major version cycle.

Behavior may change if bugs get fixed in code fronted by the API, but the plug-in should continue to work just fine. You should use the oldest possible service release where necessary, but have users of your plug-in update to newer when issues in Rhino get fixed. Especially when you find that API that you use has received fixes your plug-in relies on. The minimum version you build against is what the users of your plug-in will have to install, or later.