-
Notifications
You must be signed in to change notification settings - Fork 524
[Internal] Versioning: Adds guidance for versioning SDK releases #4192
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
Merged
microsoft-github-policy-service
merged 10 commits into
master
from
users/ealsur/versioning
Nov 21, 2023
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
fcfeb4a
Create versioning.md
ealsur caa38f5
Update versioning.md
ealsur aec1cd3
Update versioning.md
ealsur 9c646ff
Update versioning.md
ealsur e156c6c
Update README.md
ealsur 2cffcd3
Update versioning.md
ealsur fa698a7
Update versioning.md
ealsur d792299
Apply suggestions from code review
ealsur daf6029
Update versioning.md
ealsur 0acecc2
Update versioning.md
ealsur File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| # Versioning | ||
|
|
||
| The Azure Cosmos DB SDK ships two [Nuget package](https://www.nuget.org/packages/Microsoft.Azure.Cosmos) versions: | ||
|
|
||
| * GA SDK: Versioned with `3.X.Y`, it contains APIs and features that are considered General Availability | ||
| * Preview SDK: Versioned with `3.(X + 1).0-preview.Y`, it contains APIs and features that are in Preview. These APIs or features might be service features that are in Preview (such as a new Cosmos DB Service feature or operation) or SDK client specific features that are unrelated to a service feature (such as improvements in connection handling). | ||
|
|
||
| > :information_source: General Availability of an API or feature present in a Preview SDK is not guaranteed on the next GA SDK release following the Preview SDK release when it was introduced. Each Preview API can have an independent GA cycle that can be dependent on the Azure Cosmos DB Service. | ||
|
|
||
| ## Major releases | ||
|
|
||
| Major releases are defined by: | ||
|
|
||
| * Significant breaking changes to the API surface of the SDK. | ||
| * Significant breaking changes to dependencies | ||
|
|
||
| > :information_source: No new major release is currently planned. | ||
|
|
||
| ## Minor releases | ||
|
|
||
| Minor releases are defined by: | ||
|
|
||
| * Changes in the public API surface of the SDK, such as new features, or GAing APIs that were in preview | ||
| * Changes in the version of one of the dependencies | ||
|
|
||
| In these cases, the **GA SDK** should **increase the minor version** and **Preview SDK** should **increase the minor version to be one more than GA SDK**. | ||
|
|
||
| For example, if `3.10.0` is being released for **GA SDK**, then `3.11.0-preview.0` should be released for **Preview SDK**. | ||
|
|
||
| ## Patch releases | ||
|
|
||
| Patch releases are defined by: | ||
|
|
||
| * No Public API changes | ||
| * Includes a subset of the bug fixes reported after the last major release | ||
|
|
||
| In these cases, the **GA SDK** should **increase the patch version** and **Preview SDK** should **increase the preview suffix version**. | ||
|
|
||
| For example, if `3.10.0` is being patched, for **GA SDK** we would release `3.10.1` and for **Preview SDK** we would release `3.11.0-preview.1`. | ||
|
|
||
| If `3.10.1` is being patched, for **GA SDK** we would release `3.10.2` and for **Preview SDK** we would release `3.11.0-preview.2`. | ||
|
|
||
| ## Complete full example | ||
|
|
||
| | GA | Preview | | ||
| |----------|-----------| | ||
| | 3.10.0 | 3.11.0-preview.0 | | ||
| | 3.10.1 | 3.11.0-preview.1 | | ||
| | 3.10.2 | 3.11.0-preview.2 | | ||
| | 3.11.0 | 3.12.0-preview.0 | | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.