Skip to content

Add opt-in partial (stop-after-pass) project evaluation - #14290

Merged
ViktorHofer merged 3 commits into
mainfrom
copilot/partial-evaluation-model
Jul 10, 2026
Merged

ViktorHofer merged 3 commits into
mainfrom
copilot/partial-evaluation-model

Conversation

@ViktorHofer

Copy link
Copy Markdown
Member

Implements #14288.

Summary

Adds an opt-in partial (stop-after-pass) evaluation model. Callers that only need data produced by an early evaluation pass (most commonly a single property, e.g. the SDK's ReleasePropertyProjectLocator reading PublishRelease/PackRelease) can now stop evaluation after any pass instead of forcing a full evaluation.

A new ProjectEvaluationStage enum and ProjectOptions.EvaluationStage knob select how far evaluation proceeds:

Value Stops after
Properties pass 1 (properties + imports)
ItemDefinitions pass 2
Items pass 3 / 3.1
UsingTasks pass 4
Full (default) pass 5 (targets)

Property values are final after pass 1, so a stop-at-Properties evaluation yields property values identical to a full evaluation.

Changes

  • Engine (Evaluator.cs): early-return after the requested pass, inside the profiler scopes; FinishEvaluation() is still called.
  • Plumbing: stage threaded through Project/ProjectImpl and ProjectInstance construction, Initialize, and FromFile/FromProjectRootElement/FromXmlReader. Both types expose EvaluationStage.
  • Fail-fast guards: reading state a partial evaluation didn't compute (Items, GetItems, ItemsIgnoringCondition, AllEvaluatedItems, Targets, DefaultTargets) throws InvalidOperationException naming the member and stage. Properties and InitialTargets remain valid from Properties onward.
  • Cache correctness: ProjectCollection reuses a cached project only if cachedStage >= requestedStage and upgrades a partial cached project in place; public ReevaluateIfNecessary() and CreateProjectInstance() upgrade a partial project to Full; constructing BuildRequestData from a partial ProjectInstance throws.
  • Default behavior (Full) is unchanged — the feature is purely additive/opt-in.
  • Adds PartialEvaluation_Tests.cs (10 tests) and a spec doc.

Perf

File-heavy project (500 source files, ~200 properties, 50 targets), Debug engine:

Stage ms/eval vs Full
Properties 2.33 54%
ItemDefinitions 2.34 54%
Items 3.88 90%
Full 4.31 100%

Stop-at-Properties saves ~46% of evaluation wall-clock. Complements a shared EvaluationContext (see dotnet/sdk#55193) — the two levers stack.

Testing

  • New PartialEvaluation_Tests — 10 tests, all pass.
  • Regression green: Evaluator_Tests (153), ProjectInstance* (55), EvaluationContext (53).
  • Clean build of Microsoft.Build (net10.0 + net472), 0 warnings / 0 errors.

Copilot AI review requested due to automatic review settings July 8, 2026 12:51
@ViktorHofer
ViktorHofer temporarily deployed to copilot-pat-pool July 8, 2026 12:51 — with GitHub Actions Inactive
@ViktorHofer
ViktorHofer temporarily deployed to copilot-pat-pool July 8, 2026 12:51 — with GitHub Actions Inactive
@ViktorHofer
ViktorHofer temporarily deployed to copilot-pat-pool July 8, 2026 12:52 — with GitHub Actions Inactive

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds an opt-in “stop-after-pass” evaluation mode so callers can request partial project evaluation (e.g., properties-only) and avoid later-pass costs like item globbing and target registration.

Changes:

  • Introduces ProjectEvaluationStage and threads it through ProjectOptions, Project, ProjectInstance, and the evaluator to stop evaluation after a requested pass.
  • Adds fail-fast exceptions when accessing later-pass state (items/targets/etc.) on partially-evaluated objects, and blocks building from partial ProjectInstances.
  • Adds unit tests plus a proposed spec document describing the API and behavior.
Show a summary per file
File Description
src/Build/Resources/xlf/Strings.zh-Hant.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.zh-Hans.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.tr.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.ru.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.pt-BR.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.pl.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.ko.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.ja.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.it.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.fr.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.es.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.de.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/xlf/Strings.cs.xlf Adds localized placeholders for new partial-evaluation OM error strings.
src/Build/Resources/Strings.resx Adds new OM resource strings for partial-evaluation member/build guards.
src/Build/Microsoft.Build.csproj Includes new ProjectEvaluationStage.cs in the build.
src/Build/Instance/ProjectInstance.cs Threads stage through creation and adds stage-based member guards (plus exposes EvaluationStage).
src/Build/Evaluation/Evaluator.cs Implements early returns after requested evaluation stage.
src/Build/Definition/ProjectOptions.cs Adds ProjectOptions.EvaluationStage knob (default Full).
src/Build/Definition/ProjectEvaluationStage.cs Defines the public ProjectEvaluationStage enum.
src/Build/Definition/ProjectCollection.cs Updates cache lookup to consider evaluation stage and upgrade partial cached projects.
src/Build/Definition/Project.cs Threads stage through initialization; adds stage-based member guards and exposes EvaluationStage.
src/Build/BackEnd/BuildManager/BuildRequestData.cs Blocks building from a partially-evaluated ProjectInstance.
src/Build.UnitTests/Evaluation/PartialEvaluation_Tests.cs Adds unit tests covering partial evaluation behavior.
documentation/specs/proposed/partial-evaluation.md Adds proposed spec describing the API, behavior, and caching expectations.

Copilot's findings

  • Files reviewed: 24/24 changed files
  • Comments generated: 5

Comment thread src/Build/Evaluation/Evaluator.cs
Comment thread src/Build/Definition/Project.cs Outdated
Comment thread src/Build.UnitTests/Evaluation/PartialEvaluation_Tests.cs
Comment thread src/Build/Instance/ProjectInstance.cs
Comment thread src/Build.UnitTests/Evaluation/PartialEvaluation_Tests.cs
@ViktorHofer
ViktorHofer temporarily deployed to copilot-pat-pool July 8, 2026 13:12 — with GitHub Actions Inactive
@ViktorHofer
ViktorHofer temporarily deployed to copilot-pat-pool July 8, 2026 13:15 — with GitHub Actions Inactive

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.

Details

The threat detection results could not be parsed.

Review the workflow run logs for details.

Expert Review — PR #14290: Add opt-in partial (stop-after-pass) project evaluation

The overall design is sound — the ProjectEvaluationStage knob, the early-return placement inside profiler scopes, the FinishEvaluation() call on all exit paths, the cache-upgrade-in-place semantic, and the fail-fast guards are all well-conceived. Five issues need resolution before merge; two are blocking.


Summary Table

# Dimension Verdict Severity Location
1 Concurrency & Thread Safety ❌ ISSUE BLOCKING ProjectCollection.cs:2027-2030
2 Evaluation Model Integrity ❌ ISSUE MODERATE Evaluator.cs:779-816
3 API Surface — Enum Gap ❌ ISSUE MODERATE ProjectEvaluationStage.cs:56
4 Error Message Quality ❌ ISSUE MODERATE Strings.resx:1575
5 Test Coverage / Quality ❌ ISSUE MAJOR PartialEvaluation_Tests.cs:15,53
6 Backwards Compatibility ✅ LGTM
7–24 All other dimensions ✅ LGTM

Finding 1 — BLOCKING: Race condition in GetMatchingProjectIfAny concurrent upgrade

src/Build/Definition/ProjectCollection.cs, lines 2027–2030.

Two concurrent ProjectCollection.LoadProject() callers find the same partial project under _loadedProjects lock, both release the lock, both read EvaluationStage < Full == true, and both call match.ReevaluateIfNecessary(). Because ProjectImpl has no per-project lock, both threads write _evaluationStage = Full / _explicitlyMarkedDirty = true unsynchronized, then both enter Reevaluate()Evaluator.Evaluate(_data, ...) on the same _data instance concurrently. Two threads calling _data.InitializeForEvaluation() simultaneously and then appending items/properties to the same mutable collections produces corrupt evaluation state (duplicate entries, torn collections). See inline comment for the exact interleaving and the double-checked locking fix.


Finding 2 — MODERATE: EvaluatePass4Stop is orphaned when stopping at UsingTasks

src/Build/Evaluation/Evaluator.cs, line 816.

EvaluatePass4Start fires before pass-4 work (line 779); the early-return for UsingTasks stage exits at line 795; EvaluatePass4Stop is placed at line 816 — after that return. Every other pass emits its Stop before its early-return check; Pass 4 alone does not. ETW-based profilers (PerfView, dotnet-trace) see an orphaned Pass4Start and report corrupted durations.

Fix: Move MSBuildEventSource.Log.EvaluatePass4Stop(projectFile) to immediately after line 790 (closing brace of the using TrackPass block), before the guard at 792.


Finding 3 — MODERATE: Enum gap silently breaks Targets access for values 5–2147483646

src/Build/Definition/ProjectEvaluationStage.cs, line 56.

(ProjectEvaluationStage)5 passes through ProjectOptions without validation. In the evaluator none of the four <= early-return guards fire (5 > 4), so all passes including target registration complete. But _evaluationStage is stored as 5, and the guard VerifyThrowEvaluationStageReached(Full, "Targets") checks 5 < int.MaxValue == true — it throws even though targets are fully populated. Add an Enum.IsDefined validation in the EvaluationStage setter, or map any value > UsingTasks and < Full to Full.


Finding 4 — MODERATE: Error message omits the minimum required stage

src/Build/Resources/Strings.resx, line 1575.

OM_PartialEvaluationMemberUnavailable tells the user their current stage but not which stage they need. "Re-evaluate with a later evaluation stage" is under-specified — Items or UsingTasks still won't help if the member requires Full. The requiredStage parameter is already available inside VerifyThrowEvaluationStageReached; pass it as {2} and add "at least the '{2}' stage" to the message.


Finding 5 — MAJOR: Test-quality issues in PartialEvaluation_Tests.cs

src/Build.UnitTests/Evaluation/PartialEvaluation_Tests.cs.

  • ProjectCollection leak: OptionsFor() allocates a new ProjectCollection per call (7+ call sites) and none are disposed. Use using ProjectCollection collection = new ProjectCollection() locally in each test.
  • Manual try/finally for temp files: three tests use Path.GetTempFileName() + manual cleanup instead of TestEnvironment.CreateFile(). Use using TestEnvironment env = TestEnvironment.Create(_output) and env.CreateFile(...).
  • Missing ITestOutputHelper: the class has no constructor injection; diagnostic output is lost in CI. Add private readonly ITestOutputHelper _output; public PartialEvaluation_Tests(ITestOutputHelper output) => _output = output;.
  • #nullable disable: new files must not suppress nullable analysis per repo conventions. Remove and annotate as needed.

Positive notes

  • The Full = int.MaxValue trick elegantly ensures comparisons work without needing a dedicated "max" sentinel — clever.
  • FinishEvaluation() is called on every early-return path — correct.
  • All BuildRequestData constructor overloads chain to the single guarded overload — no bypasses.
  • The cache invariant (one slot per key, upgraded in place rather than duplicated) is the right design.
  • CreateProjectInstance() upgrading a partial project to Full before snapshotting is the right behaviour.
  • Spec document is clear and thorough.

Generated by Expert Code Review (on open) for #14290 · 1.9K AIC · ⊞ 30.4K

Comments that could not be inline-anchored

src/Build/Definition/ProjectCollection.cs:2030

[BLOCKING] Race condition — concurrent upgrade of the same partial project

Two threads can both call ProjectCollection.LoadProject(path) while the cache holds a partial project. Both capture match inside the lock, then both release the lock, both observe match.EvaluationStage &lt; requestedStage == true, and both call match.ReevaluateIfNecessary() concurrently.

ReevaluateIfNecessary (public override) sets _evaluationStage = Full and _explicitlyMarkedDirty = true without any per…

src/Build.UnitTests/Evaluation/PartialEvaluation_Tests.cs:15

[MODERATE] Three test-quality issues in this new file

1. #nullable disable in a new file — per repo conventions, new files must not suppress nullable reference-type analysis. Remove #nullable disable and add ? annotations where a reference type is intentionally nullable.

2. Manual try/finally for temp files — the three tests that write a real file (CacheUpgrade_PartialThenFull_ProjectCollection, CacheHit_LowerStageRequest_ReturnsCachedProject, `ReevaluateIfNecessary_On…

src/Build.UnitTests/Evaluation/PartialEvaluation_Tests.cs:53

[MAJOR] ProjectCollection is leaked in every test that calls OptionsFor()

OptionsFor() constructs a new ProjectCollection on every call and nothing ever disposes it. ProjectCollection holds file-system watchers and event-handler registrations. This helper is called from at least 7 test sites in this file.

Fix: Remove the static OptionsFor() helper. Each test that needs a ProjectCollection should declare and dispose it explicitly:

using ProjectCollection collec</details>

<details><summary>src/Build/Resources/Strings.resx:1575</summary>

**[MODERATE] Error message doesn&#39;t tell the user which stage they actually need**

The message tells users *what stage evaluation stopped at* (`{1}`), but not *what stage they need* to access the requested member. For a user who reads `Targets` after stopping at `Properties`, the message says &quot;Re-evaluate the project with a later evaluation stage&quot; — but `Items` and `UsingTasks` still won&#39;t work; only `Full` does.

`requiredStage` is already available as the first parameter of `VerifyThrowEvalua…

</details>

<details><summary>src/Build/Evaluation/Evaluator.cs:816</summary>

**[MODERATE] `EvaluatePass4Stop` is never emitted when stopping at `UsingTasks`**

`EvaluatePass4Start` fires at line 779, the pass-4 work completes by line 790, but `EvaluatePass4Stop` is placed here — **after** the early-return guard at lines 792796. Any caller with `EvaluationStage = ProjectEvaluationStage.UsingTasks` exits at line 795 and `EvaluatePass4Stop` is never called.

This creates an unpaired ETW event. PerfView, `dotnet-trace` (with MSBuild provider), and any custom profiler that …

</details>

<details><summary>src/Build/Definition/ProjectEvaluationStage.cs:56</summary>

**[MODERATE] Enum gap between `UsingTasks = 4` and `Full = int.MaxValue` causes false-positive guards**

The gap of 2,147,483,642 unnamed values (5 through `int.MaxValue − 1`) is silently accepted by `ProjectOptions.EvaluationStage`. When any such value is stored:

1. **Evaluator**: none of the `&lt;= Properties/ItemDefinitions/Items/UsingTasks` checks fire (e.g. `5 &gt; 4`), so **all passes including target registration run** — the project is fully evaluated.
2. **Guards**: `VerifyThrowEvaluationSta</details>

@ViktorHofer

Copy link
Copy Markdown
Member Author
image

ViktorHofer and others added 3 commits July 9, 2026 10:53
Implements #14288. Adds ProjectEvaluationStage and
ProjectOptions.EvaluationStage so callers that only need early-pass data
(e.g. a single property) can stop evaluation after any pass instead of
running a full evaluation.

- Evaluator returns early after the requested pass (Properties,
  ItemDefinitions, Items, UsingTasks) while still calling FinishEvaluation.
- Stage is threaded through Project/ProjectImpl and ProjectInstance
  construction and the From* factory methods; both expose EvaluationStage.
- Reading not-yet-computed state (Items/GetItems/Targets/DefaultTargets/
  AllEvaluatedItems/ItemsIgnoringCondition) throws InvalidOperationException.
- Cache is stage-aware: ProjectCollection reuses a cached project only if
  cachedStage >= requestedStage and upgrades a partial one in place;
  ReevaluateIfNecessary()/CreateProjectInstance() upgrade to Full; building
  a partial ProjectInstance throws.
- Default behavior (Full) is unchanged; feature is additive/opt-in.
- Adds unit tests and a spec doc.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Emit EvaluatePass4Stop before the UsingTasks-stage early return so ETW/
  profiling start/stop pairs stay balanced; remove the old misplaced duplicate.
- Add a fail-fast VerifyThrowEvaluationStageReached guard to the ItemDefinitions
  getter on both Project and ProjectInstance so it throws when evaluation stopped
  at Properties, matching the ProjectEvaluationStage contract.
- Extend tests: assert ItemDefinitions is unavailable at Properties stage on both
  types, and add a positive ItemDefinitions-stage test.
- Update the spec to list ItemDefinitions among the guarded members.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…t quality

Finding 1 (BLOCKING) - concurrent upgrade race: move the partial->Full
  upgrade of a cached project out of the lock-free GetMatchingProjectIfAny
  lookup and into LoadProject, where it runs under the existing per-path
  load lock so concurrent loads of the same path cannot re-evaluate the
  same project instance simultaneously. GetMatchingProjectIfAny is now a
  pure lookup again.
Finding 3 - enum gap: validate ProjectOptions.EvaluationStage with
  Enum.IsDefined so undefined values (the 5..int.MaxValue-1 gap, 0,
  negatives) throw ArgumentOutOfRangeException instead of silently running
  every pass while the guards still report state as unavailable.
Finding 4 - error message: OM_PartialEvaluationMemberUnavailable now also
  names the minimum required stage ({2}); both guard helpers pass it. xlf
  regenerated.
Finding 5 - test quality: inject ITestOutputHelper, use TestEnvironment
  (shared/disposed ProjectCollection + CreateFile instead of manual temp
  file try/finally), remove #nullable disable. Added an EvaluationStage
  validation theory.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@baronfel baronfel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Straightforward implementation and the use case/benefit is clear to me.

Main question I have is one of design - today the 'state' of the Project/Instance is held and used to validate property access, which adds a small-but-nonzero amount of overhead to each access. A Type-based modeling of the evaluation state would allow disallowed members to be hardcoded to throw, which could sidestep this problem. I'm thinking of like private inner classes that all implement the same Project/Instance signature but can be swapped out so that the lifetimes of the various properties are correct-by-construction:

private class PropertiesLifetimeProject(...) {
  public override IDictionary<string, ProjectItemDefinition> ItemDefinitions => ErrorUtilities.ThrowInvalidOperation("OM_PartialEvaluationMemberUnavailable", memberName, _evaluationStage, ProjectEvaluationStage.ItemDefinitions);
}

private class ItemDefinitionsLifetimeProject(...) {
  public override IDictionary<string, ProjectItemDefinition> ItemDefinitions =>  _data.ItemDefinitions;
 
  public override ICollection<ProjectItem> Items => ErrorUtilities.ThrowInvalidOperation("OM_PartialEvaluationMemberUnavailable", memberName, _evaluationStage, ProjectEvaluationStage.Items);
}

and so on.

@ViktorHofer

Copy link
Copy Markdown
Member Author

That totally makes sense and I considered that as well. Let me file a follow-up issue for that (as a perf optimization) and merge this in meanwhile.

@ViktorHofer
ViktorHofer merged commit ffaa52f into main Jul 10, 2026
14 checks passed
@ViktorHofer
ViktorHofer deleted the copilot/partial-evaluation-model branch July 10, 2026 17:29
baronfel pushed a commit that referenced this pull request Jul 10, 2026
…4296)

### Context

Builds on the opt-in partial (stop-after-pass) evaluation added in
#14290.

When `msbuild -getProperty:Foo` / `-getItem:Bar` is invoked **without a
target**, the CLI currently runs a full project evaluation even though
the requested data is produced by an early evaluation pass. This PR
stops evaluation as soon as that data is available:

- `-getProperty` (only) → stop after the **Properties** pass
- `-getItem` (or both) → stop after the **Items** pass

This skips the later using-tasks and target-registration passes.

### Change wave

Gated behind change wave **18.10** (already present in `main`). Setting
`MSBUILDDISABLEFEATURESFROMVERSION=18.10` restores the historical
full-evaluation behavior.

### Measured impact

Measured on a simple solution — a `dotnet new console` referencing a
`dotnet new classlib` (with real code + a `Newtonsoft.Json` package
reference), which registers **547 targets** on full evaluation. Numbers
are the median of interleaved evaluations via the object model (Debug
engine, so treat the *ratios* as the signal, not absolute values).
Wall-clock reproduced across multiple runs and both projects;
allocations (`GC.GetTotalAllocatedBytes(precise)`) were essentially
deterministic across runs.

| Path (stage) | Wall-clock vs full | Allocations vs full |
|---|---|---|
| `-getProperty` (stop after Properties) | **~15% faster** | **~22%
less** |
| `-getItem` (stop after Items) | **~7% faster** | **~10% less** |

The `-getProperty` win skips the item-definition, item, using-task and
target-registration passes. The `-getItem` win still skips the
using-task and target-registration passes — a real, reproducible saving.
Allocation savings exceed the wall-clock savings because the skipped
passes (target registration in particular) are allocation-heavy. The
remaining fixed cost that neither path avoids is shared import/property
processing that any evaluation must pay.

### Tests

- Change-wave opt-out test in `XMake_Tests.cs`: a project whose only
error is in the targets pass succeeds for `-getProperty` (wave on) and
fails when the wave is disabled (full evaluation).
- A `PartialEvaluationBenchmark` (BenchmarkDotNet) comparing full vs
partial evaluation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ViktorHofer added a commit that referenced this pull request Jul 14, 2026
…14349)

Reverts the change from #14274, which injected
`ExcludeRestorePackageImports=true` into the implicit restore global
properties (behind change wave 18.10) so that NuGet's restore
re-invocation would reuse MSBuild's initial evaluation instead of
forcing a second one.

### Why revert

The change breaks restore for projects that have a **nonexistent
`<ProjectReference>`**. Once the top-level restore evaluation shares the
same global property set that NuGet's inner
`_GenerateRestoreProjectPathWalk` invocation uses, that walk runs in the
*same* project instance and its unfiltered `_RestoreProjectPathItems`
(which contains the raw `ProjectReference` paths, including missing
ones) leaks into `_GenerateRestoreGraph`'s
`_GenerateRestoreGraphProjectEntry` MSBuild call. That call does not set
`SkipNonexistentProjects`, so it fails with `MSB3202` instead of
skipping the missing project.

```
NuGet.targets(571,5): error MSB3202: The project file "...\TestLibrary\TestLibrary.csproj" was not found.
```

This regressed the dotnet/sdk test
`ItCanTestAMultiTFMProjectWithImplicitRestore` — see dotnet/sdk#55245
for the full root-cause analysis and repro.

### Details

- Only the implicit-restore (`-restore` switch / `ExecuteRestore`) path
was affected; explicit `dotnet restore` / `-t:Restore` never added the
property.
- Reproduced with `dotnet build -t:Restore
/p:ExcludeRestorePackageImports=true` on a multi-TFM project with a
dangling `ProjectReference`: without the property restore succeeds
(missing project skipped gracefully); with it, `MSB3202`.

### What this PR does

- Removes the `ExcludeRestorePackageImports=true` injection in
`XMake.ExecuteRestore`, replacing it with a comment documenting **why**
the property must not be set there.
- Removes the `ExcludeRestorePackageImports` /
`ExcludeRestorePackageImportsValue` constants and the two related unit
tests.
- Removes the 18.10 ChangeWaves.md bullet for this feature.
- **Retains** change wave `18.10` itself — it is still used by the
`-getProperty`/`-getItem` evaluation change (#14290).

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
microsoft-github-policy-service Bot pushed a commit to Azure/bicep that referenced this pull request Sep 15, 2026
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…
This was referenced Sep 15, 2026
WarperSan pushed a commit to WarperSan/ThunderPipe that referenced this pull request Sep 17, 2026
Updated
[Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from
18.9.6 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 dotnet/msbuild#13103
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13796
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13902
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13903
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13909
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13986
* Add vs18.9 to merge-flow config; retire vs18.3 by @​JanProvaznik in
dotnet/msbuild#14214
* Bump labeler-cache-retention to use issue-labeler v2.1.0 by
@​jeffhandley in dotnet/msbuild#14171
* Bump main to 18.10.0 after vs18.9 snap by @​JanProvaznik in
dotnet/msbuild#14216
* Improve release skill: Phase 2 DARC rules, VMR backflow, deterministic
baseline by @​JanProvaznik in
dotnet/msbuild#14220
* Determinize release: hardcode OptProf baseline + Phase 3.2 baseline
resolver by @​JanProvaznik in
dotnet/msbuild#14222
* Serialize BuildRequestConfiguration.RequestedTargets to fix solution
metaproject MSB4057 in parallel builds by @​ViktorHofer in
dotnet/msbuild#14223
* [main] Update dependencies from nuget/nuget.client by
@​dotnet-maestro[bot] in dotnet/msbuild#14203
* Core support for AbsolutePath/FileInfo/DirectoryInfo and ITaskItem<T>
as task parameters by @​baronfel in
dotnet/msbuild#13971
* [main] Update dependencies from dotnet/roslyn by @​dotnet-maestro[bot]
in dotnet/msbuild#14206
* Fix existence cache kind poisoning by @​AlesProkop in
dotnet/msbuild#14249
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in dotnet/msbuild#14226
* Don't disable the MSBuild server for /mt builds when node reuse is off
by @​AR-May in dotnet/msbuild#14248
* Enhance expert reviewer guidelines with additional checks. by @​AR-May
in dotnet/msbuild#14255
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in dotnet/msbuild#14253
* [main] Update dependencies from dotnet/roslyn by @​dotnet-maestro[bot]
in dotnet/msbuild#14268
* [main] Update dependencies from nuget/nuget.client by
@​dotnet-maestro[bot] in dotnet/msbuild#14267
* Bump github/gh-aw-actions/setup from 0.81.6 to 0.82.2 by
@​dependabot[bot] in dotnet/msbuild#14266
* Avoid boxing the struct enumerator in
PropertyDictionary<T>.GetEnumerator() by @​nareshjo in
dotnet/msbuild#14272
* Refresh copy marker when implementation output changes by @​AlesProkop
in dotnet/msbuild#14231
* Send task-host build process environment as delta by @​OvesN in
dotnet/msbuild#14126
* Add regression coverage for metadata newline preservation by
@​VolPlita in dotnet/msbuild#14261
* Fix EmbedInBinlog items with relative paths from child projects by
@​huulinhnguyen-dev in dotnet/msbuild#13990
* Stop requiring VersionPrefix updates in servicing - insert prerelease
versions to VS by @​ViktorHofer in
dotnet/msbuild#14277
* Fix WriteLinesToFile rewriting unchanged file when custom encoding is
used by @​huulinhnguyen-dev in
dotnet/msbuild#14146
* Enable trim/AOT analyzers for Microsoft.Build and clean up annotations
by @​JeremyKuhne in dotnet/msbuild#14064
* [automated] Merge branch 'vs18.9' => 'main' by @​github-actions[bot]
in dotnet/msbuild#14291
* Fix MicroBuild plugin feed URL to use allowed pkgs.dev.azure.com
format by @​AlesProkop in dotnet/msbuild#14295
* Pass ExcludeRestorePackageImports during restore to avoid redundant
evaluations by @​ViktorHofer with @​Copilot in
dotnet/msbuild#14274
* [vs18.7] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13988
* Adopt Clever Test Selection (CTS) as parallel, non-blocking PR
pipeline by @​jankratochvilcz in
dotnet/msbuild#14212
* Harden exceptions when connecting to server by @​JanProvaznik in
dotnet/msbuild#14292
* Update MicrosoftBuildVersion in analyzer template by
@​github-actions[bot] in dotnet/msbuild#13886
* Fix MSBuild Server client dropping build result under WaitAny race
(#​14172) by @​JanProvaznik in
dotnet/msbuild#14251
* Partially revert #​13660: remove NuGet RestoreTask transient TaskHost
workaround by @​JanProvaznik in
dotnet/msbuild#14297
* Disable daily AI credits guardrail for Expert Code Review workflow by
@​JanProvaznik with @​Copilot in
dotnet/msbuild#14314
* Localized file check-in by OneLocBuild Task: Build definition ID 9434:
Build ID 14614733 by @​dotnet-bot in
dotnet/msbuild#14246
* Add opt-in partial (stop-after-pass) project evaluation by
@​ViktorHofer in dotnet/msbuild#14290
* Use partial evaluation for -getProperty/-getItem without a target by
@​ViktorHofer in dotnet/msbuild#14296
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in dotnet/msbuild#14324
* [main] Update dependencies from dotnet/roslyn by @​dotnet-maestro[bot]
in dotnet/msbuild#14333
* [main] Update dependencies from nuget/nuget.client by
@​dotnet-maestro[bot] in dotnet/msbuild#14330
* Bump github/gh-aw-actions/setup from 0.82.2 to 0.82.8 by
@​dependabot[bot] in dotnet/msbuild#14328
* Restrict partial evaluation to ProjectInstance by @​ViktorHofer in
dotnet/msbuild#14340
 ... (truncated)

Commits viewable in [compare
view](dotnet/msbuild@v18.9.6...v18.10.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.Build.Utilities.Core&package-manager=nuget&previous-version=18.9.6&new-version=18.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants