Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

documenting existing versioning scheme used for all management plane … #6519

Merged
merged 1 commit into from
Jun 8, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions Documentation/ExistingManagementSDKVersioning.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Versioning Rules followed for management plane

For the sake of discussing this, let's assume we have a new RP (ContosoService) and is about to release it's first API version 2017-12-01-preview
ResourceProvider Name: ContosoService
API Version: 2017-12-01-preview

When you publish your REST spec for Constoso, you will create your first .NET SDK with following versions

Nuget publish date ==> Jan 01 2018
1. Nuget Package version ==> 0.9.0-preview
2. AssemblyVersion ==> 0.9.0.0
3. AssemblyFileVersion ==> 0.9.0.0

Soon after you got feed back from your customers on your preview SDK and now you have few bugs to fix.
So you iterated and published 2 additional SDK versions, for e.g.

Preview 1

1. Nuget package version ==> 0.10.0-preview
2. Assembly version ==> 0.10.0.0
3. Assembly Fileversion ==> 0.10.0.0
4. Publish date ==> Feb 01 2018

Preview 2
1. Nuget package version ==> 0.11.0-preview
2. Assembly version ==> 0.11.0.0
3. Assembly Fileversion ==> 0.11.0.0
4. Publish date ==> Mar 01 2018


Stable
Now you are ready to go stable and do the following:

1. Publish your REST spec as stable (non-preview) as 2017-12-01
2. Nuget package version ==> 1.0.0
3. Assembly version ==> 1.0.0
4. Assembly Fileversion ==> 1.0.0
5. Publish date ==> Apr 01 2018

Now you are ready to add new feature to your stable version.

1. Nuget package version ==> 1.1.0
2. Assembly version ==> 1.0.0
3. Assembly Fileversion ==> 1.1.0
4. Publish date ==> May 01 2018





Now you are ready to work on your new API version 2018-06-01-preview

Preview 1
1. Nuget package version ==> 1.9.0-preview
2. Assembly version ==> 1.9.0.0
3. Assembly Fileversion ==> 1.9.0.0
4. Publish date ==> Jul 01 2018

Preview 2
1. Nuget package version ==> 1.10.0-preview
2. Assembly version ==> 1.10.0.0
3. Assembly Fileversion ==> 1.10.0.0
4. Publish date ==> Jul 01 2018

Now are your ready to go stable for 2018-06-01
1. Nuget package version ==> 2.0.0
2. Assembly version ==> 2.0.0.0
3. Assembly Fileversion ==> 2.0.0.0
4. Publish date ==> Aug 01 2018


If you ever have to add a new feature or fix a bug for your 1.0.0 stable SDK
You can use the version range between 1.1.xx - 1.8.xx