-
Notifications
You must be signed in to change notification settings - Fork 45
Versioning Schema
Our package versions are based on the SemVer schema Major.Minor.Build.Revision using a hybrid between the Prism library, Avalonia projects, plus an incremental bump when provisioning.
Major[.Minor[.Build[.Revision]]]
Major.Minor.Build - Prism library
Revision - Avalonia + Prism.Avalonia
Because .NET's .revision
segment uses Assembly Version Attribute, it is limited to a ushort
value of 65535 (reference). Therefore, we cannot breakup Avalonia v11.2.13 into 110213
+ our Rev 99
into 11021399
for our revisions. My goal is to match Prism's schema as much as possible.
As an example, v8.1.97.11074
uses the 8.1.97
from Prism, 1107
for Avalonia v11.0.7, and 4
for our revision in that series.
Trying to be compatible with 4 independent systems does have its limitations, where the 4th is NuGet. NuGet only allows for a maximum number value of USHORT
(65K) per segment, versus the usual Assembly versionioning of UINT
.
This means we can't use something cleaner such as, 9.0.401.11007xx-pre
where xx
is reserved for us.