Add flaky-test detection and auto-fix agentic workflows - #13915
Conversation
Introduce a GitHub Agentic Workflows (gh-aw) system that detects flaky tests in msbuild's public CI and tracks/fixes them: - flaky-test-detector skill: Get-FlakyTests.ps1 scans recent failed builds on the public dnceng-public pipeline (def 75) anonymously, using an evidence-source model (approved non-draft PRs on main UNION rolling main builds). A test failing across >= MinSources distinct sources is flagged. - flaky-test-detector.agent.md: daily scheduled triage that files/updates flaky-test tracking issues and dispatches the fixer (capped). - flaky-test-fix.agent.md: dispatched fixer that re-verifies, attempts a gated local reproduction, and opens a single draft PR with either a minimal determinism fix or a quarantine (Skip). Never touches .github/**. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🔍 Skill Validator Results
Summary
Full validator output```text Found 1 skill(s) [flaky-test-detector] 📊 flaky-test-detector: 3,457 BPE tokens [chars/4: 3,346] (standard ~), 13 sections, 5 code blocks [flaky-test-detector] ⚠ Skill is 3,457 BPE tokens (chars/4 estimate: 3,346) — approaching "comprehensive" range where gains diminish. ✅ All checks passed (1 skill(s)) ``` |
There was a problem hiding this comment.
Pull request overview
This PR introduces an opt-in, agentic automation system (via GitHub Agentic Workflows / gh-aw) to detect flaky tests from public Azure DevOps CI signals, file/update flaky-test tracking issues, and (for strong candidates) dispatch a fixer workflow that opens a single draft PR containing either a minimal determinism fix or a quarantine (Skip).
Changes:
- Add a scheduled “Flaky Test Detector” workflow that runs daily, produces/consumes a structured flaky-test JSON report, and files/updates issues + optionally dispatches a fixer.
- Add a dispatched “Flaky Test Fix” workflow that re-verifies flakiness, attempts local reproduction, and opens at most one draft PR.
- Add a
flaky-test-detectorskill and PowerShell implementation that scans anonymous AzDO APIs + TRX artifacts to aggregate failures by “distinct evidence sources”.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/flaky-test-fix.agent.md | gh-aw workflow definition + agent prompt for dispatched fixer. |
| .github/workflows/flaky-test-fix.agent.lock.yml | Compiled gh-aw lock file for fixer workflow. |
| .github/workflows/flaky-test-detector.agent.md | gh-aw workflow definition + agent prompt for scheduled detector/triage. |
| .github/workflows/flaky-test-detector.agent.lock.yml | Compiled gh-aw lock file for detector workflow. |
| .github/skills/flaky-test-detector/SKILL.md | Skill documentation describing the evidence-source model + conventions. |
| .github/skills/flaky-test-detector/scripts/Get-FlakyTests.ps1 | Detector implementation: fetch failed builds, download TRX artifacts, aggregate evidence, emit JSON report. |
Copilot's findings
- Files reviewed: 6/6 changed files
- Comments generated: 5
There was a problem hiding this comment.
Expert Code Review — Flaky Test Detector
Overall assessment: Well-designed PR — solid security posture, clear documentation, good separation of concerns.
Strengths
- Security hardening is excellent: DTD processing prohibited,
XmlResolver = nullon XML parsing, zip PK-header validation, size caps on artifacts/TRX files,$MaxTrxPerArtifactlimit, artifact name sanitization for paths, and proper[uri]::EscapeDataStringfor URL construction. - The evidence-source model (collapsing PR builds, treating rolling builds independently) is well-reasoned and clearly documented.
- Temp directory cleanup in a
finallyblock ensures no orphaned files. - The
scanCompleteguard (propagated to callers via JSON) is a good design for preventing action on incomplete data. - Workflow agent definitions follow the existing repo patterns (PAT pool selection, network allowlist, etc.) and are consistent with
review.agent.md. - SKILL.md is thorough and well-structured — excellent reference for future maintainers.
Issues Found (see inline)
ReadAllBytesfor 2-byte header check — allocates potentially 200MB per artifact just to read 2 bytes. Use a stream.$scanCompletefalse-negative — relies on$buildsResponse.countwhich may be absent from AzDo API responses, silently marking truncated scans as complete.Substring(0, 10)on external data — minor robustness concern on theGet-BuildDatehelper.
Not Flagged (positive notes)
- No MSBuild engine code is modified — no backwards compat, ChangeWave, or API surface concerns.
- Lock files are auto-generated and consistent with the
.mddefinitions. - Permissions are appropriately scoped (read-only for the detector, broader for the fixer which needs to create PRs).
- The
excluded-files: [".github/**"]in the fixer workflow'screate-pull-requestconfig is a good defense-in-depth measure.
Note
🔒 Integrity filter blocked 2 items
The following items were blocked because they don't meet the GitHub integrity level.
- #13915
pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved". - #13915
pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
tools:
github:
min-integrity: approved # merged | approved | unapproved | noneGenerated by Expert Code Review (on open) for issue #13915 · ● 17.8M
…cheduled probe
Switch the flaky-test auto-fixer's quarantine mechanism from [Fact(Skip=...)]
to Arcade's [ActiveIssue(...)] (Microsoft.DotNet.XUnitV3Extensions), and add a
scheduled AzDO pipeline that re-runs only the quarantined tests so they keep
producing pass/fail signal instead of going dark.
- src/Directory.Build.targets: make the existing --filter-not-trait
Category=failing exclusion conditional on RunQuarantinedTests. When that
property is true, flip to --filter-trait Category=failing --ignore-exit-code
8;2 to run ONLY quarantined tests and tolerate exit 8 (zero tests) / 2
(failures). Normal CI behavior is unchanged when the property is unset.
- azure-pipelines/quarantine.yml: new twice-daily (cron "0 8,20 * * *", main,
always:true) Windows pipeline mirroring the CI Windows Full job; passes
/p:RunQuarantinedTests=true and publishes TRX + logs.
- flaky-test-fix / flaky-test-detector workflows + detector SKILL: quarantine
guidance now uses additive [ActiveIssue("<issue-url>")] (keep the test body),
strongly preferring the unconditional form since the probe is Windows-only.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Mirror the per-OS test legs of .vsts-dotnet-ci.yml so platform-scoped [ActiveIssue] quarantines are re-validated on the matching platform. The Linux/macOS legs forward /p:RunQuarantinedTests=true via --stage2Properties to the stage2 -test build. Softens the Windows-only quarantine caveats in the fixer prompt and SKILL accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Get-FlakyTests.ps1: fix scanComplete truncation guard (drop unreliable buildsResponse.count; treat a full \ page as potentially truncated); read only the zip's 2-byte PK header via a stream instead of ReadAllBytes; harden Get-BuildDate against short startTime strings; correct the Write-Log stream comment. - flaky-test-detector.agent.md: describe output stream-agnostically. - flaky-test-fix.agent.md: add an allowed-files allowlist (src/**/*.cs) so the fixer PR can only touch test sources, reliably blocking edits to NuGet.config and other root manifests regardless of filename casing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the dispatch-a-fixer-per-test model with a single daily workflow that scans CI, files/updates tracking issues, then reproduces/fixes-or-quarantines each new candidate and opens one combined draft PR per run. - flaky-test-detector.agent.md: rename to "Flaky Test Triage and Fix"; drop dispatch-workflow; add create-pull-request (max 1, draft, base main, allowed-files src/**/*.cs, excluded .github/**); bash [:*] + github [repos,issues,pull_requests]; timeout 120. New Steps 5-9 select candidates (open issue only; skip tests already in an open PR or already quarantined; cap 8), build once, fix top 3 / quarantine the rest, validate (git-diff allowlist + compile changed projects + pre-PR race re-check), open one combined PR (Fixes # for fixes, Tracked by # for quarantines). - Delete flaky-test-fix.agent.md and its lock; recompile detector lock. - SKILL.md: collapse Related Workflows to the single combined workflow. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The open combined PR is the only guard against re-quarantining a test whose previous-run quarantine is still unmerged (it lives on the PR branch, not main). Replace the fuzzy 'gh pr list --search ... in:body' (which strips HTML-comment punctuation) with a single label-scoped fetch of open flaky-test PR bodies and an exact local string match of each test's marker, in both Step 5 selection and the Step 8 pre-PR re-check. Body-only change; lock runtime-imports the body so no recompile needed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… do) gh-aw's noop safe-output defaults to report-as-issue: true, so every quiet run (incomplete scan, no flakes, or all candidates already tracked/in an open PR) would file a GitHub issue. Set noop.report-as-issue: false so a no-op run is still logged in the run summary for debuggability but creates no issue noise. Recompiled the lock (GH_AW_NOOP_REPORT_AS_ISSUE: false). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The scheduled quarantine pipeline (RunQuarantinedTests=true) runs only the flaky/quarantined tests to collect pass/fail signal via repeated execution. Coverage instrumentation adds overhead and can perturb timing-sensitive flakes, so gate the non-Windows --coverage args off RunQuarantinedTests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Rewrite Step 7 to screen all selected candidates for reproducibility concurrently (xargs -P 4) using the prebuilt test assembly directly instead of 'dotnet test', which avoids the non-Windows --coverage injection and lets many loops run without coverage-file contention. Fixes are then authored sequentially for up to the 5 strongest reproducers, time-boxed. Incorporates review hardening: - per-iteration 'timeout' (hang -> status=timeout, excluded, not quarantined) - dll-existence check (-> status=setup-error, not misread as a failing test) - fully-qualified --filter-method (Namespace.Class.Method) to avoid matching a same-named method in another class - sequential pre-fix re-confirmation alone, since parallel CPU/child-process pressure can induce false flakes - rebuild the edited project before post-fix validation (no stale binaries) - clear /tmp/repro and use sanitized result-file ids Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… flaky tests Reuse the existing detector against quarantine pipeline definition 344 instead of a separate reader. Add an opt-in -IncludePassed mode to Get-FlakyTests.ps1 that records passing observations (not just failures), queries all completed builds, and emits a passedTests aggregate. Wire the daily workflow to un-quarantine consistently-green tests and re-fix still-flaky quarantined ones, folded into the same combined draft PR with independent caps. Document the quarantine-health data model and un-quarantine criteria in SKILL.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…gration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s stage-2-only The unquoted '-stage2Properties /mt /p:RunQuarantinedTests=true' bound only /mt to stage2Properties; /p:RunQuarantinedTests=true fell through to the script's ValueFromRemainingArguments \ and was applied to both the stage 1 and stage 2 builds, defeating stage-2 isolation. Single-quoting the value (matching the Linux/macOS bash legs) keeps both tokens inside -stage2Properties so they are only appended to the stage 2 test build. Verified the single-quote form survives the cmd -> powershell -Command wrapper. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…hell-split on Unix (#13918) ## Problem The scheduled quarantine pipeline ([`azure-pipelines/quarantine.yml`](https://dev.azure.com/dnceng-public/public/_build?definitionId=344), definition 344) failed on its first real run — [build 1445333](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1445333) — on the Linux and macOS legs with: ``` error MSB3073: The command "echo ... --ignore-exit-code 8;2 --results-directory ..." exited with code 127. ``` ## Root cause `RunQuarantinedTests=true` adds `--ignore-exit-code 8;2` to the xUnit v3 test command (so a quarantined-only run treats exit code `8` = zero tests ran and `2` = test failures as success — the per-test signal is the published TRX, not the exit code). Arcade's `XUnitV3.Runner.targets` assembles the command and runs it via `<Exec>`, which on non-Windows executes through `/bin/sh`. The **unquoted `;`** was interpreted by the shell as a command separator, splitting the line into: 1. `<runner> ... --ignore-exit-code 8` 2. `2 --results-directory ...` The second fragment starts with the token `2`, which is not a command, so the step failed with exit code **127** (command not found). ## Fix Quote the value: `--ignore-exit-code "8;2"`. This keeps `8;2` as a single argument on both `/bin/sh` and `cmd`. `8;2` is the correct semicolon-separated multi-code syntax for Microsoft.Testing.Platform; only the shell-level quoting was missing. Verified the parse through `/bin/sh`: - unquoted -> `2: command not found` - quoted -> `--ignore-exit-code` receives a single arg `8;2` Windows was unaffected (`cmd` does not treat `;` as a command separator), but the quoted form is correct on both. Follow-up to #13915. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Updated [Azure.Bicep.Types.Az](https://github.com/Azure/bicep-types-az) from 0.2.911 to 0.2.923. <details> <summary>Release notes</summary> _Sourced from [Azure.Bicep.Types.Az's releases](https://github.com/Azure/bicep-types-az/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/Azure/bicep-types-az/commits). </details> Updated [Azure.Deployments.Templates](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments) from 1.683.0 to 1.765.0. <details> <summary>Release notes</summary> _Sourced from [Azure.Deployments.Templates's releases](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments/tags)._ No release notes found for this version range. Commits viewable in [compare view](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments/commits). </details> Updated [Google.Protobuf](https://github.com/protocolbuffers/protobuf) from 3.35.1 to 3.36.1. <details> <summary>Release notes</summary> _Sourced from [Google.Protobuf's releases](https://github.com/protocolbuffers/protobuf/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/protocolbuffers/protobuf/commits). </details> Updated [Grpc.AspNetCore.Server.Reflection](https://github.com/grpc/grpc-dotnet) from 2.80.0 to 2.83.0. <details> <summary>Release notes</summary> _Sourced from [Grpc.AspNetCore.Server.Reflection's releases](https://github.com/grpc/grpc-dotnet/releases)._ ## 2.83.0 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 * Update versions for stable release 2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2750 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0 ## 2.83.0-pre1 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0-pre1 Commits viewable in [compare view](https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0). </details> Updated [Grpc.Net.Client](https://github.com/grpc/grpc-dotnet) from 2.76.0 to 2.83.0. <details> <summary>Release notes</summary> _Sourced from [Grpc.Net.Client's releases](https://github.com/grpc/grpc-dotnet/releases)._ ## 2.83.0 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 * Update versions for stable release 2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2750 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0 ## 2.83.0-pre1 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0-pre1 ## 2.80.0 ## What's Changed * Update .NET 10, System.CommandLine 2.0.0, fix warnings by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2677 * Fix System.CommandLine 2.0.0 Uri parsing in GrpcClient benchmark app by @ilonatommy in https://github.com/grpc/grpc-dotnet/pull/2695 * Implement GrpcServiceEndpointConventionBuilder.Finally by @halter73 in https://github.com/grpc/grpc-dotnet/pull/2693 * Bump axios from 1.11.0 to 1.12.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2669 * Bump webpack from 5.101.0 to 5.105.0 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2689 * Bump lodash from 4.17.21 to 4.17.23 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2687 * Bump glob from 10.4.5 to 10.5.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2679 * Bump basic-ftp from 5.0.5 to 5.2.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2698 * Bump serialize-javascript and terser-webpack-plugin in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2699 * Bump minimatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2700 * Bump axios from 1.12.2 to 1.13.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2701 * Bump js-yaml in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2702 * Handle Trailers-Only OK responses in streaming calls without exception handling by @michaelmccord in https://github.com/grpc/grpc-dotnet/pull/2697 * Bump picomatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2703 * Implement v1 reflection service and clean up integration by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2704 * Bump brace-expansion in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2706 * Fix flaky PickAsync_UpdateAddressesWhileRequestingConnection_DoesNotDeadlock test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2705 * Bump Tools Version prep for release v2.80.0 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2707 * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2711 * Rel (v1.80.0) Prep for stable release by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2723 ## New Contributors * @ilonatommy made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2695 * @halter73 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2693 * @michaelmccord made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2697 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.80.0 ## 2.80.0-pre1 ## What's Changed * Update .NET 10, System.CommandLine 2.0.0, fix warnings by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2677 * Fix System.CommandLine 2.0.0 Uri parsing in GrpcClient benchmark app by @ilonatommy in https://github.com/grpc/grpc-dotnet/pull/2695 * Implement GrpcServiceEndpointConventionBuilder.Finally by @halter73 in https://github.com/grpc/grpc-dotnet/pull/2693 * Bump axios from 1.11.0 to 1.12.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2669 * Bump webpack from 5.101.0 to 5.105.0 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2689 * Bump lodash from 4.17.21 to 4.17.23 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2687 * Bump glob from 10.4.5 to 10.5.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2679 * Bump basic-ftp from 5.0.5 to 5.2.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2698 * Bump serialize-javascript and terser-webpack-plugin in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2699 * Bump minimatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2700 * Bump axios from 1.12.2 to 1.13.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2701 * Bump js-yaml in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2702 * Handle Trailers-Only OK responses in streaming calls without exception handling by @michaelmccord in https://github.com/grpc/grpc-dotnet/pull/2697 * Bump picomatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2703 * Implement v1 reflection service and clean up integration by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2704 * Bump brace-expansion in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2706 * Fix flaky PickAsync_UpdateAddressesWhileRequestingConnection_DoesNotDeadlock test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2705 * Bump Tools Version prep for release v2.80.0 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2707 * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2711 ## New Contributors * @ilonatommy made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2695 * @halter73 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2693 * @michaelmccord made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2697 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.80.0-pre1 Commits viewable in [compare view](https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.83.0). </details> Updated [JsonDiffPatch.Net](https://github.com/wbish/jsondiffpatch.net) from 2.3.0 to 2.5.0. <details> <summary>Release notes</summary> _Sourced from [JsonDiffPatch.Net's releases](https://github.com/wbish/jsondiffpatch.net/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/wbish/jsondiffpatch.net/commits). </details> Updated [Microsoft.Build.Framework](https://github.com/dotnet/msbuild) from 18.8.2 to 18.10.1. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Framework's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.10.1 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13103 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13796 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13902 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13903 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13909 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13986 * Add vs18.9 to merge-flow config; retire vs18.3 by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14214 * Bump labeler-cache-retention to use issue-labeler v2.1.0 by @jeffhandley in https://github.com/dotnet/msbuild/pull/14171 * Bump main to 18.10.0 after vs18.9 snap by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14216 * Improve release skill: Phase 2 DARC rules, VMR backflow, deterministic baseline by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14220 * Determinize release: hardcode OptProf baseline + Phase 3.2 baseline resolver by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14222 * Serialize BuildRequestConfiguration.RequestedTargets to fix solution metaproject MSB4057 in parallel builds by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14223 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14203 * Core support for AbsolutePath/FileInfo/DirectoryInfo and ITaskItem<T> as task parameters by @baronfel in https://github.com/dotnet/msbuild/pull/13971 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14206 * Fix existence cache kind poisoning by @AlesProkop in https://github.com/dotnet/msbuild/pull/14249 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14226 * Don't disable the MSBuild server for /mt builds when node reuse is off by @AR-May in https://github.com/dotnet/msbuild/pull/14248 * Enhance expert reviewer guidelines with additional checks. by @AR-May in https://github.com/dotnet/msbuild/pull/14255 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14253 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14268 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14267 * Bump github/gh-aw-actions/setup from 0.81.6 to 0.82.2 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14266 * Avoid boxing the struct enumerator in PropertyDictionary<T>.GetEnumerator() by @nareshjo in https://github.com/dotnet/msbuild/pull/14272 * Refresh copy marker when implementation output changes by @AlesProkop in https://github.com/dotnet/msbuild/pull/14231 * Send task-host build process environment as delta by @OvesN in https://github.com/dotnet/msbuild/pull/14126 * Add regression coverage for metadata newline preservation by @VolPlita in https://github.com/dotnet/msbuild/pull/14261 * Fix EmbedInBinlog items with relative paths from child projects by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13990 * Stop requiring VersionPrefix updates in servicing - insert prerelease versions to VS by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14277 * Fix WriteLinesToFile rewriting unchanged file when custom encoding is used by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/14146 * Enable trim/AOT analyzers for Microsoft.Build and clean up annotations by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/14064 * [automated] Merge branch 'vs18.9' => 'main' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/14291 * Fix MicroBuild plugin feed URL to use allowed pkgs.dev.azure.com format by @AlesProkop in https://github.com/dotnet/msbuild/pull/14295 * Pass ExcludeRestorePackageImports during restore to avoid redundant evaluations by @ViktorHofer with @Copilot in https://github.com/dotnet/msbuild/pull/14274 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13988 * Adopt Clever Test Selection (CTS) as parallel, non-blocking PR pipeline by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/14212 * Harden exceptions when connecting to server by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14292 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13886 * Fix MSBuild Server client dropping build result under WaitAny race (#14172) by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14251 * Partially revert #13660: remove NuGet RestoreTask transient TaskHost workaround by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14297 * Disable daily AI credits guardrail for Expert Code Review workflow by @JanProvaznik with @Copilot in https://github.com/dotnet/msbuild/pull/14314 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14614733 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/14246 * Add opt-in partial (stop-after-pass) project evaluation by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14290 * Use partial evaluation for -getProperty/-getItem without a target by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14296 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14324 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14333 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14330 * Bump github/gh-aw-actions/setup from 0.82.2 to 0.82.8 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14328 * Restrict partial evaluation to ProjectInstance by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14340 ... (truncated) ## 18.9.6 ## What's Changed * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13793 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13859 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13858 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13863 * CsWin32 follow-up: CLR metadata + TypeLib interop migration by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13853 * Update vmr-sb-validation.yml for Azure Pipelines by @meghnave in https://github.com/dotnet/msbuild/pull/13871 * Test: keep shell alive 15s in ToolTaskCanChangeCanonicalErrorFormat (#13734) by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13878 * Add vs18.8 to merge-flow config by @OvesN in https://github.com/dotnet/msbuild/pull/13877 * Stable branding for 18.8 release by @OvesN in https://github.com/dotnet/msbuild/pull/13883 * Bump main to 18.9.0 after vs18.8 snap by @OvesN in https://github.com/dotnet/msbuild/pull/13880 * Avoid checkout in insertion pipeline by @rainersigwald in https://github.com/dotnet/msbuild/pull/13887 * Report actual launch path in MSB4216 for Runtime="NET" task host by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13889 * Migrate Tlblmp and AxImp to Multithreaded Execution by @AlesProkop in https://github.com/dotnet/msbuild/pull/13708 * Replace ErrorUtilities assertion methods with Assumed API and BCL throw helpers by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13790 * Fix CLR_E_SHIM_RUNTIMELOAD in RAR's IMetaDataDispenser activation by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13899 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13905 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13907 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13910 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13908 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13906 * Fix ToolTask output loss: increase EOF pipe timeout from 2s to 30s by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13767 * Improve symlink cycle condition by @GangWang01 in https://github.com/dotnet/msbuild/pull/13901 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13904 * Add flaky-test detection and auto-fix agentic workflows by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13915 * Quote --ignore-exit-code values so the quarantine pipeline does not shell-split on Unix by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13918 * Fix flaky-test detector PR-evidence loss and raise scan limits by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13919 * Tighten the pr review agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13921 * Add environment variables for governance detection by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13920 * Change IsPackable to true and add IsShipping flag by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13924 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13911 * Make flaky detector verify recurrence postdates the fix before commenting by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13930 * Fix AbsolutePath.GetCanonicalForm process state leak on Windows by @OvesN in https://github.com/dotnet/msbuild/pull/13788 * Fix flaky detector: unblock dnceng feed, fail fast, and defer quarantine to a second run by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13936 * Update documentation for ImplicitUsings element by @drewnoakes in https://github.com/dotnet/msbuild/pull/13900 * [vs18.6] Point OptProf bootstrapper at rel/stable instead of int.main by @AlesProkop in https://github.com/dotnet/msbuild/pull/13923 * Add CS8618 suppressor for required MSBuild task properties by @AArnott in https://github.com/dotnet/msbuild/pull/13926 * Tighten NodeLaunchData.EnvironmentOverrides nullability to IDictionary<string, string?>? by @OvesN with @Copilot in https://github.com/dotnet/msbuild/pull/13815 * Fix ToolTask EOF wait to be STA-safe via CountdownEvent (MSB4018 in AspNetCompiler) by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13917 * [automated] Merge branch 'vs18.6' => 'vs18.7' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13941 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14192258 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13849 * Bumping to 10.0.8 runtime packages by @OvesN in https://github.com/dotnet/msbuild/pull/13898 * Flaky-test workflow: reassure on empty PR list + drop local reproduction (quarantine-first) by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13938 * [Flaky Test] Un-quarantine 5 consistently-green tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13952 * Flaky-test detector: open PRs ready-for-review; drop newly-filed-issues section from PR body by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13958 * [Flaky Test] Quarantine 4 flaky tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13937 * Flaky-test: fix duplicate-issue bug by switching dedup key to a visible code-block key by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13963 * CsWin32 follow-up: WindowsNative + VS Setup Configuration + remaining hand-rolled interop by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13872 * Add the reviewer release skill checking if the Learn article Change waves is updated by @GangWang01 in https://github.com/dotnet/msbuild/pull/13840 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13977 ... (truncated) Commits viewable in [compare view](https://github.com/dotnet/msbuild/compare/v18.8.2...v18.10.1). </details> Updated [Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from 18.8.2 to 18.10.1. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Utilities.Core's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.10.1 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13103 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13796 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13902 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13903 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13909 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13986 * Add vs18.9 to merge-flow config; retire vs18.3 by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14214 * Bump labeler-cache-retention to use issue-labeler v2.1.0 by @jeffhandley in https://github.com/dotnet/msbuild/pull/14171 * Bump main to 18.10.0 after vs18.9 snap by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14216 * Improve release skill: Phase 2 DARC rules, VMR backflow, deterministic baseline by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14220 * Determinize release: hardcode OptProf baseline + Phase 3.2 baseline resolver by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14222 * Serialize BuildRequestConfiguration.RequestedTargets to fix solution metaproject MSB4057 in parallel builds by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14223 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14203 * Core support for AbsolutePath/FileInfo/DirectoryInfo and ITaskItem<T> as task parameters by @baronfel in https://github.com/dotnet/msbuild/pull/13971 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14206 * Fix existence cache kind poisoning by @AlesProkop in https://github.com/dotnet/msbuild/pull/14249 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14226 * Don't disable the MSBuild server for /mt builds when node reuse is off by @AR-May in https://github.com/dotnet/msbuild/pull/14248 * Enhance expert reviewer guidelines with additional checks. by @AR-May in https://github.com/dotnet/msbuild/pull/14255 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14253 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14268 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14267 * Bump github/gh-aw-actions/setup from 0.81.6 to 0.82.2 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14266 * Avoid boxing the struct enumerator in PropertyDictionary<T>.GetEnumerator() by @nareshjo in https://github.com/dotnet/msbuild/pull/14272 * Refresh copy marker when implementation output changes by @AlesProkop in https://github.com/dotnet/msbuild/pull/14231 * Send task-host build process environment as delta by @OvesN in https://github.com/dotnet/msbuild/pull/14126 * Add regression coverage for metadata newline preservation by @VolPlita in https://github.com/dotnet/msbuild/pull/14261 * Fix EmbedInBinlog items with relative paths from child projects by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13990 * Stop requiring VersionPrefix updates in servicing - insert prerelease versions to VS by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14277 * Fix WriteLinesToFile rewriting unchanged file when custom encoding is used by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/14146 * Enable trim/AOT analyzers for Microsoft.Build and clean up annotations by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/14064 * [automated] Merge branch 'vs18.9' => 'main' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/14291 * Fix MicroBuild plugin feed URL to use allowed pkgs.dev.azure.com format by @AlesProkop in https://github.com/dotnet/msbuild/pull/14295 * Pass ExcludeRestorePackageImports during restore to avoid redundant evaluations by @ViktorHofer with @Copilot in https://github.com/dotnet/msbuild/pull/14274 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13988 * Adopt Clever Test Selection (CTS) as parallel, non-blocking PR pipeline by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/14212 * Harden exceptions when connecting to server by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14292 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13886 * Fix MSBuild Server client dropping build result under WaitAny race (#14172) by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14251 * Partially revert #13660: remove NuGet RestoreTask transient TaskHost workaround by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14297 * Disable daily AI credits guardrail for Expert Code Review workflow by @JanProvaznik with @Copilot in https://github.com/dotnet/msbuild/pull/14314 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14614733 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/14246 * Add opt-in partial (stop-after-pass) project evaluation by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14290 * Use partial evaluation for -getProperty/-getItem without a target by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14296 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14324 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14333 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14330 * Bump github/gh-aw-actions/setup from 0.82.2 to 0.82.8 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14328 * Restrict partial evaluation to ProjectInstance by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14340 ... (truncated) ## 18.9.6 ## What's Changed * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13793 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13859 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13858 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13863 * CsWin32 follow-up: CLR metadata + TypeLib interop migration by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13853 * Update vmr-sb-validation.yml for Azure Pipelines by @meghnave in https://github.com/dotnet/msbuild/pull/13871 * Test: keep shell alive 15s in ToolTaskCanChangeCanonicalErrorFormat (#13734) by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13878 * Add vs18.8 to merge-flow config by @OvesN in https://github.com/dotnet/msbuild/pull/13877 * Stable branding for 18.8 release by @OvesN in https://github.com/dotnet/msbuild/pull/13883 * Bump main to 18.9.0 after vs18.8 snap by @OvesN in https://github.com/dotnet/msbuild/pull/13880 * Avoid checkout in insertion pipeline by @rainersigwald in https://github.com/dotnet/msbuild/pull/13887 * Report actual launch path in MSB4216 for Runtime="NET" task host by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13889 * Migrate Tlblmp and AxImp to Multithreaded Execution by @AlesProkop in https://github.com/dotnet/msbuild/pull/13708 * Replace ErrorUtilities assertion methods with Assumed API and BCL throw helpers by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13790 * Fix CLR_E_SHIM_RUNTIMELOAD in RAR's IMetaDataDispenser activation by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13899 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13905 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13907 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13910 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13908 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13906 * Fix ToolTask output loss: increase EOF pipe timeout from 2s to 30s by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13767 * Improve symlink cycle condition by @GangWang01 in https://github.com/dotnet/msbuild/pull/13901 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13904 * Add flaky-test detection and auto-fix agentic workflows by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13915 * Quote --ignore-exit-code values so the quarantine pipeline does not shell-split on Unix by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13918 * Fix flaky-test detector PR-evidence loss and raise scan limits by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13919 * Tighten the pr review agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13921 * Add environment variables for governance detection by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13920 * Change IsPackable to true and add IsShipping flag by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13924 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13911 * Make flaky detector verify recurrence postdates the fix before commenting by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13930 * Fix AbsolutePath.GetCanonicalForm process state leak on Windows by @OvesN in https://github.com/dotnet/msbuild/pull/13788 * Fix flaky detector: unblock dnceng feed, fail fast, and defer quarantine to a second run by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13936 * Update documentation for ImplicitUsings element by @drewnoakes in https://github.com/dotnet/msbuild/pull/13900 * [vs18.6] Point OptProf bootstrapper at rel/stable instead of int.main by @AlesProkop in https://github.com/dotnet/msbuild/pull/13923 * Add CS8618 suppressor for required MSBuild task properties by @AArnott in https://github.com/dotnet/msbuild/pull/13926 * Tighten NodeLaunchData.EnvironmentOverrides nullability to IDictionary<string, string?>? by @OvesN with @Copilot in https://github.com/dotnet/msbuild/pull/13815 * Fix ToolTask EOF wait to be STA-safe via CountdownEvent (MSB4018 in AspNetCompiler) by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13917 * [automated] Merge branch 'vs18.6' => 'vs18.7' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13941 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14192258 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13849 * Bumping to 10.0.8 runtime packages by @OvesN in https://github.com/dotnet/msbuild/pull/13898 * Flaky-test workflow: reassure on empty PR list + drop local reproduction (quarantine-first) by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13938 * [Flaky Test] Un-quarantine 5 consistently-green tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13952 * Flaky-test detector: open PRs ready-for-review; drop newly-filed-issues section from PR body by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13958 * [Flaky Test] Quarantine 4 flaky tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13937 * Flaky-test: fix duplicate-issue bug by switching dedup key to a visible code-block key by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13963 * CsWin32 follow-up: WindowsNative + VS Setup Configuration + remaining hand-rolled interop by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13872 * Add the reviewer release skill checking if the Learn article Change waves is updated by @GangWang01 in https://github.com/dotnet/msbuild/pull/13840 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13977 ... (truncated) Commits viewable in [compare view](https://github.com/dotnet/msbuild/compare/v18.8.2...v18.10.1). </details> Updated [Microsoft.Extensions.Configuration](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Configuration.Binder](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Binder's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Configuration.Json](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Json's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.DependencyInjection](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.DependencyInjection's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.FileSystemGlobbing](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.FileSystemGlobbing's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Hosting](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Hosting's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Http](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Http's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Logging](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Logging's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.NET.Sdk.WebAssembly.Pack](https://github.com/dotnet/dotnet) from 10.0.8 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Sdk.WebAssembly.Pack's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 18.7.0 to 18.10.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Test.Sdk's releases](https://github.com/microsoft/vstest/releases)._ ## 18.10.0 ## What's Changed * Drop Mono fallback, run .NET Framework tests on Windows only by @nohwnd in https://github.com/microsoft/vstest/pull/16158 * Run Microsoft.Testing.Platform test apps under `vstest.console` and datacollector by @nohwnd in https://github.com/microsoft/vstest/pull/16201 * Fix test output eaten by MSBuild terminal logger by @nohwnd in https://github.com/microsoft/vstest/pull/16223 * Remove the experimental test session feature by @nohwnd in https://github.com/microsoft/vstest/pull/16231 * Skip a single bad executor instead of failing all executor loading by @nohwnd in https://github.com/microsoft/vstest/pull/16239 * Assert apartment state instead of using Clipboard in UI tests by @nohwnd in https://github.com/microsoft/vstest/pull/16270 * Surface test host crashes during protocol negotiation by @nohwnd in https://github.com/microsoft/vstest/pull/16285 * Pass the inferred target platform to the host in run settings by @nohwnd in https://github.com/microsoft/vstest/pull/16271 * Report raw invalid IsTargetPlatformInferred value, cover host x64 forcing by @nohwnd in https://github.com/microsoft/vstest/pull/16295 * Disable the MTP testhost by default (#16337) by @nohwnd in https://github.com/microsoft/vstest/pull/16341 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.9.0...v18.10.0 ## 18.9.0 ## What's Changed * Fix tilde/exclamation characters corrupted in TerminalLogger test output by @nohwnd in https://github.com/microsoft/vstest/pull/16046 * Make TranslationLayer Native AOT-compatible by @drewnoakes in https://github.com/microsoft/vstest/pull/16045 * Guard GenerateProgramFile target against UseWinUI/UseUwpTools evaluation order by @nohwnd in https://github.com/microsoft/vstest/pull/16072 * Add RequestingAssembly to AssemblyResolveEventArgs for binary compat by @nohwnd in https://github.com/microsoft/vstest/pull/16076 * Remove stale Microsoft.Extensions.FileSystemGlobbing binding redirect from testhost.x86 and datacollector by @Evangelink in https://github.com/microsoft/vstest/pull/16082 * Fix TRX attachment paths when LogFileName contains a subdirectory by @nohwnd in https://github.com/microsoft/vstest/pull/15791 * Fix missing dumps for .NET Framework child processes in NetClientHangDumper by @nohwnd in https://github.com/microsoft/vstest/pull/16098 * Fix data collection channels to use negotiated protocol version instead of V1 by @nohwnd in https://github.com/microsoft/vstest/pull/16096 * Fix race condition in BlameCollector: skip hang dump when testhost hasn't launched yet by @nohwnd in https://github.com/microsoft/vstest/pull/16065 * Replace TestSDKAutoGeneratedCode with ExcludeFromCodeCoverage in auto-generated Program files by @nohwnd in https://github.com/microsoft/vstest/pull/16101 * Include testhost process path in crash error messages by @nohwnd in https://github.com/microsoft/vstest/pull/16108 * Fix DataDriven test results being double-counted in TRX logger totals by @nohwnd in https://github.com/microsoft/vstest/pull/15766 * Fix datacollector crash visibility: replace Assert with throwable exceptions by @nohwnd in https://github.com/microsoft/vstest/pull/16048 * Add TreatErrorMessagesAsWarnings parameter to TRX logger by @nohwnd in https://github.com/microsoft/vstest/pull/16106 * Wait for testhost stderr to drain before reading its crash output by @nohwnd in https://github.com/microsoft/vstest/pull/16128 * Handle runtimeconfig.dev.json without additionalProbingPaths by @tmat in https://github.com/microsoft/vstest/pull/16166 * Suggest Microsoft.NET.Test.Sdk when a managed test project brings no testhost by @nohwnd in https://github.com/microsoft/vstest/pull/16169 * Fix x86 testhost loading mismatched x64 hostfxr (0x800700C1) when run via vstest.console.exe directly (#16151) by @azat-msft in https://github.com/microsoft/vstest/pull/16156 * Preserve the real exception (type + stack trace) when a test run aborts in BaseRunTests by @nohwnd in https://github.com/microsoft/vstest/pull/16167 ## New Contributors * @drewnoakes made their first contribution in https://github.com/microsoft/vstest/pull/16045 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.8.0...v18.9.0 ## 18.8.1 ## What's Changed * Fix protocol negotiation timeout when STJ reflection is disabled (18.8.1) by @nohwnd in https://github.com/microsoft/vstest/pull/16281 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.8.0...v18.8.1 ## 18.8.0 ## What's Changed * Migrate from Newtonsoft.Json to System.Text.Json / Jsonite (merge to main) by @nohwnd in https://github.com/microsoft/vstest/pull/15687 - For more detail refer to https://devblogs.microsoft.com/dotnet/vs-test-is-removing-its-newtonsoft-json-dependency/ * Create source-only filter package by @Youssef1313 in https://github.com/microsoft/vstest/pull/15638 * Add ARM64 msdia140.dll support to test platform packages by @nohwnd in https://github.com/microsoft/vstest/pull/15692 * Fix mutex cleanup crash on macOS/Linux by @nohwnd in https://github.com/microsoft/vstest/pull/15684 * Restrict artifact temp directory permissions on Unix by @nohwnd in https://github.com/microsoft/vstest/pull/15729 * Add support for filtering uncategorized tests with TestCategory=None by @Evangelink in https://github.com/microsoft/vstest/pull/15727 * Fix SCI binding failure in DTA hosts (main) by @nohwnd in https://github.com/microsoft/vstest/pull/15724 * Fix HTML logger parallel file collision by @nohwnd in https://github.com/microsoft/vstest/pull/15435 * Improve error message when testhost cannot be found by @nohwnd in https://github.com/microsoft/vstest/pull/16053 * Fix HTML logger exception on invalid XML chars in test display names by @nohwnd in https://github.com/microsoft/vstest/pull/16051 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.7.0...v18.8.0 Commits viewable in [compare view](https://github.com/microsoft/vstest/compare/v18.7.0...v18.10.0). </details> Updated [Microsoft.PowerPlatform.ResourceStack](https://github.com/azure/resourcestack) from 7.0.0.2080 to 7.0.0.2118. <details> <summary>Release notes</summary> _Sourced from [Microsoft.PowerPlatform.ResourceStack's releases](https://github.com/azure/resourcestack/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/azure/resourcestack/commits). </details> Updated [Microsoft.PowerPlatform.ResourceStack](https://github.com/azure/resourcestack) from 7.0.0.2080 to 7.0.0.2129. <details> <summary>Release notes</summary> _Sourced from [Microsoft.PowerPlatform.ResourceStack's releases](https://github.com/azure/resourcestack/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/azure/resourcestack/commits). </details> Updated [Microsoft.VisualStudio.Threading](https://github.com/microsoft/vs-threading) from 17.12.19 to 18.7.23. <details> <summary>Release notes</summary> _Sourced from [Microsoft.VisualStudio.Threading's releases](https://github.com/microsoft/vs-threadin…
Summary
Adds a flaky-test detection and auto-fix system for msbuild's public CI, built on GitHub Agentic Workflows (gh-aw). The design ports the approach used by dotnet/fsharp, adapted to msbuild's anonymous-accessible
dnceng-publicpipeline.Three pieces:
1. Detector skill —
.github/skills/flaky-test-detector/Get-FlakyTests.ps1scans recent failed builds on the publicmsbuild-prpipeline (definition 75) using only anonymous Azure DevOps APIs (build list, timeline, artifact zip). It uses an evidence-source model: a test is flagged flaky when it fails across >=MinSources(default 3) distinct sources, where a source is either:main(all its failed validation builds collapse to one source), ormain(each is independent evidence, sincemainshould be green).It parses TRX results, aggregates by normalized test name, and emits an evidence-grade JSON report with a
scanCompleteflag. Smoke-tested against live CI.2. Daily triage-and-fix workflow —
.github/workflows/flaky-test-detector.agent.mdA single workflow runs daily (+ manual dispatch) and does the whole job end to end:
flaky-testtracking issue per likely-flake, deduped via a hidden<!-- flaky-test-id: -->marker.dotnet test), which avoids the non-Windows--coverageinjection so the loops don't contend. Reproduced tests then get a minimal determinism fix (authored sequentially and time-boxed, for up to the 5 strongest, test-only where possible); everything not fixed gets a quarantine with[ActiveIssue("<issue url>")](fromMicrosoft.DotNet.XUnitV3Extensions) — never[Fact(Skip=...)].Quarantine backlog (def 344 as a data source): the same daily workflow also consumes the quarantine re-validation pipeline (AzDO definition 344, see §3) to work down the existing backlog. It re-runs the same detector against def 344 with a new
-IncludePassedmode (no separate script — the quarantine pipeline mirrors the build pipeline, so the detector's failing-set aggregation already yields the "still-flaky in 344" signal;-IncludePassedadds the passing-test signal). From that it (a) un-quarantines tests that have gone consistently green — removing[ActiveIssue]only whenscanComplete, the test is green across>= 4distinct quarantine builds spanning>= 3days on every platform it's quarantined for, and it never failed in the window — and (b) re-attempts determinism fixes on tests still flaking there (when reproducible on the runner). Both fold into the same combined draft PR under independent caps (<= 5un-quarantines,<= 3backlog fixes per run). Un-quarantining relies on def 344's real-CI evidence, not a local pass.Caps per run: <= 5 new issues, <= 12 comments, exactly one combined draft PR. The PR patch is restricted to
src/**/*.cs(allowed-files) and never touches.github/**(excluded-files+ a pre-PRgit diffcheck).Fixes #is used only for real determinism fixes (auto-closes the issue on merge); quarantines useTracked by #so the tracking issue stays open.Cross-run dedup: if a previous run's combined PR is still open and unmerged, the next run fetches the open
flaky-testPR bodies and does an exact local marker match, so already-in-flight tests are skipped rather than re-quarantined (their quarantine lives on the open PR's branch, not yet onmain).3. Quarantine re-validation pipeline —
azure-pipelines/quarantine.yml[ActiveIssue]stamps theCategory=failingtrait, which normal CI excludes — so a quarantined test stops producing pass/fail signal. This scheduled AzDO pipeline runs only the quarantined tests (RunQuarantinedTests=trueflips the filter to--filter-trait Category=failing) twice daily onmain, across Windows, Linux and macOS (mirroring the per-OS test legs of.vsts-dotnet-ci.yml), so quarantines — including platform-scoped ones — keep producing data. Quarantined-test failures don't fail the pipeline (--ignore-exit-code 8;2); the per-test signal lives in the published test results, so a red run means a real infra problem. A test that goes consistently green there is a candidate to un-quarantine — and the daily workflow now acts on that signal automatically (see §2, "Quarantine backlog"). These quarantine-only runs also skip code coverage —Directory.Build.targetsgates the non-Windows--coverageargs offRunQuarantinedTests, since coverage instrumentation adds overhead and can perturb the timing-sensitive flakes being measured.Safety properties
mainbranch is considered (detector, the agentic workflow, and the quarantine pipeline schedule).mainfailures (or PR failures that only began aftermainwent red), or an N/N deterministic local repro, is treated as a likely regression — not quarantined or auto-fixed, flagged for human triage instead. This avoids masking real bugs.git diffcheck + compiling the changed test projects).close-stale-prsworkflow.Notes
*.agent.lock.yml.quarantine.ymldoes not by itself create a scheduled run — an Azure DevOps pipeline definition pointing at it must be created/enabled once.Security review (new secrets/actions introduced)
The workflow uses the established PAT-pool secrets (
COPILOT_GITHUB_TOKEN,COPILOT_GITHUB_TOKEN_1..9) and thegithub/gh-aw-actions/setupaction — identical to the already-approvedclose-stale-prs.agent.mdworkflow. No new external actions or secrets beyond that approved set.