There are multiple ways to version a software . I have used SemanticVersioning ( https://semver.org/ ) and Calendar Versioning ( https://calver.org/ )
Of course,there are others – please read https://en.wikipedia.org/wiki/Software_versioning – interesting versioning based on e or PI .
However,I want to propose a new standard :
Dependent Framework Versioning
The major version of a package is the same of the major version of the framework that is installed on . For the others,can be calver or semver or any other – depending on your choice.
For example,I have made a BlocklyAutomation package for .NET Core 3 – and it is versioned like
For .NET Core 3 – https://www.nuget.org/packages/NetCore2Blockly/3.2022.224.16
For .NET Core 5– https://www.nuget.org/packages/NetCore2Blockly/5.2022.210.2007
Why is this ? To be easy identified by the users of the package. If I have one user that have an app on .NET Core 3 and other on .NET Core 5,how can they identify easy what is the latest version for this package ? With this approach,this can be done just looking on the major version corresponding with the framework version (and yes,I use calver versioning for the rest – yyyy.Md.Hm)
Leave a Reply