publish: 1.0.7 — switch to 3-part SemVer, manual bumps only

Versioning policy: MAJOR.MINOR.PATCH stored as MAJOR.MINOR.PATCH.0
in the ClickOnce manifest (it requires 4 components). The trailing
.0 is hidden by SettingsViewModel.ResolveDisplayVersion so the About
tab shows "1.0.7" not "1.0.7.0".

AutoIncrementApplicationRevision is now false; every published change
must bump <ApplicationVersion> and AssemblyVersion/AssemblyFileVersion
together by hand. MAJOR bumps need explicit owner approval.

Previously AssemblyVersion was pinned at 1.0.0.0 while ClickOnce
auto-bumped only ApplicationVersion, so the deployed DLL's
FileVersion never matched the manifest. Now they're locked at 1.0.7.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PointStar
2026-05-24 15:51:40 +03:00
parent b6624a924f
commit dbd7f3068b
40 changed files with 34 additions and 26 deletions
@@ -91,12 +91,13 @@ namespace MarcusLaw.OutlookAddin.UI.ViewModels
/// </summary>
private static string ResolveDisplayVersion()
{
Version? v = null;
try
{
if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed)
{
return System.Deployment.Application.ApplicationDeployment
.CurrentDeployment.CurrentVersion.ToString();
v = System.Deployment.Application.ApplicationDeployment
.CurrentDeployment.CurrentVersion;
}
}
catch
@@ -104,7 +105,14 @@ namespace MarcusLaw.OutlookAddin.UI.ViewModels
// Not running under ClickOnce (dev / F5), or System.Deployment
// is not available — fall through to the AssemblyVersion.
}
return typeof(SettingsViewModel).Assembly.GetName().Version?.ToString() ?? "1.0.0";
v ??= typeof(SettingsViewModel).Assembly.GetName().Version;
if (v == null) return "1.0.0";
// ClickOnce stores 4 components; project policy is MAJOR.MINOR.PATCH —
// hide the trailing revision when it's 0.
return v.Revision == 0
? $"{v.Major}.{v.Minor}.{v.Build}"
: v.ToString();
}
/// <summary>