Skip to content

Commit 129c830

Browse files
Merge pull request #675 from erikdarlingdata/dev
Release v2.4.1
2 parents 3122122 + 119d8d2 commit 129c830

9 files changed

Lines changed: 78 additions & 29 deletions

File tree

.github/workflows/build.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,12 +202,20 @@ jobs:
202202
run: |
203203
gh release upload ${{ github.event.release.tag_name }} releases/*.zip releases/SHA256SUMS.txt --clobber
204204
205-
- name: Upload Velopack artifacts
205+
- name: Upload Dashboard Velopack artifacts
206206
if: github.event_name == 'release'
207207
shell: pwsh
208208
env:
209209
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
210210
VERSION: ${{ steps.version.outputs.VERSION }}
211211
run: |
212212
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
213+
214+
- name: Upload Lite Velopack artifacts
215+
if: github.event_name == 'release'
216+
shell: pwsh
217+
env:
218+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
219+
VERSION: ${{ steps.version.outputs.VERSION }}
220+
run: |
213221
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

Dashboard/AboutWindow.xaml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,11 @@
3838
Report an Issue
3939
</Hyperlink>
4040
</TextBlock>
41-
<TextBlock FontSize="12">
42-
<Hyperlink x:Name="CheckUpdatesLink" Click="CheckUpdatesLink_Click">
43-
Check for Updates
44-
</Hyperlink>
45-
</TextBlock>
46-
<TextBlock x:Name="UpdateStatusText" FontSize="11" Foreground="{DynamicResource ForegroundMutedBrush}" Margin="0,3,0,0" Visibility="Collapsed"/>
41+
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
42+
<Button Content="Check for Updates" Click="CheckUpdatesLink_Click" Padding="10,4" FontSize="12"/>
43+
<TextBlock x:Name="UpdateStatusText" FontSize="11" VerticalAlignment="Center" Margin="8,0,0,0"
44+
Foreground="{DynamicResource ForegroundMutedBrush}" Visibility="Collapsed"/>
45+
</StackPanel>
4746
</StackPanel>
4847

4948
<!-- Links -->

Dashboard/Dashboard.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
<StartupObject>PerformanceMonitorDashboard.Program</StartupObject>
88
<AssemblyName>PerformanceMonitorDashboard</AssemblyName>
99
<Product>SQL Server Performance Monitor Dashboard</Product>
10-
<Version>2.4.0</Version>
11-
<AssemblyVersion>2.4.0.0</AssemblyVersion>
12-
<FileVersion>2.4.0.0</FileVersion>
13-
<InformationalVersion>2.4.0</InformationalVersion>
10+
<Version>2.4.1</Version>
11+
<AssemblyVersion>2.4.1.0</AssemblyVersion>
12+
<FileVersion>2.4.1.0</FileVersion>
13+
<InformationalVersion>2.4.1</InformationalVersion>
1414
<Company>Darling Data, LLC</Company>
1515
<Copyright>Copyright © 2026 Darling Data, LLC</Copyright>
1616
<ApplicationIcon>EDD.ico</ApplicationIcon>

Installer/PerformanceMonitorInstaller.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
<!-- Application metadata -->
2121
<AssemblyName>PerformanceMonitorInstaller</AssemblyName>
2222
<Product>SQL Server Performance Monitor Installer</Product>
23-
<Version>2.4.0</Version>
24-
<AssemblyVersion>2.4.0.0</AssemblyVersion>
25-
<FileVersion>2.4.0.0</FileVersion>
26-
<InformationalVersion>2.4.0</InformationalVersion>
23+
<Version>2.4.1</Version>
24+
<AssemblyVersion>2.4.1.0</AssemblyVersion>
25+
<FileVersion>2.4.1.0</FileVersion>
26+
<InformationalVersion>2.4.1</InformationalVersion>
2727
<Company>Darling Data, LLC</Company>
2828
<Copyright>Copyright © 2026 Darling Data, LLC</Copyright>
2929
<Description>Installation utility for SQL Server Performance Monitor - Supports SQL Server 2016-2025</Description>

InstallerGui/InstallerGui.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<AssemblyName>PerformanceMonitorInstallerGui</AssemblyName>
99
<RootNamespace>PerformanceMonitorInstallerGui</RootNamespace>
1010
<Product>SQL Server Performance Monitor Installer</Product>
11-
<Version>2.4.0</Version>
12-
<AssemblyVersion>2.4.0.0</AssemblyVersion>
13-
<FileVersion>2.4.0.0</FileVersion>
14-
<InformationalVersion>2.4.0</InformationalVersion>
11+
<Version>2.4.1</Version>
12+
<AssemblyVersion>2.4.1.0</AssemblyVersion>
13+
<FileVersion>2.4.1.0</FileVersion>
14+
<InformationalVersion>2.4.1</InformationalVersion>
1515
<Company>Darling Data, LLC</Company>
1616
<Copyright>Copyright © 2026 Darling Data, LLC</Copyright>
1717
<ApplicationIcon>EDD.ico</ApplicationIcon>

Lite/MainWindow.xaml.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,16 @@ private void ManageServersButton_Click(object sender, RoutedEventArgs e)
832832

833833
if (window.ServersChanged)
834834
{
835+
// Purge collector health for servers that were removed
836+
if (_collectorService != null)
837+
{
838+
var currentServerIds = new HashSet<int>(
839+
_serverManager.GetAllServers().Select(s =>
840+
RemoteCollectorService.GetDeterministicHashCode(
841+
RemoteCollectorService.GetServerNameForStorage(s))));
842+
_collectorService.ClearHealthExcept(currentServerIds);
843+
}
844+
835845
RefreshServerList();
836846
}
837847
}
@@ -1087,6 +1097,9 @@ private void ServerContextMenu_Remove_Click(object sender, RoutedEventArgs e)
10871097
if (result == MessageBoxResult.Yes)
10881098
{
10891099
CloseServerTab(server.Id);
1100+
_collectorService?.ClearHealthForServer(
1101+
RemoteCollectorService.GetDeterministicHashCode(
1102+
RemoteCollectorService.GetServerNameForStorage(server)));
10901103
_serverManager.DeleteServer(server.Id);
10911104
RefreshServerList();
10921105
StatusText.Text = $"Removed server: {server.DisplayNameWithIntent}";

Lite/PerformanceMonitorLite.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<AssemblyName>PerformanceMonitorLite</AssemblyName>
99
<RootNamespace>PerformanceMonitorLite</RootNamespace>
1010
<Product>SQL Server Performance Monitor Lite</Product>
11-
<Version>2.4.0</Version>
12-
<AssemblyVersion>2.4.0.0</AssemblyVersion>
13-
<FileVersion>2.4.0.0</FileVersion>
14-
<InformationalVersion>2.4.0</InformationalVersion>
11+
<Version>2.4.1</Version>
12+
<AssemblyVersion>2.4.1.0</AssemblyVersion>
13+
<FileVersion>2.4.1.0</FileVersion>
14+
<InformationalVersion>2.4.1</InformationalVersion>
1515
<Company>Darling Data, LLC</Company>
1616
<Copyright>Copyright © 2026 Darling Data, LLC</Copyright>
1717
<Description>Lightweight SQL Server performance monitoring - no installation required on target servers</Description>

Lite/Services/RemoteCollectorService.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,36 @@ public CollectorHealthSummary GetHealthSummary(int? serverId = null)
162162
}
163163
}
164164

165+
/// <summary>
166+
/// Clears collector health entries for a server that has been removed.
167+
/// Prevents stale error counts from showing in the status bar.
168+
/// </summary>
169+
public void ClearHealthForServer(int serverId)
170+
{
171+
lock (_healthLock)
172+
{
173+
var keys = _collectorHealth.Keys.Where(k => k.ServerId == serverId).ToList();
174+
foreach (var key in keys)
175+
_collectorHealth.Remove(key);
176+
}
177+
}
178+
179+
/// <summary>
180+
/// Clears collector health entries for all servers NOT in the provided set.
181+
/// Used after Manage Servers to purge stale entries for removed servers.
182+
/// </summary>
183+
public void ClearHealthExcept(HashSet<int> activeServerIds)
184+
{
185+
lock (_healthLock)
186+
{
187+
var keys = _collectorHealth.Keys
188+
.Where(k => !activeServerIds.Contains(k.ServerId))
189+
.ToList();
190+
foreach (var key in keys)
191+
_collectorHealth.Remove(key);
192+
}
193+
}
194+
165195
/// <summary>
166196
/// Records a collector execution result for health tracking.
167197
/// </summary>

Lite/Windows/AboutWindow.xaml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,11 @@
4646
Report an Issue
4747
</Hyperlink>
4848
</TextBlock>
49-
<TextBlock FontSize="12" Margin="0,0,0,5">
50-
<Hyperlink x:Name="CheckUpdatesLink" Click="CheckUpdatesLink_Click">
51-
Check for Updates
52-
</Hyperlink>
53-
</TextBlock>
54-
<TextBlock x:Name="UpdateStatusText" FontSize="11" Foreground="{DynamicResource ForegroundMutedBrush}" Margin="0,0,0,5" Visibility="Collapsed"/>
49+
<StackPanel Orientation="Horizontal" Margin="0,4,0,5">
50+
<Button Content="Check for Updates" Click="CheckUpdatesLink_Click" Padding="10,4" FontSize="12"/>
51+
<TextBlock x:Name="UpdateStatusText" FontSize="11" VerticalAlignment="Center" Margin="8,0,0,0"
52+
Foreground="{DynamicResource ForegroundMutedBrush}" Visibility="Collapsed"/>
53+
</StackPanel>
5554
<TextBlock FontSize="12">
5655
<Hyperlink x:Name="DarlingDataLink" Click="DarlingDataLink_Click">
5756
www.erikdarling.com

0 commit comments

Comments
 (0)