Compatibility with Semantic Versioning 2.0.0 standard

Octopus refers to SemVer in its error messages (http://help.octopusdeploy.com/discussions/questions/6201-please-enter-a-valid-semver-version-number-for-example-13-or-1193109000), but the problem is full compatibility with Semantic Versioning 2.0.0 for pre-release version. If you simply refer to SemVer, then it would be a good idea to fully support it, otherwise the messages are really confusing.

Test case:. In Octopus Server 3.2.1 Create Release from an existing package

Bug #1. Enter “1.0.0-alpha.1”. This is a fully compliant SemVer per SemVer Spec item 9 (http://semver.org/)
Bug #2. Enter “1.0.0-alpha+001”. This is a fully compliant SemVer per SemVer Spec item 10 (http://semver.org/)

Expected: Versions are allowed
Actual: “There was a problem with your request.
Please enter a valid SemVer version number, for example ‘1.3’ or ‘1.19.310.9000’”

Hi Dmitriy,

Thanks for (again) getting in touch :slight_smile:
Our SemVer usage is actually restricted by our use of NuGet and it’s libraries. They aren’t complete in the scenarios you are mentioning so we cannot in turn support them in Octopus.
In the future we are possibly going to be able to expand our usage (see below link) as we expand the types of files we will accept, but for now our hands are tied.
https://github.com/OctopusDeploy/Issues/issues/2183

Sorry it’s not better news.
Vanessa

Thanks! I see what’s going on now. In other words, you support SemVer 1.0, but not 2.0. It would be a good idea to clarify error message accordingly and ideally, hyperlink, to http://semver.org/spec/v1.0.0.html.

Interestingly, NuGet now gives me warnings about versioning scheme we picked for Octopus Deploy.

>nuget pack Nete.Ireport.nuspec -Version 12.0-Dev2767 -OutputDirectory C:\Jenkins\jobs\iRePORT-Dev\workspace\build -Properties env=Dev
Issue: Use semantic versioning
Description: Version "12.0-Dev2767" does not follow semantic versioning guidelines.

This is from nuget Version: 3.2.0.10516

The warnings are benign, and we are ignoring them, but do you have an idea on how I can get rid of these warnings by any chance?

Hi Dmitriy,

I do wish it was that simple! There are parts of 2.0 SemVer that NuGet supports but not all of them.
The warning is due to having 2 number components instead of 3. Octopus will also work better with 3.

Vanessa

Thanks! Switching to 3 components removed NuGet warnings.

We can live with {Major}.{Minor}.{Patch}-{Env}{BuildNum} versioning scheme.