diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 92d06a6..9d7b217 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -202,7 +202,7 @@ jobs:
run: |
gh release upload ${{ github.event.release.tag_name }} releases/*.zip releases/SHA256SUMS.txt --clobber
- - name: Upload Velopack artifacts
+ - name: Upload Dashboard Velopack artifacts
if: github.event_name == 'release'
shell: pwsh
env:
@@ -210,4 +210,12 @@ jobs:
VERSION: ${{ steps.version.outputs.VERSION }}
run: |
vpk upload github --repoUrl https://github.com/${{ github.repository }} --channel dashboard -o releases/velopack-dashboard --releaseName "v$env:VERSION" --tag "v$env:VERSION" --merge --token $env:GH_TOKEN
+
+ - name: Upload Lite Velopack artifacts
+ if: github.event_name == 'release'
+ shell: pwsh
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ VERSION: ${{ steps.version.outputs.VERSION }}
+ run: |
vpk upload github --repoUrl https://github.com/${{ github.repository }} --channel lite -o releases/velopack-lite --releaseName "v$env:VERSION" --tag "v$env:VERSION" --merge --token $env:GH_TOKEN
diff --git a/Dashboard/AboutWindow.xaml b/Dashboard/AboutWindow.xaml
index 5fa28bc..6d3d013 100644
--- a/Dashboard/AboutWindow.xaml
+++ b/Dashboard/AboutWindow.xaml
@@ -38,12 +38,11 @@
Report an Issue
-
-
- Check for Updates
-
-
-
+
+
+
+
diff --git a/Dashboard/Dashboard.csproj b/Dashboard/Dashboard.csproj
index 73b591e..d9df3e5 100644
--- a/Dashboard/Dashboard.csproj
+++ b/Dashboard/Dashboard.csproj
@@ -7,10 +7,10 @@
PerformanceMonitorDashboard.Program
PerformanceMonitorDashboard
SQL Server Performance Monitor Dashboard
- 2.4.0
- 2.4.0.0
- 2.4.0.0
- 2.4.0
+ 2.4.1
+ 2.4.1.0
+ 2.4.1.0
+ 2.4.1
Darling Data, LLC
Copyright © 2026 Darling Data, LLC
EDD.ico
diff --git a/Installer/PerformanceMonitorInstaller.csproj b/Installer/PerformanceMonitorInstaller.csproj
index f9243d8..2624bb4 100644
--- a/Installer/PerformanceMonitorInstaller.csproj
+++ b/Installer/PerformanceMonitorInstaller.csproj
@@ -20,10 +20,10 @@
PerformanceMonitorInstaller
SQL Server Performance Monitor Installer
- 2.4.0
- 2.4.0.0
- 2.4.0.0
- 2.4.0
+ 2.4.1
+ 2.4.1.0
+ 2.4.1.0
+ 2.4.1
Darling Data, LLC
Copyright © 2026 Darling Data, LLC
Installation utility for SQL Server Performance Monitor - Supports SQL Server 2016-2025
diff --git a/InstallerGui/InstallerGui.csproj b/InstallerGui/InstallerGui.csproj
index df994fc..c063f11 100644
--- a/InstallerGui/InstallerGui.csproj
+++ b/InstallerGui/InstallerGui.csproj
@@ -8,10 +8,10 @@
PerformanceMonitorInstallerGui
PerformanceMonitorInstallerGui
SQL Server Performance Monitor Installer
- 2.4.0
- 2.4.0.0
- 2.4.0.0
- 2.4.0
+ 2.4.1
+ 2.4.1.0
+ 2.4.1.0
+ 2.4.1
Darling Data, LLC
Copyright © 2026 Darling Data, LLC
EDD.ico
diff --git a/Lite/MainWindow.xaml.cs b/Lite/MainWindow.xaml.cs
index 06daed0..f86b1a4 100644
--- a/Lite/MainWindow.xaml.cs
+++ b/Lite/MainWindow.xaml.cs
@@ -832,6 +832,16 @@ private void ManageServersButton_Click(object sender, RoutedEventArgs e)
if (window.ServersChanged)
{
+ // Purge collector health for servers that were removed
+ if (_collectorService != null)
+ {
+ var currentServerIds = new HashSet(
+ _serverManager.GetAllServers().Select(s =>
+ RemoteCollectorService.GetDeterministicHashCode(
+ RemoteCollectorService.GetServerNameForStorage(s))));
+ _collectorService.ClearHealthExcept(currentServerIds);
+ }
+
RefreshServerList();
}
}
@@ -1087,6 +1097,9 @@ private void ServerContextMenu_Remove_Click(object sender, RoutedEventArgs e)
if (result == MessageBoxResult.Yes)
{
CloseServerTab(server.Id);
+ _collectorService?.ClearHealthForServer(
+ RemoteCollectorService.GetDeterministicHashCode(
+ RemoteCollectorService.GetServerNameForStorage(server)));
_serverManager.DeleteServer(server.Id);
RefreshServerList();
StatusText.Text = $"Removed server: {server.DisplayNameWithIntent}";
diff --git a/Lite/PerformanceMonitorLite.csproj b/Lite/PerformanceMonitorLite.csproj
index 76c69a5..aa35371 100644
--- a/Lite/PerformanceMonitorLite.csproj
+++ b/Lite/PerformanceMonitorLite.csproj
@@ -8,10 +8,10 @@
PerformanceMonitorLite
PerformanceMonitorLite
SQL Server Performance Monitor Lite
- 2.4.0
- 2.4.0.0
- 2.4.0.0
- 2.4.0
+ 2.4.1
+ 2.4.1.0
+ 2.4.1.0
+ 2.4.1
Darling Data, LLC
Copyright © 2026 Darling Data, LLC
Lightweight SQL Server performance monitoring - no installation required on target servers
diff --git a/Lite/Services/RemoteCollectorService.cs b/Lite/Services/RemoteCollectorService.cs
index bd2f3c9..e8f51c9 100644
--- a/Lite/Services/RemoteCollectorService.cs
+++ b/Lite/Services/RemoteCollectorService.cs
@@ -162,6 +162,36 @@ public CollectorHealthSummary GetHealthSummary(int? serverId = null)
}
}
+ ///
+ /// Clears collector health entries for a server that has been removed.
+ /// Prevents stale error counts from showing in the status bar.
+ ///
+ public void ClearHealthForServer(int serverId)
+ {
+ lock (_healthLock)
+ {
+ var keys = _collectorHealth.Keys.Where(k => k.ServerId == serverId).ToList();
+ foreach (var key in keys)
+ _collectorHealth.Remove(key);
+ }
+ }
+
+ ///
+ /// Clears collector health entries for all servers NOT in the provided set.
+ /// Used after Manage Servers to purge stale entries for removed servers.
+ ///
+ public void ClearHealthExcept(HashSet activeServerIds)
+ {
+ lock (_healthLock)
+ {
+ var keys = _collectorHealth.Keys
+ .Where(k => !activeServerIds.Contains(k.ServerId))
+ .ToList();
+ foreach (var key in keys)
+ _collectorHealth.Remove(key);
+ }
+ }
+
///
/// Records a collector execution result for health tracking.
///
diff --git a/Lite/Windows/AboutWindow.xaml b/Lite/Windows/AboutWindow.xaml
index 8b40f0b..d8b77eb 100644
--- a/Lite/Windows/AboutWindow.xaml
+++ b/Lite/Windows/AboutWindow.xaml
@@ -46,12 +46,11 @@
Report an Issue
-
-
- Check for Updates
-
-
-
+
+
+
+
www.erikdarling.com