Release: dev → main (Feb 13 2026)#28
Merged
erikdarlingdata merged 41 commits intomainfrom Feb 13, 2026
Merged
Conversation
Both Dashboard and Lite now check the GitHub releases API for new versions. On startup (once per 24h, configurable), a notification appears if an update is available. The About dialog's "Check for Updates" link now performs a live check and shows the result inline with a clickable download link. Also simplified the Dashboard About dialog credits section to match Lite. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add check for updates feature
Overview cards now display connection status with a colored dot (green/red), status label, and a semi-transparent offline overlay with red X for unreachable servers. Offline servers also get a red card border. Connection status is sourced from the existing ServerManager connection tracking. Closes #2 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…atus Lite overview: show Online/Offline status
Status bar now filters collector health by the selected server tab instead of showing global aggregate. Overview tab still shows all-server health. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…health Lite: per-server collector health in status bar
Automatically fails PRs targeting main from any branch other than dev, so contributors don't need manual correction. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
WAITFOR-based queries (e.g., Service Broker queue listeners) dominate duration rankings but aren't actionable. Filter them at the display layer in both Dashboard and Lite query stats + Query Store queries. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Exclude WAITFOR queries from top queries views
Scatter series and legend are now created unconditionally so the legend displays the series name even when there's no data for the time range. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dashboard: always show legends on Performance Trends charts
Apply consistent blue-gray tinted color palette across both Dashboard and Lite: - Backgrounds: #111217, #181b1f, #22252b, #2a2d35 (Grafana-style) - Text: #E4E6EB (primary), #9DA5B4 (dim), #6B7280 (muted) - Borders: #2a2d35 / #33363e - Chart backgrounds, grid lines, axis text, legends updated to match - Calendar pickers styled consistently Fix system tray visual issues in both apps: - Replace native ToolTipText (Windows light theme) with custom dark TrayToolTip - Add full ContextMenu ControlTemplate to eliminate WPF default light gutter - Add emoji icons to Lite tray context menu (matching Dashboard) - Transparent backgrounds on all tray menu emoji icons Also includes WAITFOR exclusion filters from #14 in query snapshots. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Thanks so much Claudio (and cousin Claude)! This is a great contribution — the manifest-only approach is clean and the before/after screenshots speak for themselves. Really appreciate you taking the time to fix this for both Dashboard and Lite. You'll get credit in the upcoming release notes. 🎉
Replace all stock ScottPlot colors and scattered inline hex colors with a centralized TabHelpers.ChartColors palette (12 Material Design 300-level pastels optimized for dark backgrounds). Standardize MarkerSize to 5 across all Dashboard charts for consistent dot visibility matching Lite. Desaturate status indicator colors from Material 500 to 300 in both apps (green #81C784, amber #FFD54F, red #E57373, orange #FFB74D). Increase DataGrid cell padding from 6,4 to 8,6 for better readability. Add ClipToBounds to DataGrid style for clean edge rendering. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…10 (#12) Replace the broken "select first 12 in list order" logic with smart defaults: poison waits (THREADPOOL, RESOURCE_SEMAPHORE, RESOURCE_SEMAPHORE_QUERY_COMPILE) are always checked, usual suspects (SOS_SCHEDULER_YIELD, CXPACKET, CXCONSUMER, PAGEIOLATCH_SH/EX, PAGELATCH_%, WRITELOG) are always checked, then the top 10 by total wait time fill remaining slots up to the 12-color cap. Relabel button from "Select All" to "Top Waits" in both Dashboard and Lite. Align Lite wait type list sorting to alphabetical to match Dashboard. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extend color palettes to 20 colors in both Dashboard and Lite so users can chart more wait types simultaneously. Add "X / 20 selected" counter next to the Top Waits button so users know the limit. Counter turns red when the cap is reached. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…#23) The process_blocked_process_xml and process_deadlock_xml procedures were TRUNCATing parsed output tables on every scheduled run, then re-parsing all raw XML from scratch. This caused parsed data to be lost as raw XML aged out of retention. Replace TRUNCATE-and-reparse with is_processed tracking: - Add is_processed column to blocked_process_xml and deadlock_xml - Processors now skip already-processed rows and mark new ones - Schema upgrade logic in ensure_collection_table (runtime) and standalone ALTER TABLE statements (install-time) for existing DBs - Add blocked_process_reports to Lite archival list Tested via CLI installer (52/52 files, 0 failures) and verified end-to-end on sql2022: rows processed once, parsed data preserved. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SUBSTRING length calculation for statement_start_offset/statement_end_offset was missing the +1 per Microsoft's documented formula, causing query text to be clipped by 1 character. Fixed in Lite QueryStats collector (both standard and Azure variants) and server-side 08_collect_query_stats.sql. QuerySnapshots and WaitingTasks already had the correct formula. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Port the Dashboard's column filter system to Lite. Users can now click a filter icon on any column header to open a popup with operator selection (contains, equals, greater than, etc.) and filter value input. Filters persist across auto-refresh cycles. Active filters show a gold icon; inactive filters show dim. New generic DataGridFilterManager<T> eliminates per-grid boilerplate by encapsulating filter state, unfiltered data capture, LINQ filtering, and button style updates for each of the 11 DataGrids. Tested: filters apply/clear correctly, icons toggle color, data refreshes preserve active filters. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ltering Lite: add column-level filtering to all data grids (#18)
Hover over wait stats chart lines to see the wait type name, ms/sec value, and timestamp in a popup that follows the mouse. Uses a WPF Popup with pixel-distance threshold (~50px) so empty chart areas don't trigger false tooltips. MouseMove handler throttled to 50ms. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nd 16 requests happen (added semaphore)
Extract reusable ChartHoverHelper class (WPF Popup, 50ms throttle, pixel-distance threshold) and wire it to all multi-series charts: Dashboard (7): Sessions, WaitStats, Latch, Spinlock, FileIO R/W, Perfmon Lite (5): WaitStats, Perfmon, TempDB FileIO, FileIO R/W Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…0 wait types (#12) # Conflicts: # Dashboard/Controls/ResourceMetricsContent.xaml.cs # Dashboard/Helpers/TabHelpers.cs # Lite/Controls/ServerTab.xaml # Lite/Controls/ServerTab.xaml.cs
WaitTypes_ClearAll_Click called UpdateWaitTypeCount() directly, skipping search filter refresh. Now calls RefreshWaitTypeListOrder() to match SelectAll_Click behavior and Lite's consistent approach. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…Entra-MFA Feature/support microsoft entra mfa
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Merge all completed feature work from dev into main for release.
Features
Bug fixes
Test plan
🤖 Generated with Claude Code