From 78bf2978249e963bf8ba251b250c4d95e37228e3 Mon Sep 17 00:00:00 2001 From: Cyd Date: Tue, 30 Jun 2026 10:02:39 -0500 Subject: [PATCH] Bump version to 4.11.4.1; show version in Agent tray menu - Console AssemblyVersion/AssemblyFileVersion 4.11.3.37076 -> 4.11.4.1. The recovered console is no longer a byte-faithful copy of the original baseline; it is the modernized 4.11.4.x line. - Launcher Service + Agent Version -> 4.11.4.1 (unified suite version). The Agent tray menu header now shows the running version ("Tesla Launcher Agent v4.11.4.1"). - Differential tests: the identity guard now expects the original at 4.11.3.37076 and the recovered at 4.11.4.1 (not identical); the public-member surface check strips Version= stamps before comparing, since generic-argument signatures embed the assembly version (we compare type names, not versions). 73 tests green. Co-Authored-By: Claude Opus 4.8 --- Console/Properties/AssemblyInfo.cs | 4 ++-- .../BehavioralEquivalenceTests.cs | 10 +++++++--- .../TeslaConsole.DiffTests/PublicApiSurfaceTests.cs | 13 +++++++++++-- Launcher/TeslaLauncherAgent.cs | 3 ++- Launcher/TeslaLauncherAgent.csproj | 2 +- Launcher/TeslaLauncherService.csproj | 2 +- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/Console/Properties/AssemblyInfo.cs b/Console/Properties/AssemblyInfo.cs index 90f290c..8bd251b 100644 --- a/Console/Properties/AssemblyInfo.cs +++ b/Console/Properties/AssemblyInfo.cs @@ -8,9 +8,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyCopyright("Copyright © 2009")] [assembly: AssemblyConfiguration("")] [assembly: Guid("581ca4b6-a91c-4d24-b9b5-207f3b5da379")] -[assembly: AssemblyFileVersion("4.11.3.0")] +[assembly: AssemblyFileVersion("4.11.4.1")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: AssemblyTitle("Tesla Console")] [assembly: AssemblyDescription("All code and UI property of Virtual World Entertainment.\r\n\r\nDeveloped by Elsewhen Studios, LLC in association with VGCorps, LLC.\r\n\r\nElsewhen Studios and the Elsewhen Wormhole are trademarks of Elsewhen Studios, LLC\r\n\r\nIncludes the WeifenLuo DockingPane library. Copyright © 2007 Weifen Luo (email: weifenluo@yahoo.com). Licensed under the MIT License - details can be found in WeifenLuo.txt included in this installation.")] -[assembly: AssemblyVersion("4.11.3.37076")] +[assembly: AssemblyVersion("4.11.4.1")] diff --git a/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs b/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs index 9b083d3..6970032 100644 --- a/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs +++ b/Console/tests/TeslaConsole.DiffTests/BehavioralEquivalenceTests.cs @@ -39,11 +39,15 @@ namespace TeslaConsole.DiffTests } [Fact] - public void Loaded_Assemblies_Share_Identity() + public void Loaded_Assemblies_Are_The_Expected_Builds() { - // Both must really be TeslaConsole 4.11.3.37076 — guards against testing the wrong files. - Assert.Equal(_fx.Original.AssemblyFullName, _fx.Recovered.AssemblyFullName); + // The original is the untouched 4.11.3.37076 baseline; the recovered build is + // the modernized line, intentionally bumped to 4.11.4.x (same assembly name, + // new version). Both must be TeslaConsole — guards against testing the wrong files. Assert.Contains("TeslaConsole", _fx.Original.AssemblyFullName); + Assert.Contains("TeslaConsole", _fx.Recovered.AssemblyFullName); + Assert.Contains("4.11.3.37076", _fx.Original.AssemblyFullName); + Assert.Contains("4.11.4.1", _fx.Recovered.AssemblyFullName); } // ---- RPStrings.GetTimeString: mm:ss formatting with 0.5s rounding ---- diff --git a/Console/tests/TeslaConsole.DiffTests/PublicApiSurfaceTests.cs b/Console/tests/TeslaConsole.DiffTests/PublicApiSurfaceTests.cs index 803f5bf..f335738 100644 --- a/Console/tests/TeslaConsole.DiffTests/PublicApiSurfaceTests.cs +++ b/Console/tests/TeslaConsole.DiffTests/PublicApiSurfaceTests.cs @@ -1,4 +1,5 @@ using System.Linq; +using System.Text.RegularExpressions; using Xunit; namespace TeslaConsole.DiffTests @@ -37,11 +38,19 @@ namespace TeslaConsole.DiffTests string.Join("\n ", missing)); } + // The recovered build is intentionally a newer assembly version than the + // original baseline. A member signature that references a TeslaConsole type as a + // generic argument embeds that type's assembly-qualified name — including the + // version — so strip Version= stamps before comparing. We compare type NAMES, + // not versions. + private static string StripVersion(string sig) + => Regex.Replace(sig, @", Version=\d+\.\d+\.\d+\.\d+", ""); + [Fact] public void Recovered_Exposes_All_Original_Public_Members() { - var original = _fx.Original.GetPublicMemberSignatures(); - var recovered = _fx.Recovered.GetPublicMemberSignatures(); + var original = _fx.Original.GetPublicMemberSignatures().Select(StripVersion).ToArray(); + var recovered = _fx.Recovered.GetPublicMemberSignatures().Select(StripVersion).ToArray(); Assert.True(original.Length > 100, "Only " + original.Length + " public members enumerated from the original; " + diff --git a/Launcher/TeslaLauncherAgent.cs b/Launcher/TeslaLauncherAgent.cs index 789d467..f7ef702 100644 --- a/Launcher/TeslaLauncherAgent.cs +++ b/Launcher/TeslaLauncherAgent.cs @@ -299,7 +299,8 @@ namespace Tesla.Launcher.Agent private void BuildTrayIcon() { _trayMenu = new ContextMenuStrip(); - _trayMenu.Items.Add("Tesla Launcher Agent", null, null).Enabled = false; + var version = typeof(AgentApplication).Assembly.GetName().Version; + _trayMenu.Items.Add($"Tesla Launcher Agent v{version}", null, null).Enabled = false; _trayMenu.Items.Add(new ToolStripSeparator()); _trayMenu.Items.Add("Reload Config", null, (s, e) => LoadLaunchApps()); _trayMenu.Items.Add("Kill All Apps", null, (s, e) => CmdKillAllApps()); diff --git a/Launcher/TeslaLauncherAgent.csproj b/Launcher/TeslaLauncherAgent.csproj index 1e399ce..29ec7d2 100644 --- a/Launcher/TeslaLauncherAgent.csproj +++ b/Launcher/TeslaLauncherAgent.csproj @@ -7,7 +7,7 @@ disable disable - 0.1.0 + 4.11.4.1 app.ico TeslaLauncherAgent Tesla.Launcher.Agent diff --git a/Launcher/TeslaLauncherService.csproj b/Launcher/TeslaLauncherService.csproj index f47cb15..b6d15a4 100644 --- a/Launcher/TeslaLauncherService.csproj +++ b/Launcher/TeslaLauncherService.csproj @@ -6,7 +6,7 @@ disable true - 0.1.0 + 4.11.4.1 app.ico TeslaLauncherService Tesla.Launcher.Service