From 0b448dd409bbf9fc09bdd085c7bd9fe512f474ac Mon Sep 17 00:00:00 2001 From: Ben Martens Date: Wed, 28 Oct 2026 09:27:51 -0700 Subject: [PATCH 1/3] Automate README screenshot refresh Add an offline WinForms capture command and agent guidance, refresh screenshot.png, and allow SDK servicing patch roll-forward. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- AGENTS.md | 15 ++ CONTRIBUTING.md | 24 ++- README.md | 2 + .../Screenshots/ReadmeScreenshotTests.cs | 149 ++++++++++++++++++ global.json | 2 +- screenshot.png | Bin 98998 -> 26822 bytes scripts/Update-ReadmeScreenshot.ps1 | 95 +++++++++++ 7 files changed, 282 insertions(+), 5 deletions(-) create mode 100644 AGENTS.md create mode 100644 SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs create mode 100644 scripts/Update-ReadmeScreenshot.ps1 diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..681d173 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,15 @@ +# README screenshot + +The README embeds the root `screenshot.png`. Refresh it when requested or when visible main-window changes make the image stale (for example, picker layout, toolbar, comparison tree, diff display, or build label changes). + +On Windows, with PowerShell 7.2 or newer, a desktop session, and an SDK compatible with `global.json` (`10.0.402` or a newer servicing patch in the `10.0.4xx` feature band), run from the repository root: + +```powershell +pwsh -NoProfile -File .\scripts\Update-ReadmeScreenshot.ps1 +``` + +The command builds the current code and captures the real form with fixed fictional data. It does not connect to Kusto or read/write saved user settings. Keep those guarantees: never substitute real credentials, connections, schemas, or a full-desktop capture. No manual app setup is needed. + +Inspect the generated image before including `screenshot.png` with the relevant UI changes. Confirm the current build label, both pickers, expanded comparison, checked `CurrentTime` function, and red/yellow diff are visible. If capture is unavailable or fails, report that limitation rather than fabricating an image or claiming it was refreshed. Do not edit the image by hand or add automatic CI updates. + +See `CONTRIBUTING.md` for prerequisites and capture details. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1341c2a..34429c9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,10 +10,10 @@ or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any addi ## Building the project Dependencies: -- Windows and the .NET SDK version pinned in `global.json` (currently `10.0.402`). +- Windows and a .NET SDK compatible with `global.json`: `10.0.402` or a newer servicing patch in the `10.0.4xx` feature band. - For IDE development and the WinForms designer, a supported [Visual Studio 2026](https://visualstudio.microsoft.com/vs/) installation with the .NET desktop development workload. -Both build workflows install the pinned SDK and use its bundled NuGet client. SDK roll-forward and prerelease selection are disabled to keep local and CI dependency resolution aligned. +Both build workflows install the baseline SDK specified in `global.json`. Local and CI SDK resolution use `latestPatch`, selecting the newest installed servicing patch in that same feature band, and use its bundled NuGet client. Older SDKs, other feature bands, minor/major roll-forward, and prerelease versions are not allowed. Locked restores continue to enforce the reviewed dependency graph and package hashes. Local development: 1. Clone the Sync Kusto repo to your local machine @@ -35,6 +35,22 @@ The CI regression tests run offline; they do not validate live Kusto authenticat The main window shows a date-based build version in `Build YYYYMMDD` format (currently `Build 20261020`, for October 20, 2026). To update the displayed date, change `label2.Text` in `SyncKusto\MainForm.Designer.cs`. +### Refreshing the README screenshot + +On Windows, install PowerShell 7.2 or newer and an SDK compatible with `global.json`, then run: + +```powershell +pwsh -NoProfile -File .\scripts\Update-ReadmeScreenshot.ps1 +``` + +The script resolves the repository from its own location, so it also works when invoked by absolute path from another working directory. It performs a locked restore using your normal trusted NuGet configuration, builds the application and test project in Release, and runs only the explicitly selected screenshot fixture. Package restore may require network access; the capture itself is completely offline. + +The fixture opens the real main form without requesting activation, with in-memory settings and a fake presenter supplying a fictional modified `CurrentTime` function. It never uses live Kusto connections, credentials, saved settings, or schema files. Windows renders only that window, including its native rich-text diff; no desktop pixels or unrelated windows are captured. A Windows desktop session is required; this is not a browser or headless cross-platform renderer. + +The command replaces root `screenshot.png` only after capture succeeds and the PNG passes content and size checks. Capture has a timeout, and failures leave the existing image unchanged. Normal test runs do not regenerate the image, and no CI or scheduled regeneration is configured. + +Inspect the result before including it with your changes: the current build label, source and target pickers, expanded comparison, checked function, and red/yellow diff should be visible. The demo content and window dimensions are fixed, but native window chrome, fonts, and theme can vary between Windows environments; byte-identical output across machines is not guaranteed. Agents should follow the refresh guidance in `AGENTS.md`. + ### Dependency restore policy Local development and CI deliberately select sources differently: @@ -52,7 +68,7 @@ An approved mirror must supply packages matching the reviewed content hashes. Ch ### Updating dependencies -For an intentional dependency or framework update, change the relevant project references or target framework, then use the pinned SDK and approved configuration to regenerate locks locally: +For an intentional dependency or framework update, change the relevant project references or target framework, then use an SDK compatible with `global.json` and approved configuration to regenerate locks locally: ```powershell dotnet restore SyncKusto.sln --use-lock-file --force-evaluate @@ -62,7 +78,7 @@ This uses the same inherited local source settings as normal development. Depend Review all five lock files together with the project changes: explain every direct/transitive version change and unexpected hash change, and never hand-edit package hashes. To review a genuinely clean resolution, point `NUGET_PACKAGES` and `NUGET_HTTP_CACHE_PATH` at new disposable folders rather than clearing shared caches. -Repeat the normal locked restore, build, and appropriate offline tests; the reviewed locks must remain unchanged. Include the updated locks in the dependency-update commit. SDK servicing updates must deliberately update `global.json` and verify the locks with that SDK. Never delete locks, use `--force-evaluate`, or retry unlocked in CI to bypass a failure. +Repeat the normal locked restore, build, and appropriate offline tests; the reviewed locks must remain unchanged. Include the updated locks in the dependency-update commit. Servicing patches within the allowed feature band do not require editing `global.json`; raising the minimum SDK version or changing feature bands does. Verify the locks when changing the SDK, and never regenerate them just to accommodate a roll-forward failure. Never delete locks, use `--force-evaluate`, or retry unlocked in CI to bypass a failure. ## Maintainers Sync Kusto is lovingly maintained by: diff --git a/README.md b/README.md index 4faf293..85242b1 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ The Sync Kusto tool was built to help create a maintainable development process ![Screenshot](/screenshot.png) +To regenerate this image automatically, see [Refreshing the README screenshot](CONTRIBUTING.md#refreshing-the-readme-screenshot). + ## Scope This tool is intended specifically for the developer desktop scenario. It will not help if you need to build an automated syncing process, generate change scripts, sync policies, etc. For all of that, we recommend using [Delta Kusto](https://github.com/microsoft/delta-kusto). diff --git a/SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs b/SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs new file mode 100644 index 0000000..9040798 --- /dev/null +++ b/SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using Kusto.Data.Common; +using Moq; +using NUnit.Framework; +using SyncKusto.Abstractions; +using SyncKusto.Core.Abstractions; +using SyncKusto.Core.Models; +using SyncKusto.Core.Services; +using SyncKusto.ErrorHandling; +using SyncKusto.Kusto.Models; +using System.Drawing; +using System.Drawing.Imaging; +using System.Reflection; +using System.Runtime.InteropServices; +using static SyncKusto.Tests.Forms.FormsTestHelper; + +namespace SyncKusto.Tests.Screenshots; + +[TestFixture] +[Apartment(ApartmentState.STA)] +[NonParallelizable] +public class ReadmeScreenshotTests +{ + [Test] + [Explicit("Run scripts\\Update-ReadmeScreenshot.ps1 to refresh the README image.")] + public void Capture() + { + string? outputPath = Environment.GetEnvironmentVariable("SYNCKUSTO_SCREENSHOT_PATH"); + Assert.That(outputPath, Is.Not.Null.And.Not.Empty, "Use scripts\\Update-ReadmeScreenshot.ps1."); + Assert.That(Environment.UserInteractive, Is.True, "Screenshot capture requires a Windows desktop session."); + + Application.SetHighDpiMode(HighDpiMode.DpiUnaware); + Application.SetDefaultFont(new Font("Microsoft Sans Serif", 8.25f)); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + var source = new DatabaseSchema("demo-source", ""); + var target = new DatabaseSchema("demo-target", ""); + var current = CreateFunction("{\r\n print now(), Yesterday=ago(1d)\r\n}"); + source.Functions.Add(current.Name, current); + target.Functions.Add(current.Name, CreateFunction("{\r\n print now()\r\n}")); + var comparison = new ComparisonResult( + new SchemaDifferenceResult(Array.Empty(), + new[] { new FunctionSchemaDifference(new Modified(), new KustoFunctionSchema(current)) }), + source, target); + var presenter = new Mock(MockBehavior.Strict); + presenter.Setup(p => p.CompareAsync(It.IsAny(), It.IsAny(), + It.IsAny>(), default)).ReturnsAsync(comparison); + var settings = new InMemorySettingsProvider(); + var validation = new SchemaValidationService(settings); + var kustoValidation = new Mock(MockBehavior.Strict); + using var form = new CaptureForm(presenter.Object, settings, validation, kustoValidation.Object) + { + StartPosition = FormStartPosition.Manual, + Location = new Point(0, 0), + Size = new Size(655, 854), + ShowInTaskbar = false + }; + var sourcePicker = form.MainField("spcSource"); + Field(sourcePicker, "txtFilePath").Text = @"C:\Demo\Weather"; + var targetPicker = form.MainField("spcTarget"); + Field(targetPicker, "rbKusto").Checked = true; + Field(targetPicker, "cbCluster").Text = "https://demo.kusto.windows.net"; + Field(targetPicker, "cbDatabase").Text = "Weather"; + form.Show(); + + var compare = form.CompareSchemasAsync(sourcePicker.GetSourceInfo(), targetPicker.GetSourceInfo()); + PumpUntil(() => compare.IsCompleted); + compare.GetAwaiter().GetResult(); + var tree = form.MainField("tvComparison"); + tree.ExpandAll(); + var functionNode = tree.Nodes[0].Nodes[0].Nodes[0]; + functionNode.Checked = true; + tree.HideSelection = false; + tree.SelectedNode = functionNode; + typeof(MainForm).GetMethod("tvComparison_NodeMouseClick", BindingFlags.NonPublic | BindingFlags.Instance)! + .Invoke(form, new object[] { tree, new TreeNodeMouseClickEventArgs(functionNode, MouseButtons.Left, 1, 0, 0) }); + var diff = form.MainField("rtbSourceText"); + diff.SelectionStart = 0; + diff.SelectionLength = 0; + diff.ScrollToCaret(); + form.Refresh(); + Application.DoEvents(); + + Assert.That(form.Size, Is.EqualTo(new Size(655, 854))); + Assert.That(functionNode.Text, Is.EqualTo("CurrentTime")); + Assert.That(functionNode.Checked, Is.True); + Assert.That(diff.Text, Does.Contain("print now()").And.Contain("Yesterday=ago(1d)")); + Assert.That(form.MainField("btnUpdate").Enabled, Is.True); + presenter.Verify(p => p.CompareAsync(It.IsAny(), It.IsAny(), + It.IsAny>(), default), Times.Once); + presenter.VerifyNoOtherCalls(); + kustoValidation.VerifyNoOtherCalls(); + + using var bitmap = new Bitmap(form.Width, form.Height, PixelFormat.Format32bppArgb); + using (var graphics = Graphics.FromImage(bitmap)) + { + nint deviceContext = graphics.GetHdc(); + try + { + Assert.That(PrintWindow(form.Handle, deviceContext, 0), Is.True, "Windows could not render the demo window."); + } + finally + { + graphics.ReleaseHdc(deviceContext); + } + } + + // RichTextBox is not reliably rendered by Control.DrawToBitmap. + Assert.That(CountPixels(bitmap, Color.Red), Is.GreaterThan(500), "The deleted diff line was not captured."); + Assert.That(CountPixels(bitmap, Color.Yellow), Is.GreaterThan(500), "The inserted diff line was not captured."); + bitmap.Save(outputPath!, ImageFormat.Png); + using var saved = new Bitmap(outputPath!); + Assert.That(saved.Size, Is.EqualTo(bitmap.Size)); + } + + private static FunctionSchema CreateFunction(string body) => + new("CurrentTime", new List(), body, "", "", + FunctionSchema.FunctionKind.Unknown, Array.Empty()); + + private static int CountPixels(Bitmap bitmap, Color color) + { + int count = 0; + for (int y = 0; y < bitmap.Height; y++) + for (int x = 0; x < bitmap.Width; x++) + if (bitmap.GetPixel(x, y).ToArgb() == color.ToArgb()) + count++; + return count; + } + + private sealed class CaptureForm( + IMainFormPresenter presenter, + ISettingsProvider settings, + ISchemaValidationService validation, + IKustoValidationService kustoValidation) + : MainForm(presenter, ErrorMessageResolverFactory.CreateDefault(), settings, validation, kustoValidation) + { + protected override bool ShowWithoutActivation => true; + + public T MainField(string name) => + (T)typeof(MainForm).GetField(name, BindingFlags.NonPublic | BindingFlags.Instance)!.GetValue(this)!; + } + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool PrintWindow(nint window, nint deviceContext, uint flags); +} diff --git a/global.json b/global.json index e8a91cb..c591544 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { "version": "10.0.402", - "rollForward": "disable", + "rollForward": "latestPatch", "allowPrerelease": false } } diff --git a/screenshot.png b/screenshot.png index 96c6e1c80fe0bb4c52c3542bc4f59c98958bb228..326d1511bfc5a6c270797bbd4bff51740f08ae77 100644 GIT binary patch literal 26822 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 R*!fw$+jnm(-5T-ZKLKEOxr_h+ literal 98998 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 diff --git a/scripts/Update-ReadmeScreenshot.ps1 b/scripts/Update-ReadmeScreenshot.ps1 new file mode 100644 index 0000000..b470f58 --- /dev/null +++ b/scripts/Update-ReadmeScreenshot.ps1 @@ -0,0 +1,95 @@ +#Requires -Version 7.2 +<# +.SYNOPSIS +Builds SyncKusto and refreshes the README screenshot using fictional, offline data. +#> +[CmdletBinding()] +param() + +$ErrorActionPreference = 'Stop' +Set-StrictMode -Version Latest + +if (-not $IsWindows) { + throw 'Screenshot capture requires Windows and a desktop session.' +} + +$repoRoot = Split-Path -Parent $PSScriptRoot +$dotnet = (Get-Command dotnet -CommandType Application -ErrorAction Stop | Select-Object -First 1).Source +$temporaryDirectory = Join-Path ([System.IO.Path]::GetTempPath()) ("synckusto-screenshot-" + [guid]::NewGuid().ToString('N')) +$stagingPath = Join-Path $repoRoot (".screenshot-" + [guid]::NewGuid().ToString('N') + '.png') + +Push-Location $repoRoot +try { + $requiredSdk = (Get-Content -LiteralPath 'global.json' -Raw | ConvertFrom-Json).sdk.version + $actualSdk = & $dotnet --version + if ($LASTEXITCODE -ne 0) { + throw "Install a .NET SDK compatible with global.json ($requiredSdk or a newer servicing patch in the same feature band) and ensure dotnet can find it." + } + Write-Verbose "Using .NET SDK $actualSdk." + + & $dotnet restore SyncKusto.sln --locked-mode --verbosity quiet + if ($LASTEXITCODE -ne 0) { throw 'Locked dependency restore failed. The existing screenshot was not changed.' } + & $dotnet build SyncKusto.Tests\SyncKusto.Tests.csproj --configuration Release --no-restore --verbosity quiet + if ($LASTEXITCODE -ne 0) { throw 'Build failed. The existing screenshot was not changed.' } + + [System.IO.Directory]::CreateDirectory($temporaryDirectory) | Out-Null + $capturePath = Join-Path $temporaryDirectory 'screenshot.png' + $startInfo = [System.Diagnostics.ProcessStartInfo]::new($dotnet) + $startInfo.UseShellExecute = $false + $startInfo.WorkingDirectory = $repoRoot + foreach ($argument in @( + 'test', 'SyncKusto.Tests\SyncKusto.Tests.csproj', + '--configuration', 'Release', '--no-build', '--no-restore', + '--filter', 'FullyQualifiedName=SyncKusto.Tests.Screenshots.ReadmeScreenshotTests.Capture', + '--results-directory', $temporaryDirectory, + '--', 'RunConfiguration.TreatNoTestsAsError=true', 'NUnit.ExplicitMode=Strict' + )) { + $startInfo.ArgumentList.Add($argument) + } + $startInfo.Environment['SYNCKUSTO_SCREENSHOT_PATH'] = $capturePath + $process = [System.Diagnostics.Process]::Start($startInfo) + try { + if (-not $process.WaitForExit(120000)) { + $process.Kill($true) + $process.WaitForExit() + throw 'Screenshot capture timed out. The existing screenshot was not changed.' + } + if ($process.ExitCode -ne 0) { + throw 'Screenshot capture failed. The existing screenshot was not changed.' + } + } + finally { + $process.Dispose() + } + + $png = [System.IO.File]::ReadAllBytes($capturePath) + if ($png.Length -lt 24 -or + [Convert]::ToHexString($png[0..7]) -ne '89504E470D0A1A0A' -or + [System.Text.Encoding]::ASCII.GetString($png, 12, 4) -ne 'IHDR') { + throw 'Capture did not produce a valid PNG. The existing screenshot was not changed.' + } + $width = [Convert]::ToInt32([Convert]::ToHexString([byte[]]$png[16..19]), 16) + $height = [Convert]::ToInt32([Convert]::ToHexString([byte[]]$png[20..23]), 16) + if ($width -ne 655 -or $height -ne 854) { + throw "Unexpected screenshot dimensions: ${width}x${height}. The existing screenshot was not changed." + } + + [System.IO.File]::Copy($capturePath, $stagingPath) + $destination = Join-Path $repoRoot 'screenshot.png' + if (Test-Path -LiteralPath $destination) { + [System.IO.File]::Replace($stagingPath, $destination, [NullString]::Value) + } + else { + [System.IO.File]::Move($stagingPath, $destination) + } + Write-Host "Updated $destination" +} +finally { + if (Test-Path -LiteralPath $stagingPath) { + Remove-Item -LiteralPath $stagingPath -Force + } + if (Test-Path -LiteralPath $temporaryDirectory) { + Remove-Item -LiteralPath $temporaryDirectory -Recurse -Force + } + Pop-Location +} From f319112fe96ad29185038095dcb588c50181256a Mon Sep 17 00:00:00 2001 From: Ben Martens Date: Thu, 29 Oct 2026 10:46:15 -0700 Subject: [PATCH 2/3] Hide build version in README screenshots Keep production version display unchanged and document screenshot-only omission. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- AGENTS.md | 4 ++-- CONTRIBUTING.md | 4 +++- .../Screenshots/ReadmeScreenshotTests.cs | 2 ++ screenshot.png | Bin 26822 -> 26290 bytes 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 681d173..446b18b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # README screenshot -The README embeds the root `screenshot.png`. Refresh it when requested or when visible main-window changes make the image stale (for example, picker layout, toolbar, comparison tree, diff display, or build label changes). +The README embeds the root `screenshot.png`. Refresh it when requested or when visible main-window changes make the image stale (for example, picker layout, toolbar, comparison tree, or diff display). Screenshots intentionally omit the entire build-version label; build-label changes alone do not require a refresh. On Windows, with PowerShell 7.2 or newer, a desktop session, and an SDK compatible with `global.json` (`10.0.402` or a newer servicing patch in the `10.0.4xx` feature band), run from the repository root: @@ -10,6 +10,6 @@ pwsh -NoProfile -File .\scripts\Update-ReadmeScreenshot.ps1 The command builds the current code and captures the real form with fixed fictional data. It does not connect to Kusto or read/write saved user settings. Keep those guarantees: never substitute real credentials, connections, schemas, or a full-desktop capture. No manual app setup is needed. -Inspect the generated image before including `screenshot.png` with the relevant UI changes. Confirm the current build label, both pickers, expanded comparison, checked `CurrentTime` function, and red/yellow diff are visible. If capture is unavailable or fails, report that limitation rather than fabricating an image or claiming it was refreshed. Do not edit the image by hand or add automatic CI updates. +Inspect the generated image before including `screenshot.png` with the relevant UI changes. Confirm the build-version label is absent and both pickers, expanded comparison, checked `CurrentTime` function, and red/yellow diff are visible. If capture is unavailable or fails, report that limitation rather than fabricating an image or claiming it was refreshed. Do not edit the image by hand or add automatic CI updates. See `CONTRIBUTING.md` for prerequisites and capture details. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 34429c9..59cd717 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,9 +47,11 @@ The script resolves the repository from its own location, so it also works when The fixture opens the real main form without requesting activation, with in-memory settings and a fake presenter supplying a fictional modified `CurrentTime` function. It never uses live Kusto connections, credentials, saved settings, or schema files. Windows renders only that window, including its native rich-text diff; no desktop pixels or unrelated windows are captured. A Windows desktop session is required; this is not a browser or headless cross-platform renderer. +Screenshots intentionally omit the entire build-version label, regardless of its value. This is limited to the capture fixture and does not change the production UI. Build-label changes alone do not require refreshing the screenshot. + The command replaces root `screenshot.png` only after capture succeeds and the PNG passes content and size checks. Capture has a timeout, and failures leave the existing image unchanged. Normal test runs do not regenerate the image, and no CI or scheduled regeneration is configured. -Inspect the result before including it with your changes: the current build label, source and target pickers, expanded comparison, checked function, and red/yellow diff should be visible. The demo content and window dimensions are fixed, but native window chrome, fonts, and theme can vary between Windows environments; byte-identical output across machines is not guaranteed. Agents should follow the refresh guidance in `AGENTS.md`. +Inspect the result before including it with your changes: the build-version label should be absent, and the source and target pickers, expanded comparison, checked function, and red/yellow diff should be visible. The demo content and window dimensions are fixed, but native window chrome, fonts, and theme can vary between Windows environments; byte-identical output across machines is not guaranteed. Agents should follow the refresh guidance in `AGENTS.md`. ### Dependency restore policy diff --git a/SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs b/SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs index 9040798..66a49b7 100644 --- a/SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs +++ b/SyncKusto.Tests/Screenshots/ReadmeScreenshotTests.cs @@ -64,6 +64,7 @@ public void Capture() Field(targetPicker, "rbKusto").Checked = true; Field(targetPicker, "cbCluster").Text = "https://demo.kusto.windows.net"; Field(targetPicker, "cbDatabase").Text = "Weather"; + form.MainField

