Pass ExcludeRestorePackageImports during restore to avoid redundant evaluations - #14274
Conversation
… by change wave 18.9) Co-authored-by: ViktorHofer <7412651+ViktorHofer@users.noreply.github.com>
…f measurements Co-authored-by: ViktorHofer <7412651+ViktorHofer@users.noreply.github.com>
Co-authored-by: ViktorHofer <7412651+ViktorHofer@users.noreply.github.com>
Co-authored-by: ViktorHofer <7412651+ViktorHofer@users.noreply.github.com>
Co-authored-by: ViktorHofer <7412651+ViktorHofer@users.noreply.github.com>
Removed duplicate entry for ExcludeRestorePackageImports in Change Waves documentation.
There was a problem hiding this comment.
Pull request overview
This PR aims to reduce redundant project evaluations during /restore by ensuring MSBuild’s initial restore evaluation uses the same global property (ExcludeRestorePackageImports=true) that NuGet uses when it re-invokes MSBuild, allowing evaluation reuse.
Changes:
- Sets
ExcludeRestorePackageImports=trueinXMake.ExecuteRestorerestore global properties (wave-gated). - Introduces
MSBuildConstants.ExcludeRestorePackageImportsand a load-bearing lowercase"true"constant value. - Adds a unit test asserting the property is set during restore and updates ChangeWaves documentation/rotation.
Show a summary per file
| File | Description |
|---|---|
| src/MSBuild/XMake.cs | Adds ExcludeRestorePackageImports=true to restore global properties behind a change wave gate. |
| src/MSBuild.UnitTests/XMake_Tests.cs | Adds a test validating ExcludeRestorePackageImports is set during /t:restore. |
| src/Framework/MSBuildConstants.cs | Adds constants for the property name and required lowercase value. |
| src/Framework/ChangeWaves.cs | Adds Wave18_10 and updates AllWaves. |
| documentation/wiki/ChangeWaves.md | Documents the change wave rotation and the new feature entry. |
Copilot's findings
- Files reviewed: 5/5 changed files
- Comments generated: 2
|
/review |
|
✅ Expert Code Review (command) completed successfully! Caution agentic threat detected Evaluating PR #14274 for Performance & Allocation Awareness only. |
There was a problem hiding this comment.
Caution
agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.
Review — PR #14274: Pass ExcludeRestorePackageImports during restore
The optimization goal is sound and the implementation is mostly clean. Two actionable issues need fixing before merge.
| # | Dimension | Verdict |
|---|---|---|
| 1 | Backwards Compatibility | 🔴 MAJOR |
| 2 | ChangeWave Discipline | 🟡 MAJOR |
| 4 | Test Coverage | 🟡 MAJOR |
| 22 | Correctness & Edge Cases | 🔴 MAJOR |
✅ 22/24 dimensions clean.
Issues to address
-
src/MSBuild/XMake.csline 2074 — The unconditional dictionary assignment overwrites an explicit user-supplied/p:ExcludeRestorePackageImports=false. Guard the write with!globalProperties.ContainsKey(...)so the optimization is only applied when the user has not already provided a value. (Full recommendation in the inline comment.) -
src/MSBuild.UnitTests/XMake_Tests.cs— The ChangeWave-disabled path is not tested. A companion testRestoreDoesNotSetExcludeRestorePackageImportsWhenWaveDisabledis needed, settingMSBUILDDISABLEFEATURESFROMVERSION=18.10and asserting the property is absent from the restore evaluation. (Full snippet in the inline comment.)
Everything else is clean: the "true" casing rationale is correctly documented, Wave18_10 is correctly added to AllWaves, the ChangeWaves.md entry is accurate, constants are internal, there are no concurrency issues, no cross-platform concerns, no API surface changes, and the implementation placement in ExecuteRestore is consistent with the existing MSBuildIsRestoring/MSBuildRestoreSessionId pattern.
Generated by Expert Code Review (command) for #14274 · 1.4K AIC · ⊞ 30.1K
Comment /review to run again
|
@copilot address the pr feedback |
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…
Context
During
/restore(implicit or/t:restore), every project is evaluated twice. NuGet's restore targets re-invoke each project with the global propertyExcludeRestorePackageImports=true(NuGet.targets), which MSBuild does not include in its initial restore evaluation. The differing global property set produces a distinct build configuration, forcing a redundant re-evaluation. Static graph restore already avoids this by passing the property itself.Changes Made
XMake.ExecuteRestore: addsExcludeRestorePackageImports=trueto the restore global properties so NuGet's inner MSBuild call matches the initial evaluation and reuses it. Gated behind change wave 18.10.ProjectPropertyInstance.Equals), and the MSBuild task inherits parent globals then overlays its own. NuGet passes the literal lowercasetrue, so we must too —bool.TrueString("True") would silently fail to dedupe the evaluation.MSBuildConstants: newExcludeRestorePackageImportsandExcludeRestorePackageImportsValue("true") constants.RestoreSetsExcludeRestorePackageImportsasserts the property is set during restore.Testing
Evaluations counted via
ProjectEvaluationStartedevents in a binlog, using a repro that mimics NuGet re-invoking each project withExcludeRestorePackageImports=true:/t:Restore(restore phase only)/restore /t:Build(full)All 13 existing
*Restore*XMake_Testspass alongside the new test.Notes