Strange behavior managing conan version and channel data

Hi all,

A little bit of context:

We are running into strange behavior: in the version column of the Nexus UI and in the data returned by Nexus API we see the conan distribution channel joined to the real package version.

Summary of the cases found:

1/3. Upload a package with conan user and channel info defined:

  • conan upload openssl/1.1.1@user/stable -r conan-hosted-new

Strange behavior: Nexus shows in the version column and through API the value ‘1.1.1-stable’

NB: In semantic versioning this means that this package is a pre-release.

2/3. Upload a package without user an channel:
*conan upload openssl/1.1.1@ -r conan-hosted-new

Strange behavior: Nexus shows in the version column and through API the value ‘1.1.1-_’

NB: This value is really strange in semantic versioning… we are talking about a pre-release called ‘_’

3/3. Upload a pre-release package:
*conan upload openssl/1.1.1-new-feature@user/stable -r conan-hosted-new

Strange behavior: Nexus shows in the version column and through API the value ‘1.1.1-new-feature-stable’

NB: In semantic versioning we are referencing the pre-release ‘new-feature-stable’

Am I missing something in the behavior of the Nexus API or the Nexus Conan plugin?

Obviously having just a channel ‘stable’ as I shown in this examples could by easily fixed in our code, but in more realistic scenarios this behavior can lead to trivial errors and it can become not so trivial to manage afterwards.

Thank you very much,

best regards