diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 2c094a6..99dcb14 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -94,7 +94,7 @@ jobs:
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
organization-id: '7969f8b6-d946-4a74-9bac-a55856d8b8e0'
project-slug: 'PerformanceStudio'
- signing-policy-slug: 'test-signing'
+ signing-policy-slug: 'release-signing'
artifact-configuration-slug: 'App'
github-artifact-id: '${{ steps.upload-unsigned.outputs.artifact-id }}'
wait-for-completion: true
diff --git a/README.md b/README.md
index 19a5174..d726885 100644
--- a/README.md
+++ b/README.md
@@ -499,6 +499,15 @@ The analyzer runs 30 rules against each plan, covering:
Rules can be disabled or have their severity overridden via a `.planview.json` config file. See the `--config` option.
+## Sponsors
+
+
+
## License
MIT — see [LICENSE](LICENSE).
diff --git a/src/PlanViewer.App/AboutWindow.axaml b/src/PlanViewer.App/AboutWindow.axaml
index 71950bb..7c49c0b 100644
--- a/src/PlanViewer.App/AboutWindow.axaml
+++ b/src/PlanViewer.App/AboutWindow.axaml
@@ -14,7 +14,7 @@
+ Foreground="{DynamicResource ForegroundBrush}" Margin="0,0,0,4"/>
@@ -24,7 +24,7 @@
+ Foreground="{DynamicResource ForegroundBrush}"/>
@@ -72,13 +72,13 @@
VerticalContentAlignment="Center"/>
+ Foreground="{DynamicResource ForegroundBrush}"/>
diff --git a/src/PlanViewer.App/Controls/PlanViewerControl.axaml.cs b/src/PlanViewer.App/Controls/PlanViewerControl.axaml.cs
index 1051b23..0f5872e 100644
--- a/src/PlanViewer.App/Controls/PlanViewerControl.axaml.cs
+++ b/src/PlanViewer.App/Controls/PlanViewerControl.axaml.cs
@@ -2376,7 +2376,7 @@ private void ShowParameters(PlanStatement statement)
AddParamCell(grid, rowIndex, 0, param.Name, "#E4E6EB", FontWeight.SemiBold);
// Data type
- AddParamCell(grid, rowIndex, 1, param.DataType, "#B0B6C0");
+ AddParamCell(grid, rowIndex, 1, param.DataType, "#E4E6EB");
// Compiled value
if (compiledCol >= 0)
@@ -3372,7 +3372,7 @@ private IBrush FindBrushResource(string key)
"BackgroundLightBrush" => new SolidColorBrush(Color.FromRgb(0x23, 0x26, 0x2E)),
"BorderBrush" => new SolidColorBrush(Color.FromRgb(0x3A, 0x3D, 0x45)),
"ForegroundBrush" => new SolidColorBrush(Color.FromRgb(0xE4, 0xE6, 0xEB)),
- "ForegroundMutedBrush" => TooltipFgBrush,
+ "ForegroundMutedBrush" => new SolidColorBrush(Color.FromRgb(0xE4, 0xE6, 0xEB)),
_ => Brushes.White
};
}
diff --git a/src/PlanViewer.App/Controls/QuerySessionControl.axaml b/src/PlanViewer.App/Controls/QuerySessionControl.axaml
index be49eb2..9d44cc6 100644
--- a/src/PlanViewer.App/Controls/QuerySessionControl.axaml
+++ b/src/PlanViewer.App/Controls/QuerySessionControl.axaml
@@ -72,7 +72,7 @@
diff --git a/src/PlanViewer.App/Controls/QuerySessionControl.axaml.cs b/src/PlanViewer.App/Controls/QuerySessionControl.axaml.cs
index 7da0deb..ea2ce29 100644
--- a/src/PlanViewer.App/Controls/QuerySessionControl.axaml.cs
+++ b/src/PlanViewer.App/Controls/QuerySessionControl.axaml.cs
@@ -967,7 +967,7 @@ private async Task CaptureAndShowPlan(bool estimated, string? queryTextOverride
{
Text = $"Capturing {planType.ToLower()} plan...",
FontSize = 14,
- Foreground = new SolidColorBrush(Color.Parse("#B0B6C0")),
+ Foreground = new SolidColorBrush(Color.Parse("#E4E6EB")),
HorizontalAlignment = HorizontalAlignment.Center
};
@@ -1761,7 +1761,7 @@ private async void GetActualPlan_Click(object? sender, RoutedEventArgs e)
{
Text = "Capturing actual plan...",
FontSize = 14,
- Foreground = new SolidColorBrush(Color.Parse("#B0B6C0")),
+ Foreground = new SolidColorBrush(Color.Parse("#E4E6EB")),
HorizontalAlignment = HorizontalAlignment.Center
};
diff --git a/src/PlanViewer.App/Controls/TimeRangeSlicerControl.axaml.cs b/src/PlanViewer.App/Controls/TimeRangeSlicerControl.axaml.cs
index 6d1ac56..7edfdf0 100644
--- a/src/PlanViewer.App/Controls/TimeRangeSlicerControl.axaml.cs
+++ b/src/PlanViewer.App/Controls/TimeRangeSlicerControl.axaml.cs
@@ -31,7 +31,7 @@ public partial class TimeRangeSlicerControl : UserControl
// Cached brushes and objects to avoid allocations on every Redraw
private static readonly SolidColorBrush FallbackChartFillBrush = new(Color.Parse("#332EAEF1"));
private static readonly SolidColorBrush FallbackChartLineBrush = new(Color.Parse("#2EAEF1"));
- private static readonly SolidColorBrush FallbackLabelBrush = new(Color.Parse("#99E4E6EB"));
+ private static readonly SolidColorBrush FallbackLabelBrush = new(Color.Parse("#E4E6EB"));
private static readonly SolidColorBrush FallbackDayLineBrush = new(Color.Parse("#55E4E6EB"));
private static readonly SolidColorBrush FallbackForegroundBrush = new(Color.Parse("#E4E6EB"));
private static readonly SolidColorBrush FallbackOverlayBrush = new(Color.Parse("#99000000"));
diff --git a/src/PlanViewer.App/Controls/WaitStatsRibbonControl.axaml.cs b/src/PlanViewer.App/Controls/WaitStatsRibbonControl.axaml.cs
index 123e96e..f1df316 100644
--- a/src/PlanViewer.App/Controls/WaitStatsRibbonControl.axaml.cs
+++ b/src/PlanViewer.App/Controls/WaitStatsRibbonControl.axaml.cs
@@ -95,7 +95,7 @@ private void Redraw()
orderedCats.Add("Others");
// ── Vertical dashed lines at day boundaries (00:00) ────────────────
- var dashBrush = TryFindBrush("SlicerLabelBrush", new SolidColorBrush(Color.Parse("#99E4E6EB")));
+ var dashBrush = TryFindBrush("SlicerLabelBrush", new SolidColorBrush(Color.Parse("#E4E6EB")));
for (int i = 0; i < n; i++)
{
if (allHours[i].Hour == 0)
diff --git a/src/PlanViewer.App/Dialogs/QueryStoreHistoryWindow.axaml.cs b/src/PlanViewer.App/Dialogs/QueryStoreHistoryWindow.axaml.cs
index b71aef8..8742ae4 100644
--- a/src/PlanViewer.App/Dialogs/QueryStoreHistoryWindow.axaml.cs
+++ b/src/PlanViewer.App/Dialogs/QueryStoreHistoryWindow.axaml.cs
@@ -478,7 +478,7 @@ private void UpdateChart()
_avgLine.LineWidth = 2f;
_avgLine.LinePattern = LinePattern.DenselyDashed;
_avgLine.Text = $"avg: {avg:N0}";
- _avgLine.LabelFontColor = ScottPlot.Color.FromHex("#9DA5B4");
+ _avgLine.LabelFontColor = ScottPlot.Color.FromHex("#E4E6EB");
_avgLine.LabelFontSize = 11;
_avgLine.LabelBackgroundColor = ScottPlot.Color.FromHex("#333333").WithAlpha(170);
_avgLine.LabelOppositeAxis = false;
@@ -516,7 +516,7 @@ private void ConfigureSmartXAxis()
if (span.TotalHours <= 48)
{
- HistoryChart.Plot.Axes.Bottom.TickLabelStyle.ForeColor = ScottPlot.Color.FromHex("#9DA5B4");
+ HistoryChart.Plot.Axes.Bottom.TickLabelStyle.ForeColor = ScottPlot.Color.FromHex("#E4E6EB");
HistoryChart.Plot.Axes.Bottom.TickGenerator = new ScottPlot.TickGenerators.DateTimeAutomatic
{
LabelFormatter = dt => dt.ToString("HH:mm\nMM/dd")
@@ -886,7 +886,7 @@ private void ApplyDarkTheme()
{
var fig = ScottPlot.Color.FromHex("#22252b");
var data = ScottPlot.Color.FromHex("#111217");
- var text = ScottPlot.Color.FromHex("#9DA5B4");
+ var text = ScottPlot.Color.FromHex("#E4E6EB");
var grid = ScottPlot.Colors.White.WithAlpha(40);
HistoryChart.Plot.FigureBackground.Color = fig;
diff --git a/src/PlanViewer.App/MainWindow.axaml.cs b/src/PlanViewer.App/MainWindow.axaml.cs
index 457c9d5..01315ae 100644
--- a/src/PlanViewer.App/MainWindow.axaml.cs
+++ b/src/PlanViewer.App/MainWindow.axaml.cs
@@ -1055,7 +1055,7 @@ private async Task GetActualPlanFromFile(PlanViewerControl viewer)
{
Text = "Executing query...",
FontSize = 14,
- Foreground = new SolidColorBrush(Color.Parse("#B0B6C0")),
+ Foreground = new SolidColorBrush(Color.Parse("#E4E6EB")),
HorizontalAlignment = HorizontalAlignment.Center
};
diff --git a/src/PlanViewer.App/PlanViewer.App.csproj b/src/PlanViewer.App/PlanViewer.App.csproj
index 81fac66..dc22182 100644
--- a/src/PlanViewer.App/PlanViewer.App.csproj
+++ b/src/PlanViewer.App/PlanViewer.App.csproj
@@ -6,7 +6,7 @@
app.manifest
EDD.ico
true
- 1.4.0
+ 1.4.1
Erik Darling
Darling Data LLC
Performance Studio
diff --git a/src/PlanViewer.App/Services/AdviceContentBuilder.cs b/src/PlanViewer.App/Services/AdviceContentBuilder.cs
index 60c971a..2c96e54 100644
--- a/src/PlanViewer.App/Services/AdviceContentBuilder.cs
+++ b/src/PlanViewer.App/Services/AdviceContentBuilder.cs
@@ -20,10 +20,10 @@ internal static class AdviceContentBuilder
private static readonly SolidColorBrush CriticalBrush = new(Color.Parse("#E57373"));
private static readonly SolidColorBrush WarningBrush = new(Color.Parse("#FFB347"));
private static readonly SolidColorBrush InfoBrush = new(Color.Parse("#6BB5FF"));
- private static readonly SolidColorBrush LabelBrush = new(Color.Parse("#9B9EC0"));
+ private static readonly SolidColorBrush LabelBrush = new(Color.Parse("#E4E6EB"));
private static readonly SolidColorBrush ValueBrush = new(Color.Parse("#E4E6EB"));
private static readonly SolidColorBrush CodeBrush = new(Color.Parse("#7BCF7B"));
- private static readonly SolidColorBrush MutedBrush = new(Color.Parse("#8B8FA0"));
+ private static readonly SolidColorBrush MutedBrush = new(Color.Parse("#E4E6EB"));
private static readonly SolidColorBrush OperatorBrush = new(Color.Parse("#C792EA"));
private static readonly SolidColorBrush SqlKeywordBrush = new(Color.Parse("#569CD6"));
private static readonly SolidColorBrush SeparatorBrush = new(Color.Parse("#2A2D35"));
diff --git a/src/PlanViewer.App/Themes/DarkTheme.axaml b/src/PlanViewer.App/Themes/DarkTheme.axaml
index 559f68f..1946f07 100644
--- a/src/PlanViewer.App/Themes/DarkTheme.axaml
+++ b/src/PlanViewer.App/Themes/DarkTheme.axaml
@@ -61,7 +61,7 @@
-
+