&IDZ-u9k7dq2FXI=G`E0_7r#AV!{P)2#7 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 R*!fw$+jnm(-5T-ZKLKEOxr_h+ From 0616233250c2b55fed77a6984628c8517b0beda0 Mon Sep 17 00:00:00 2001 From: Ben Martens Date: Mon, 2 Nov 2026 08:22:16 -0800 Subject: [PATCH 3/3] Align screenshot SDK requirements with relaxed pinning Preserve the latestFeature policy approved in PR #75 and align screenshot contributor guidance. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- AGENTS.md | 2 +- CONTRIBUTING.md | 8 ++++---- global.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 446b18b..fec5731 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ The README embeds the root `screenshot.png`. Refresh it when requested or when visible main-window changes make the image stale (for example, picker layout, toolbar, comparison tree, or diff display). Screenshots intentionally omit the entire build-version label; build-label changes alone do not require a refresh. -On Windows, with PowerShell 7.2 or newer, a desktop session, and an SDK compatible with `global.json` (`10.0.402` or a newer servicing patch in the `10.0.4xx` feature band), run from the repository root: +On Windows, with PowerShell 7.2 or newer, a desktop session, and an SDK compatible with `global.json` (a stable .NET 10.0 SDK at or above `10.0.402`), run from the repository root: ```powershell pwsh -NoProfile -File .\scripts\Update-ReadmeScreenshot.ps1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 59cd717..f6d67d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,10 +10,10 @@ or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any addi ## Building the project Dependencies: -- Windows and a .NET SDK compatible with `global.json`: `10.0.402` or a newer servicing patch in the `10.0.4xx` feature band. +- Windows and a stable .NET 10 SDK at or above the minimum in `global.json` (currently `10.0.402`). - For IDE development and the WinForms designer, a supported [Visual Studio 2026](https://visualstudio.microsoft.com/vs/) installation with the .NET desktop development workload. -Both build workflows install the baseline SDK specified in `global.json`. Local and CI SDK resolution use `latestPatch`, selecting the newest installed servicing patch in that same feature band, and use its bundled NuGet client. Older SDKs, other feature bands, minor/major roll-forward, and prerelease versions are not allowed. Locked restores continue to enforce the reviewed dependency graph and package hashes. +Local builds select the highest installed stable .NET 10.0 SDK at or above that minimum using `rollForward: latestFeature`. Newer patches and feature bands are accepted; prerelease SDKs and SDKs from later major versions are not. Both build workflows install the latest stable `10.0.x` SDK and use its bundled NuGet client. Local development: 1. Clone the Sync Kusto repo to your local machine @@ -70,7 +70,7 @@ An approved mirror must supply packages matching the reviewed content hashes. Ch ### Updating dependencies -For an intentional dependency or framework update, change the relevant project references or target framework, then use an SDK compatible with `global.json` and approved configuration to regenerate locks locally: +For an intentional dependency or framework update, change the relevant project references or target framework, then use a supported SDK selected by `global.json` and approved configuration to regenerate locks locally: ```powershell dotnet restore SyncKusto.sln --use-lock-file --force-evaluate @@ -80,7 +80,7 @@ This uses the same inherited local source settings as normal development. Depend Review all five lock files together with the project changes: explain every direct/transitive version change and unexpected hash change, and never hand-edit package hashes. To review a genuinely clean resolution, point `NUGET_PACKAGES` and `NUGET_HTTP_CACHE_PATH` at new disposable folders rather than clearing shared caches. -Repeat the normal locked restore, build, and appropriate offline tests; the reviewed locks must remain unchanged. Include the updated locks in the dependency-update commit. Servicing patches within the allowed feature band do not require editing `global.json`; raising the minimum SDK version or changing feature bands does. Verify the locks when changing the SDK, and never regenerate them just to accommodate a roll-forward failure. Never delete locks, use `--force-evaluate`, or retry unlocked in CI to bypass a failure. +Repeat the normal locked restore, build, and appropriate offline tests; the reviewed locks must remain unchanged. Include the updated locks in the dependency-update commit. Compatible SDK servicing and feature-band updates do not require editing `global.json`; change it only when intentionally changing the minimum SDK or supported SDK line. SDK changes can affect dependency resolution, so a newer SDK must still pass locked restore, build, and tests. Investigate lock conflicts rather than automatically regenerating locks. Never delete locks, use `--force-evaluate`, or retry unlocked in CI to bypass a failure. ## Maintainers Sync Kusto is lovingly maintained by: diff --git a/global.json b/global.json index c591544..6916a33 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { "version": "10.0.402", - "rollForward": "latestPatch", + "rollForward": "latestFeature", "allowPrerelease": false } }