Conversation
| ## Change for 2.0 | ||
|
|
||
| In 2.0, all MSIX names will change to remove the Minor version as follows: | ||
| * Name = Microsoft.WindowsAppRuntime[.SubName].\<Major\>[-VersionTag] |
| * WARddlm: `Microsoft.WinAppRuntime.DDLM.<major>.<minor>.<Patch>.<BuildNumber>-<shortarchitecture>[-shorttag]` | ||
|
|
||
| The version will also change: | ||
| <Major>.<Minor>.<Patch>.<BuildNumber> |
There was a problem hiding this comment.
Only way you could list this as "0" is if the DDLM will never (and can never) need an update leveraging this.
If you engrave that in stone then Revision needs to support a non-zero value, even if rarely (hopefully never?) used.
Even if you declare "Revision can only be 1 digit (0-9) the DDLM package Name's max length is still too big with just this restriction. See the math above for more details
|
I propose updating the title of this PR to something like: |
Or rename the current files Or my preference, move the existing files with their old 0.x/1.x information into a new P.S. Alternatively we could move 'obsolete' content under a new |
| 3.0.0-preview is the preview 3 public release | ||
| 3.0.1-experimental (contains 3.0.1-preview + some new APIs not in the preview build) | ||
| 3.0.3 is the first 3 stable release (we made 3.0.2, noticed issues we had not seen in preview, fixed and rebuilt) | ||
| 3.0.4-experimental (contains 3.0.3 + the new APIs from 3.0.1-experimental) |
There was a problem hiding this comment.
The example here is good, but the markdown formatting is problematic since all lines get merged like a paragraph. I suggest starting each of these version example lines with "* " to make each line a bullet.
|
|
||
| Since we will now match the release version with the MSIX, it is worth explaining how that is going to increment. | ||
| Every potential released build (stable, preview, experimental) will increase the Patch, unless the Major or Minor is increased. | ||
| If we notice an issue after building the canditate, we might choose not to release it, at which point the patch could bump twice. |
| A simplified example is this: | ||
| 2.0.0 is the first stable release. | ||
| 2.0.1-experimental is the first experimental. (contains 2.0.0 + some exp APIs, and some bug fixes) | ||
| 2.0.2 is the 2nd stable release. (bug fixes moved into 2) |
There was a problem hiding this comment.
This doesn't make sense to me. 2.0.1 should be the 2nd stable release.
There was a problem hiding this comment.
I'm with Morten here. The versions should be incremental in their own band. See NuGet's docs for a widely accepted and understood naming paradigm https://learn.microsoft.com/en-us/nuget/concepts/package-versioning?tabs=semver20sort#pre-release-versions
Using the 2.0 sematic versioning it should be
2.0.1-aaa
2.0.1-alpha10
2.0.1-alpha2
2.0.1-beta
2.0.1-experimental (<-- alphabetical order lets htis fit naturally here)
2.0.1-open
2.0.1-rc.2
2.0.1-rc.10
2.0.1-zzz
2.0.1
| ***Recommendation:*** | ||
| For all 1.x, option B was selected, while waiting on tooling to be able to handle the rapid development we want. | ||
| Starting 2.x, option A is selected. This will allow for better stability for external developers. They will | ||
| know that as long as they are on the same Major, then things should be compatible. |
There was a problem hiding this comment.
Good. I would consider writing here then things will be compatible, instead of then things should be compatible, as it should really be the exception if something on the same Major is not compatible. Of course, if there are exceptions, someone can pin-point to this. But anyway, the "should be" sounds to me like soft target. If it's really a serious goal of making the Major the incompatibility boundary, then I would make the wording here also a bit stronger.
| 13 characters. Package Name is restricted to 50 characters maximum. | ||
| Windows App SDK 2.x goes back to just a "-preview" tag on the package Name. | ||
|
|
||
| ***Shorter Tags as needed*** "-preview" adds 8 characters to package Name. "-experiental" adds |
There was a problem hiding this comment.
| ***Shorter Tags as needed*** "-preview" adds 8 characters to package Name. "-experiental" adds | |
| ***Shorter Tags as needed*** "-preview" adds 8 characters to package Name. "-experimental" adds |
| ***Recommendation:*** Option D with Epoch=January 1, 2021. | ||
| ***Recommendation:*** | ||
| For 1.x, Option D was selected. | ||
| For 2.x, Option A is selected. |
There was a problem hiding this comment.
Change to "Option A is selected."
| * WARfwk: `Microsoft.WindowsAppRuntime.<rmajor>.<rminor>[-tag]` | ||
| * WARmain: `Microsoft.WindowsAppRuntime.Main.<rmajor>.<rminor>[-tag]` | ||
| * WARddlm: `Microsoft.WindowsAppRuntime.DDLM.<major>.<minor>.<build>.<revision>-<shortarchitecture>[-shorttag]` | ||
| * WARddlm: `Microsoft.WindowsAppRuntime.DDLM.<rmajor>.<rminor>.<build>.<revision>-<shortarchitecture>[-shorttag]` |
There was a problem hiding this comment.
Should be <rpatch> given it's the same as the release (SemVer lingo, Major.Minor.Patch)
|
|
||
| **Decision 2:** Windows App SDK version 1.* encodes `Major.Minor` into MSIX package Names. | ||
|
|
||
| **Decision 2.1:** Windows App SDK version 2.* encodes `Major` into MSIX package Names. |
There was a problem hiding this comment.
Decision 1 2 2.1 - little weird
SUGGESTION: Renumber to 1 2 3 4... Or remove info <2.0 -- cut Decision 1+2 and rename Decision 2.1... to Decision 1...version >=2.0 encodes...
| * ShortVersionTag = short form of the VersionTag | ||
|
|
||
| ShortVersionTag is derived from a VersionTag by combining the 1st letter and the last digit (if any) for non-Stable channels (ShortVeresionTag is blank for the Stable channel, just like VersionTag). | ||
| ShortVersionTag is derived from a VersionTag by using the 1st letter for non-Stable channels (ShortVeresionTag is blank for the Stable channel, just like VersionTag). |
There was a problem hiding this comment.
Based on the examples above, it looks like ShortVersionTag also still combines the letter with potentially a couple of digits (e00 in the example for an -experimental00) release.
Co-authored-by: Mike Crider <45052236+codendone@users.noreply.github.com>
Co-authored-by: Mike Crider <45052236+codendone@users.noreply.github.com>
Co-authored-by: Mike Crider <45052236+codendone@users.noreply.github.com>
|
Is the spec review complete / signed off? Are all comments addressed? |
Yes. I didnt complete this yet, partly cause I forgot, but mostly because the aggregator repo PR that describes more internals is not in yet, because that has not been approved by everyone we wanted. |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Add information for the MSIXPackage version change for 2.0 into the spec files.
A microsoft employee must use /azp run to validate using the pipelines below.
WARNING:
Comments made by azure-pipelines bot maybe inaccurate.
Please see pipeline link to verify that the build is being ran.
For status checks on the main branch, please use TransportPackage-Foundation-PR
(https://microsoft.visualstudio.com/ProjectReunion/_build?definitionId=81063&_a=summary)
and run the build against your PR branch with the default parameters.