v2.4.1
Patch release with UX improvements and a pipeline fix.
- Check for Updates is now a proper button instead of a hyperlink in both Dashboard and Lite About windows
- Collector health clears stale error counts when a server is removed — status bar no longer shows errors for deleted servers
- Velopack pipeline split into separate upload steps so Dashboard and Lite artifacts don't conflict
v2.4.0
Contributors: @HannahVernon, @MisterZeus, @ad-mca-mk — thank you!
Highlights
🔄 Auto-Update (Windows) — Both Dashboard and Lite now support automatic updates via Velopack. Install once via Setup.exe, and future updates are detected on startup with one-click download + apply. Existing zip distribution continues to work. (#635)
📊 Per-Tab Time Range Slicers — Query tabs in both Dashboard and Lite now have interactive time range slicers. Narrow down to a specific window without changing the global time range. (#655, #662)
🕐 Time Display Picker — Toggle between Local, UTC, and Server time directly from the toolbar. (#646)
Important
- Lite data directory moved: All data (config, DuckDB, archives, logs) now lives in
%LOCALAPPDATA%\PerformanceMonitorLite\instead of alongside the executable. This enables auto-update support. Users upgrading from the zip should use Import Settings + Import Data to bring over configuration and historical data.
Added
- Velopack auto-update for Dashboard and Lite — startup notification, download + apply from About window with confirmation dialog (#635)
- Per-tab time range slicers on Dashboard and Lite query tabs (#655, #662)
- Time display picker (Local/UTC/Server) in toolbars (#646)
- Import Settings — expanded from "Import Connections" to also copy alert thresholds, SMTP config, schedules, and wait exclusions
- Alert muting improvements — pre-fill database, query, wait type, and job name from alert detail; configurable default expiration for new mute rules (@HannahVernon) (#642)
- Missing date columns on Query Stats and Procedure Stats tabs (#649, #651, #654)
- Trace pattern drill-down with CollectionTime and NtUserName columns (#663)
- DataGrid sort preservation across auto-refresh (#659)
- CLI installer: colored output and version check on startup
- GUI installer: version check on startup
- Growth rate and VLF count columns in Database Sizes (upgrade script for servers that missed it in 2.3.0) (#567)
llms.txtandCITATION.cfffor discoverability (#630)
Changed
- Lite data directory moved to
%LOCALAPPDATA%\PerformanceMonitorLite\ - Delta gap detection on all cumulative-counter collectors — prevents chart spikes after app restart (#633)
- File I/O NULL fallbacks when
sys.master_filesis inaccessible — usesDB_NAME()andFile_{id}(#633) - Running jobs collector skipped gracefully when login lacks msdb access (#656)
- NuGet packages updated to latest minor versions (@MisterZeus) (#653)
Fixed
- Installer reporting SUCCESS when files fail — removed false-positive workaround from both CLI and GUI
- Query stats collector SQL dumps on passive mirror servers — removed
dm_exec_plan_attributes, uses temp table of ONLINE database IDs (#632) - Trigger name extraction fails when comment contains " ON " (#666)
- FinOps expensive queries DuckDB error for missing column
- Imported parquet files not recognized by archive compaction
Download
| File | Description |
|---|---|
PerformanceMonitorDashboard-dashboard-Setup.exe
| New! One-click Dashboard installer with auto-update |
PerformanceMonitorLite-lite-Setup.exe
| New! One-click Lite installer with auto-update |
PerformanceMonitorDashboard-2.4.1.zip
| Dashboard (portable zip) |
PerformanceMonitorLite-2.4.1.zip
| Lite (portable zip) |
PerformanceMonitorInstaller-2.4.1.zip
| SQL Server installer (CLI + GUI + scripts) |