{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/arcade/pulls/comments/204841633","pull_request_review_id":139994883,"id":204841633,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNDg0MTYzMw==","diff_hunk":"@@ -63,85 +63,102 @@ Date agnostic versioning is more hassle than it's worth, though having the sha i\n \n **Note that version fields should not be zero-padded**\n \n-## Versioning States and Scenarios\n+## Package Version Kinds\n \n-Versioning comes in 3 states, depending on the point in the product cycle:\n-- **Dev/Daily** - Versions should include all fields - pre-release tag, shortdate, revision, etc.\n+Package versions come in 3 kinds, depending on the point in the product cycle:\n+\n+- **Dev/Daily** \n+\n+  Versions should include all fields - pre-release tag, shortdate, revision, etc.\n+  \n   ```\n   MAJOR.MINOR.PATCH-PRERELEASE.SHORTDATE.REVISION+SHORTSHA\n   ```\n   Example:\n   ```\n-    1.0.0-preview1.25405.01+abcdef\n+    1.0.0-preview1.25405.1+abcdef\n   ```\n-- **Final Prerelease** - Versions should include **MAJOR**, **MINOR**, **PATCH**, and **PRERELEASE** tag but no **SHORTDATE**, **REVISION**, or **SHORTSHA**.  **PRERELEASE** should be suffixed with `'.final'`.  This avoids a common issue in nuget package resolution where `2.1.0-rc1` < `2.1.0-rc1.12345`. The intention is that the final build is resolved over the date-versioned build.\n+  \n+- **Final Prerelease** \n+  \n+   Versions should include **MAJOR**, **MINOR**, **PATCH**, and **PRERELEASE** tag but no **SHORTDATE**, **REVISION**, or **SHORTSHA**.  **PRERELEASE** should be suffixed with `'.final'`.  This avoids a common issue in nuget package resolution where `2.1.0-rc1` < `2.1.0-rc1.12345`. The intention is that the final build is resolved over the date-versioned build.\n+   \n   ```\n   MAJOR.MINOR.PATCH-PRERELEASE.final\n   ```\n   Example:\n   ```\n     1.0.0-preview1.final\n   ```\n-- **Stable** - Versions should include **MAJOR**, **MINOR**, **PATCH**\n+  \n+- **Release** \n+\n+  Versions should include **MAJOR**, **MINOR**, **PATCH**.\n+  \n   ```\n   MAJOR.MINOR.PATCH\n   ```\n   Example:\n   ```\n     1.0.0\n   ```\n-## Version Field Generation\n-- **MAJOR** - Explicit in source, should default to `1`\n-- **MINOR** - Explicit in source, should default to `0`\n-- **PATCH** - Explicit in source, should default to `0`\n-- **PRERELEASE** - Explicit in source, should default to `preview1`\n-- **REVISION** - Generated based on build scenario\n-  - **Local dev builds** - Defaulted to 0\n-  - **Official builds** - Supplied generally as part of the conventional, .NET Core specific `OfficialBuildId` or VSTS `Build.BuildNumber` built in parameters.\n-- **SHORTDATE** - Generated based on build scenario\n-  - **Local dev builds** - Date of current git HEAD\n-  - **Official builds** - Supplied generally as part of the conventional, .NET Core specific `OfficialBuildId` or VSTS `Build.BuildNumber` built in parameters.\n+\n+The format of package versions produced by the build is determined based on `DotNetFinalVersionKind` variable:\n+\n+| DotNetFinalVersionKind   | example                     |\n+|--------------------------|-----------------------------|\n+| \"\"                       | \"1.2.3-beta.12345.1+abcdef\"|\n+| \"prerelease\"             | \"1.2.3-beta.final+abcdef\"   |\n+| \"release\"                | \"1.2.3\"                     |\n   \n-  The short date is generated based off the seed date:\n-  ```\n-  generateShortDate(seedDate) {\n-    if (comparisonDate == \"\") {\n-      comparisonDate = 1996/04/01 (UTC)\n-    }\n-    if (seeDate < comparisonDate) { error }\n-    months = (seedDate.Year-comparisonDate.Year)*12 + (seedDate.Month - comparisonDate.Month)\n-    days = seedDate.Day\n-    return (3 digits padded of months) + (2 digits padded of days)\n-  }\n-  ```\n-- **SHORTSHA** - Parsed from the current git HEAD\n+## Package Version Generation\n+\n+- **MAJOR**, **MINOR**, **PATCH**:\n+  Specified in source using `VersionPrefix` .NET Core SDK property, defaults to `1.0.0`.\n+  \n+- **PRERELEASE**: \n+  Specified in source using `PreReleaseVersionLabel` property.","path":"Documentation/Versioning.md","position":119,"original_position":119,"commit_id":"7251f79bebf610caa1cce49c50bf329240f781bf","original_commit_id":"7251f79bebf610caa1cce49c50bf329240f781bf","user":{"login":"tmat","id":41759,"node_id":"MDQ6VXNlcjQxNzU5","avatar_url":"https://avatars0.githubusercontent.com/u/41759?v=4","gravatar_id":"","url":"https://api.github.com/users/tmat","html_url":"https://github.com/tmat","followers_url":"https://api.github.com/users/tmat/followers","following_url":"https://api.github.com/users/tmat/following{/other_user}","gists_url":"https://api.github.com/users/tmat/gists{/gist_id}","starred_url":"https://api.github.com/users/tmat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmat/subscriptions","organizations_url":"https://api.github.com/users/tmat/orgs","repos_url":"https://api.github.com/users/tmat/repos","events_url":"https://api.github.com/users/tmat/events{/privacy}","received_events_url":"https://api.github.com/users/tmat/received_events","type":"User","site_admin":false},"body":"Done","created_at":"2018-07-24T17:22:09Z","updated_at":"2018-07-24T17:22:09Z","html_url":"https://github.com/dotnet/arcade/pull/353#discussion_r204841633","pull_request_url":"https://api.github.com/repos/dotnet/arcade/pulls/353","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/comments/204841633"},"html":{"href":"https://github.com/dotnet/arcade/pull/353#discussion_r204841633"},"pull_request":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/353"}},"in_reply_to_id":204510748},"pull_request":{"url":"https://api.github.com/repos/dotnet/arcade/pulls/353","id":202980546,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAyOTgwNTQ2","html_url":"https://github.com/dotnet/arcade/pull/353","diff_url":"https://github.com/dotnet/arcade/pull/353.diff","patch_url":"https://github.com/dotnet/arcade/pull/353.patch","issue_url":"https://api.github.com/repos/dotnet/arcade/issues/353","number":353,"state":"open","locked":false,"title":"Update Versioning.md","user":{"login":"tmat","id":41759,"node_id":"MDQ6VXNlcjQxNzU5","avatar_url":"https://avatars0.githubusercontent.com/u/41759?v=4","gravatar_id":"","url":"https://api.github.com/users/tmat","html_url":"https://github.com/tmat","followers_url":"https://api.github.com/users/tmat/followers","following_url":"https://api.github.com/users/tmat/following{/other_user}","gists_url":"https://api.github.com/users/tmat/gists{/gist_id}","starred_url":"https://api.github.com/users/tmat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmat/subscriptions","organizations_url":"https://api.github.com/users/tmat/orgs","repos_url":"https://api.github.com/users/tmat/repos","events_url":"https://api.github.com/users/tmat/events{/privacy}","received_events_url":"https://api.github.com/users/tmat/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-07-21T00:11:16Z","updated_at":"2018-07-24T17:22:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"556082f1aa94fe913f8decfabc9421f8ef60bd45","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/arcade/pulls/353/commits","review_comments_url":"https://api.github.com/repos/dotnet/arcade/pulls/353/comments","review_comment_url":"https://api.github.com/repos/dotnet/arcade/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/arcade/issues/353/comments","statuses_url":"https://api.github.com/repos/dotnet/arcade/statuses/7251f79bebf610caa1cce49c50bf329240f781bf","head":{"label":"dotnet:dev/tmat/versioning","ref":"dev/tmat/versioning","sha":"7251f79bebf610caa1cce49c50bf329240f781bf","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":121444325,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE0NDQzMjU=","name":"arcade","full_name":"dotnet/arcade","owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/arcade","description":"Tools that provide common build infrastructure for multiple .NET Foundation projects.","fork":false,"url":"https://api.github.com/repos/dotnet/arcade","forks_url":"https://api.github.com/repos/dotnet/arcade/forks","keys_url":"https://api.github.com/repos/dotnet/arcade/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/arcade/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/arcade/teams","hooks_url":"https://api.github.com/repos/dotnet/arcade/hooks","issue_events_url":"https://api.github.com/repos/dotnet/arcade/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/arcade/events","assignees_url":"https://api.github.com/repos/dotnet/arcade/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/arcade/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/arcade/tags","blobs_url":"https://api.github.com/repos/dotnet/arcade/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/arcade/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/arcade/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/arcade/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/arcade/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/arcade/languages","stargazers_url":"https://api.github.com/repos/dotnet/arcade/stargazers","contributors_url":"https://api.github.com/repos/dotnet/arcade/contributors","subscribers_url":"https://api.github.com/repos/dotnet/arcade/subscribers","subscription_url":"https://api.github.com/repos/dotnet/arcade/subscription","commits_url":"https://api.github.com/repos/dotnet/arcade/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/arcade/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/arcade/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/arcade/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/arcade/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/arcade/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/arcade/merges","archive_url":"https://api.github.com/repos/dotnet/arcade/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/arcade/downloads","issues_url":"https://api.github.com/repos/dotnet/arcade/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/arcade/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/arcade/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/arcade/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/arcade/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/arcade/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/arcade/deployments","created_at":"2018-02-13T22:29:54Z","updated_at":"2018-07-23T22:38:43Z","pushed_at":"2018-07-24T16:15:08Z","git_url":"git://github.com/dotnet/arcade.git","ssh_url":"git@github.com:dotnet/arcade.git","clone_url":"https://github.com/dotnet/arcade.git","svn_url":"https://github.com/dotnet/arcade","homepage":"","size":1639,"stargazers_count":9,"watchers_count":9,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":21,"mirror_url":null,"archived":false,"open_issues_count":141,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":21,"open_issues":141,"watchers":9,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"d26900dce0fc955d60dc652be3d7021468472b05","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":121444325,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE0NDQzMjU=","name":"arcade","full_name":"dotnet/arcade","owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/arcade","description":"Tools that provide common build infrastructure for multiple .NET Foundation projects.","fork":false,"url":"https://api.github.com/repos/dotnet/arcade","forks_url":"https://api.github.com/repos/dotnet/arcade/forks","keys_url":"https://api.github.com/repos/dotnet/arcade/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/arcade/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/arcade/teams","hooks_url":"https://api.github.com/repos/dotnet/arcade/hooks","issue_events_url":"https://api.github.com/repos/dotnet/arcade/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/arcade/events","assignees_url":"https://api.github.com/repos/dotnet/arcade/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/arcade/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/arcade/tags","blobs_url":"https://api.github.com/repos/dotnet/arcade/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/arcade/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/arcade/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/arcade/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/arcade/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/arcade/languages","stargazers_url":"https://api.github.com/repos/dotnet/arcade/stargazers","contributors_url":"https://api.github.com/repos/dotnet/arcade/contributors","subscribers_url":"https://api.github.com/repos/dotnet/arcade/subscribers","subscription_url":"https://api.github.com/repos/dotnet/arcade/subscription","commits_url":"https://api.github.com/repos/dotnet/arcade/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/arcade/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/arcade/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/arcade/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/arcade/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/arcade/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/arcade/merges","archive_url":"https://api.github.com/repos/dotnet/arcade/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/arcade/downloads","issues_url":"https://api.github.com/repos/dotnet/arcade/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/arcade/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/arcade/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/arcade/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/arcade/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/arcade/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/arcade/deployments","created_at":"2018-02-13T22:29:54Z","updated_at":"2018-07-23T22:38:43Z","pushed_at":"2018-07-24T16:15:08Z","git_url":"git://github.com/dotnet/arcade.git","ssh_url":"git@github.com:dotnet/arcade.git","clone_url":"https://github.com/dotnet/arcade.git","svn_url":"https://github.com/dotnet/arcade","homepage":"","size":1639,"stargazers_count":9,"watchers_count":9,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":21,"mirror_url":null,"archived":false,"open_issues_count":141,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":21,"open_issues":141,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/353"},"html":{"href":"https://github.com/dotnet/arcade/pull/353"},"issue":{"href":"https://api.github.com/repos/dotnet/arcade/issues/353"},"comments":{"href":"https://api.github.com/repos/dotnet/arcade/issues/353/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/353/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/353/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/arcade/statuses/7251f79bebf610caa1cce49c50bf329240f781bf"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"tmat"}}