Migrate to xunit.v3#13482
Conversation
fe653b5 to
65d17a8
Compare
|
fyi I'm working on this in #13215, but won't be mad if you beat me to it. Chasing what looks like some Windows hangs at the moment, and as a low-pri background thing. |
|
Oh, I didn't know you are already working on it. |
|
@rainersigwald I tried to pull in some changes you did in the other PR here to see if it gets me here in a better state. We can sync next Tuesday to align the efforts. Generally speaking, a big difference between the two PRs is that in this PR I'm running with MTP, while the other PR runs with VSTest. But I would think most test failures will be related to the xunit 2 to xunit 3 move and not VSTest/MTP differences. In addition, in this PR I'm keeping the tests wrapped in One thing to note is that xunit.v3 might be running the tests in a different order compared to xunit 2, which might (or might not) be the cause for some of the failures (i.e, some tests might have been modifying global state without resetting it - that was somehow unnoticed with xunit 2 but might become apparent now that the ordering changed) |
I believe this is not currently working--my interpretation of a bunch of failures in my attempt was "something is making this work now and failing a bunch of tests that should have been failing before but weren't". I'd love to have all those tests fixed of course . . . |
In the other PR, I commented on why the approach there won't work. But I think it might have been working on main already. |
ec93ec7 to
6f93f7e
Compare
cdf2641 to
9b1339b
Compare
There was a problem hiding this comment.
Pull request overview
This PR migrates the repo’s unit test infrastructure from xUnit v2 patterns to xUnit v3, aligning execution with Microsoft.Testing.Platform and updating shared test bootstrapping so test environment initialization remains consistent across the suite.
Changes:
- Switched test dependencies to xUnit v3 (and Verify.XunitV3), removed xUnit v2 console runner usage, and updated test runner/coverage configuration.
- Replaced the custom xUnit v2 “AssemblyFixtureSupport” framework with xUnit v3 pipeline startup + a custom test framework wrapper to create
TestEnvironmentper test case. - Updated many test projects/files to remove
Xunit.Abstractionsusages and stabilize a few test-global/static state interactions.
Reviewed changes
Copilot reviewed 160 out of 160 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Xunit.NetCore.Extensions/Xunit.NetCore.Extensions.csproj | Switch extension package reference to xUnit v3 extensibility core and adjust TFMs/settings. |
| src/Xunit.NetCore.Extensions/UseInvariantCultureAttribute.cs | Update BeforeAfterTestAttribute overrides to xUnit v3 signatures. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/XunitTestMethodRunnerWithAssemblyFixture.cs | Removed legacy xUnit v2 assembly fixture runner implementation. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/XunitTestFrameworkWithAssemblyFixture.cs | Removed legacy xUnit v2 custom test framework. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/XunitTestFrameworkExecutorWithAssemblyFixture.cs | Removed legacy xUnit v2 executor wrapper. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/XunitTestCollectionRunnerWithAssemblyFixture.cs | Removed legacy xUnit v2 collection runner wrapper. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/XunitTestClassRunnerWithAssemblyFixture.cs | Removed legacy xUnit v2 class runner wrapper. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/XunitTestAssemblyRunnerWithAssemblyFixture.cs | Removed legacy xUnit v2 assembly runner wrapper. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/README.md | Removed docs for the deleted xUnit v2 assembly fixture support. |
| src/Xunit.NetCore.Extensions/AssemblyFixtureSupport/AssemblyFixtureAttribute.cs | Removed legacy assembly-level fixture attribute. |
| src/Utilities.UnitTests/ToolTask_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Utilities.UnitTests/ToolLocationHelper_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Utilities.UnitTests/ProcessExtensions_Tests.cs | Remove xUnit v2 abstractions import. |
| src/UnitTests.Shared/TestEnvironment.cs | Update default output helper implementation for xUnit v3 interface surface. |
| src/UnitTests.Shared/RunnerUtilities.cs | Update xUnit output helper import namespace. |
| src/UnitTests.Shared/ObjectModelHelpers.cs | Remove xUnit v2 abstractions import. |
| src/UnitTests.Shared/MockLogger.cs | Remove xUnit v2 abstractions import. |
| src/UnitTests.Shared/MockEngine.cs | Update xUnit output helper import namespace. |
| src/UnitTests.Shared/Microsoft.Build.UnitTests.Shared.csproj | Replace xUnit v2 packages with xUnit v3 assert/extensibility packages. |
| src/Tasks.UnitTests/XamlDataDrivenToolTask_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/WriteLinesToFile_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/VerifyFileHash_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/Unzip_Tests.cs | Replace conditional attribute usage with runtime skip under xUnit v3. |
| src/Tasks.UnitTests/TestResources/TestBinary.cs | Update xUnit-related imports. |
| src/Tasks.UnitTests/RoslynCodeTaskFactory_Tests.cs | Remove Verify-specific attribute usage. |
| src/Tasks.UnitTests/ResourceHandling/ResGenDependencies_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/ResourceHandling/MSBuildResXReader_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/ResourceHandling/GenerateResourceOutOfProc_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/ResourceHandling/GenerateResource_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/ResolveNonMSBuildProjectOutput_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/ResolveAssemblyReference_CustomCultureTests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/RemoveDir_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/RegressionTests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/PortableTasks_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/OutputPathTests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/MSBuildInternalMessage_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/MSBuild_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/Microsoft.Build.Tasks.UnitTests.csproj | Switch Verify package to xUnit v3 variant. |
| src/Tasks.UnitTests/HintPathResolver_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/GetSDKReference_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/GetFileHash_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/GetCompatiblePlatform_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/GetAssembliesMetadata_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/GenerateBindingRedirects_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/FormatUrl_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/Exec_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/CreateVisualBasicManifestResourceName_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/CreateItem_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/CreateCSharpManifestResourceName_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/Copy_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssignProjectConfiguration_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/WinMDTests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/VerifyTargetFrameworkHigherThanRedist.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/VerifyTargetFrameworkAttribute.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/VerifyIgnoreVersionForFrameworkReference.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/SuggestedRedirects.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/StronglyNamedDependencyAutoUnify.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/StronglyNamedDependencyAppConfig.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/StronglyNamedDependency.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/SpecificVersionPrimary.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/ResolveAssemblyReferenceTestFixture.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/ReferenceTests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/Perf.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/NonSpecificVersionStrictPrimary.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/Node/OutOfProcRarNode_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/Miscellaneous.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/InstalledSDKResolverFixture.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/GlobalAssemblyCacheTests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/FilePrimary.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AssemblyDependency/AssemblyFoldersFromConfig_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/Al_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Tasks.UnitTests/AddToWin32Manifest_Tests.cs | Remove xUnit v2 abstractions import. |
| src/StringTools.UnitTests/StringTools.UnitTests.net35.csproj | Force OutputType Exe for net35 test project under new runner approach. |
| src/StringTools.UnitTests/InterningTestData.cs | Update xUnit-related imports. |
| src/Shared/UnitTests/xunit.runner.json | Remove xUnit v2 runner settings (shadow copy/app domain). |
| src/Shared/UnitTests/TypeLoader_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Shared/UnitTests/TestProgram.cs | Removed custom xUnit v2 console entrypoint program. |
| src/Shared/UnitTests/TestAssemblyInfo.cs | Introduce xUnit v3 pipeline startup + custom test framework wrapper for TestEnvironment. |
| src/MSBuild.UnitTests/XMake_Tests.cs | Remove unused test platform + xUnit v2 abstractions imports. |
| src/MSBuild.UnitTests/XMake_BinlogSwitch_Tests.cs | Remove xUnit v2 abstractions import. |
| src/MSBuild.UnitTests/PerfLog_Tests.cs | Remove xUnit v2 abstractions import. |
| src/MSBuild.UnitTests/MSBuildServer_Tests.cs | Remove xUnit v2 abstractions import. |
| src/MSBuild.UnitTests/MSBuildMultithreaded_Tests.cs | Remove xUnit v2 abstractions import. |
| src/MSBuild.UnitTests/Microsoft.Build.CommandLine.UnitTests.csproj | Switch Verify package to xUnit v3 variant. |
| src/MSBuild.UnitTests/CommandLineSwitches_Tests.cs | Stabilize change-wave state setup for a test. |
| src/Framework.UnitTests/FileUtilities_Tests.cs | Replace conditional fact usage with runtime skip under xUnit v3. |
| src/Framework.UnitTests/FileMatcher_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Directory.Build.targets | Update runner args/trait filtering, add xUnit v3 extensions + MTP coverage integration, remove xUnit console runner wiring. |
| src/BuildCheck.UnitTests/TaskInvocationAnalysisDataTests.cs | Remove xUnit v2 abstractions import. |
| src/BuildCheck.UnitTests/EndToEndTests.cs | Remove xUnit v2 abstractions import. |
| src/BuildCheck.UnitTests/BuildCheckManagerProviderTests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/WarningsAsMessagesAndErrors_Tests.cs | Adjust assembly location resolution logic for task loading. |
| src/Build.UnitTests/Utilities_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/TerminalLoggerConfiguration_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/TerminalLogger_Tests.cs | Remove Verify-specific attribute usage and xUnit v2 abstractions import. |
| src/Build.UnitTests/Telemetry/Telemetry_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/TaskHostFactoryLifecycle_E2E_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Resources_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/ProjectCache/ProjectCacheTests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/NodeStatus_Transition_Tests.cs | Remove Verify-specific attribute usage. |
| src/Build.UnitTests/NodeStatus_SizeChange_Tests.cs | Remove Verify-specific attribute usage. |
| src/Build.UnitTests/NetTaskHost_E2E_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/MSBuildTaskHostTests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Microsoft.Build.Engine.UnitTests.csproj | Switch Verify package to xUnit v3 variant. |
| src/Build.UnitTests/InvalidProjectFileException_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Instance/ProjectInstance_Internal_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Graph/ResultCacheBasedBuilds_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Graph/ProjectGraph_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Graph/IsolateProjects_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Graph/GraphLoadedFromSolution_tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/ExpressionTreeExpression_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/EvaluationProfiler_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Evaluation/SdkResultEvaluation_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Evaluation/ExpanderFunction_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Evaluation/Expander_Tests.cs | Remove xUnit v2 abstractions import; reset change-wave state for stability. |
| src/Build.UnitTests/EscapingInProjects_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/EndToEndCondition_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Construction/SolutionProjectGenerator_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Construction/SolutionFilter_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Construction/SolutionFile_OldParser_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Construction/SolutionFile_NewParser_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/Construction/ProjectRootElement_Tests.cs | Clear cached read-only flags to prevent cross-test pollution in same process. |
| src/Build.UnitTests/ConsoleLogger_Tests.cs | Ensure Traits.LogAllEnvironmentVariables is restored after tests. |
| src/Build.UnitTests/CLR2TaskHost_E2E_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/ChangeWaves_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BinaryLogger_Tests.cs | Stabilize test behavior around Traits.Instance state and environment variables. |
| src/Build.UnitTests/BackEnd/TaskRouter_IntegrationTests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/TaskRegistry_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/TaskHostFactory_Tests.cs | Adjust assembly location resolution logic for <UsingTask AssemblyFile=...>. |
| src/Build.UnitTests/BackEnd/TaskHostCallback_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/TaskHost_MultiThreadableTask_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/TaskBuilder_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/TargetUpToDateChecker_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/TargetEntry_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/SdkResultOutOfProc_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/SdkResolverLoader_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/MSBuild_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/LoggingContext_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/DebugUtils_tests.cs | Avoid Directory.GetFiles when debug dump dir doesn’t exist. |
| src/Build.UnitTests/BackEnd/BuildRequestConfiguration_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/BuildManager_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/BuildManager_Logging_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/AssemblyTaskFactory_E2E_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.UnitTests/BackEnd/AppHostSupport_Tests.cs | Ensure DOTNET_ROOT_X86 is tracked for restoration in tests. |
| src/Build.OM.UnitTests/NugetRestoreTests.cs | Remove xUnit v2 abstractions import. |
| src/Build.OM.UnitTests/Instance/ProjectInstance_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.OM.UnitTests/Definition/ProjectCollection_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.OM.UnitTests/Definition/Project_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.OM.UnitTests/Construction/ProjectMetadataElement_Tests.cs | Remove xUnit v2 abstractions import. |
| src/Build.OM.UnitTests/Construction/ProjectFormatting_Tests.cs | Remove xUnit v2 abstractions import. |
| global.json | Configure test runner as Microsoft.Testing.Platform. |
| eng/Version.Details.xml | Rename Arcade dependency to Microsoft.DotNet.XUnitV3Extensions. |
| eng/Version.Details.props | Update Arcade xUnit v3 extensions version properties. |
| eng/dependabot/Directory.Packages.props | Add MTP coverage package; switch Verify dependency to Verify.XunitV3. |
| Directory.Packages.props | Switch xUnit extensions package and remove xunit.console version pin. |
| Directory.Build.props | Add xUnit v3/MTP-related properties (TestRunnerName, versions, OutputType for test projects, analyzer suppression). |
| CoverageWindowsFull.runsettings | Removed legacy VS CodeCoverage runsettings. |
| CoverageWindowsFull.config | Added new coverage configuration format for MTP coverage integration. |
| Coverage.runsettings | Removed legacy non-Windows runsettings. |
| Coverage.config | Added new non-Windows coverage configuration format. |
9b1b90b to
703e681
Compare
|
/review |
|
✅ Expert Code Review (command) completed successfully! |
|
Additional findings from deeper static analysis of the xUnit v3 migration ( 🔴
|
…0076) Updated [Microsoft.Build.Framework](https://github.com/dotnet/msbuild) from 18.4.0 to 18.8.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Framework's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.8.2 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12550 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12739 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12740 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12743 * Add clear error message (MSB4233) for .NET runtime tasks on MSBuild 17.14 by @baronfel with @Copilot in https://github.com/dotnet/msbuild/pull/12662 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12759 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12760 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12762 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12744 * Remove audit sources from NuGet.config by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12796 * Bump System.Configuration.ConfigurationManager to 6.0.0 # by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12795 * Enable localization for vs17.14 build by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12799 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12814 * [vs17.14] Add test summary always in terminal logger by @nohwnd in https://github.com/dotnet/msbuild/pull/12852 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12575 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12889 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12892 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12891 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 12921813 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/12897 * Disable Localization for vs17.14 by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12903 * [automated] Merge branch 'vs16.11' => 'vs17.8' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/12798 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12815 * [automated] Merge branch 'vs17.14' => 'vs18.0' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/12917 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12934 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12935 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12941 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12940 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12939 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12966 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12965 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12964 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13038 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13049 * [vs18.0] Fix MSB1025 error when using DistributedFileLogger (-dfl flag) by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13039 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13037 * [automated] Merge branch 'vs18.0' => 'vs18.3' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13052 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13101 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13098 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13100 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13102 * Backflow 10.0.2xx VMR by @dkurepa in https://github.com/dotnet/msbuild/pull/13121 * Disable localization for vs18.0 in build configuration by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13164 * Disable localization for vs18.3 by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13165 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13161 * [vs18.3] Stabilize package versions by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13233 * [vs18.3] Add Managed Identity for bootstrapper creation by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13249 * [automated] Merge branch 'vs18.0' => 'vs18.3' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13167 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13228 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13159 ... (truncated) ## 18.7.1 ## What's Changed * Fix TraceEngine file contention deadlock in multithreaded mode by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13446 * Remove duplicate test cases in MultithreadableTaskAnalyzer by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13483 * Ensure ThreadSafeTaskAnalyzer.Tests is considered as a unit test project by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13481 * Fix MSBuildTask0002 analyzer warnings in already-migrated tasks by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13466 * Fix race conditions in task host path resolution by @AR-May in https://github.com/dotnet/msbuild/pull/13485 * Migrate ToolTask and Al task to TaskEnvironment API by @OvesN in https://github.com/dotnet/msbuild/pull/13423 * Bump main to 18.7, add vs18.6 to merge flow by @MichalPavlik in https://github.com/dotnet/msbuild/pull/13472 * Avoid allocations in GetHashCode implementations by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13475 * Add PATs rotation to agentic workflow(s) by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13496 * Fix ASP.NET WebSite projects to copy netstandard.dll facade when required by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13058 * Migrate AspNetCompiler to TaskEnvironment API by @OvesN in https://github.com/dotnet/msbuild/pull/13424 * Add review workflow by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13503 * Strengthen reviewer skill: add step-back analysis dimensions by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13504 * Add 'Request Speedometer Perf Run' to VS experimental insertion build policies by @Copilot in https://github.com/dotnet/msbuild/pull/13505 * Remove duplicate @ prefix from issueAuthor in GitOps by @akoeplinger in https://github.com/dotnet/msbuild/pull/13492 * Improve review aw by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13510 * Migrates unit tests to use RoslynCodeTaskFactory to enable running tests under .NET Core by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13500 * Fix cross-AppDomain TaskItem modifier cache regression by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13493 * Discourage review agent from approving PRs by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13512 * Stop trying to deploy ValueTuple by @rainersigwald in https://github.com/dotnet/msbuild/pull/13507 * Ad-hoc re-sign bootstrap dotnet on macOS to prevent SIGKILL by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13513 * RoslynCodeTaskFactory: Log MSB3753 when task class does not implement ITask by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13517 * Update gh-aw (upon mcp policy changes) by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13526 * Eliminate XmlChildNodes allocations in GetXmlNodeInnerContents by @nareshjo in https://github.com/dotnet/msbuild/pull/13509 * Fix telemetry allocation regression: per-engine collector ownership by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13516 * Migrate to xunit.v3 by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13482 * Fix stray brace in HandleBuildCancel trace string causing MSB1025 by @Copilot in https://github.com/dotnet/msbuild/pull/13535 * Bumping to 10.0.4 runtime packages by @MichalPavlik in https://github.com/dotnet/msbuild/pull/13533 * Remove early return in GetCanonicalForm, always call System.IO.Path by @OvesN in https://github.com/dotnet/msbuild/pull/13532 * Do not overwrite GetCopyToOutputDirectoryItemsDependsOn, just add new… by @snechaev in https://github.com/dotnet/msbuild/pull/13474 * Migrate GetReferenceAssemblyPaths task to TaskEnvironment API by @OvesN in https://github.com/dotnet/msbuild/pull/13495 * Stabilize ToolTaskThatTimeoutAndRetry test by @rainersigwald in https://github.com/dotnet/msbuild/pull/13489 * [automated] Merge branch 'vs18.6' => 'main' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13506 * Add extra test assertions around tests by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13536 * Add static eval for repo skills/agents via skill-validator by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13537 * Migrate SGen task to Task environment API by @OvesN in https://github.com/dotnet/msbuild/pull/13457 * Fix TerminalLogger assert failure for metaproj files and cached project eval ID by @OvesN in https://github.com/dotnet/msbuild/pull/13480 * Filter out approving review from pr-reviewer agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13553 * Use a unique task name per invocation to tabilize RoslynCodeTaskFactory_ReuseCompilation test by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13551 * Brief doc on feedback/logging/data systems by @rainersigwald in https://github.com/dotnet/msbuild/pull/13554 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13881982 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13437 * Stage 3: Forward BuildProjectFile* callbacks from OOP TaskHost to worker node by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13350 * Enable TaskHost Callbacks by default by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13579 * Remove unactionable info from reviewer agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13578 * Enlighten RequiresFramework35SP1Assembly task for multithreaded mode by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13575 * Make SdkResolver-provided environment variables take precedence over ambient environment by @Copilot in https://github.com/dotnet/msbuild/pull/12655 * Add dotnet/skills marketplace and enable plugins by @Evangelink in https://github.com/dotnet/msbuild/pull/13582 * The skills/agents check filters-in only touched files by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13586 * Fix skill-validation workflow failing when agents directory is deleted by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13592 ... (truncated) ## 18.6.3 ## What's Changed * Improve cross-platform node discovery for reuse with NodeMode filtering by @Copilot in https://github.com/dotnet/msbuild/pull/13256 * Updated common types XSD to remove errors from redefining `Include` attributes by @glektarssza in https://github.com/dotnet/msbuild/pull/13284 * Update VersionPrefix to 18.6.0 + insertion flow by @MichalPavlik in https://github.com/dotnet/msbuild/pull/13296 * Log warnings for skipped STR resource keys instead of failing the build by @OvesN in https://github.com/dotnet/msbuild/pull/13291 * Isolate MSBuildTaskHost from the rest of MSBuild Codebase by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13232 * Improve error messages when ToolTask overrides exit code 0 to -1 due to logged errors by @OvesN in https://github.com/dotnet/msbuild/pull/13303 * Migrate Exec task to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13171 * Enhance crash telemetry with richer diagnostics and EndBuild hang detection by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13304 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13309 * [IBuildEngine callbacks] Stage 2: RequestCores/ReleaseCores by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13306 * Only get command line args names on modern .NET by @baronfel in https://github.com/dotnet/msbuild/pull/13314 * Detect and correct worker node over-provisioning by @Copilot in https://github.com/dotnet/msbuild/pull/13220 * Add App Host Support for MSBuild by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13175 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13311 * Fix ObjectDisposedException in BuildsWhileBuildIsRunningOnServer test by @Copilot in https://github.com/dotnet/msbuild/pull/13316 * Add PoC of pipelines check skill by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13242 * Fix CodeSign.MissingSigningCert for xsd/Update-MSBuildXsds.ps1 by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13320 * Fix task host launch regressions from apphost support by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13325 * Enlighten GetFrameworkPath and GetFrameworkSdkPath. by @AR-May in https://github.com/dotnet/msbuild/pull/13282 * Add VMR codeflow health check to pipelines skill by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13326 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13281 * Fix GenerateResource to track all ResXFileRef linked files for incremental builds by @OvesN in https://github.com/dotnet/msbuild/pull/13327 * Add escape hatch for not sharing assemblies from tools directory by @AR-May in https://github.com/dotnet/msbuild/pull/13305 * Add merge-dependency-updates skill for bot PR triage by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13331 * Add diagnostic data to crash/hang telemetry and move null-Project check after RetrieveFromCache by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13332 * Update remote-host-object.md with SDK .tlb shipping and IDispatch example by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13324 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13341 * improve task migration skill by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13234 * Fix telemetry PII concerns: sanitize exceptions, project paths, and custom names by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13344 * Use .exe.config when loading "as full Framework" by @rainersigwald in https://github.com/dotnet/msbuild/pull/13349 * Fix RequestCores/ReleaseCores fallback in OOP TaskHost: throw NotImplementedException instead of logging error by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13345 * Fixed indentation for _GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences by @CEbbinghaus in https://github.com/dotnet/msbuild/pull/13358 * Fix Unix SessionId in handshake to enable cross-terminal node reuse by @JakeRadMSFT in https://github.com/dotnet/msbuild/pull/13354 * Revert "Migrate Exec task to TaskEnvironment API" by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13367 * Look for apphost when considering node reuse by @rainersigwald in https://github.com/dotnet/msbuild/pull/13368 * Move lots of shared code to Microsoft.Build.Framework by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13364 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13353 * Fix ScheduleTimeRecord.AccumulatedTime hang during solution close by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13375 * Update runtime package references to 10.0.3 by @Copilot in https://github.com/dotnet/msbuild/pull/13376 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13378 * Fix ProjectImports.zip regression from shared FileUtilities statics by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13382 * Enrich EndBuild hang diagnostics with logging service and submission state by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13385 * Enhance path normalization: add handling for consecutive directory separators by @tommcdon in https://github.com/dotnet/msbuild/pull/13369 * Move task environment drivers to Framework. by @AR-May in https://github.com/dotnet/msbuild/pull/13380 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13298 * Replace ProjectCacheService null Project crash with diagnostic telemetry by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13396 * Add agentic workflow to auto-close PRs older than 180 days by @Copilot in https://github.com/dotnet/msbuild/pull/13400 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13575337 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13394 * Respect MSBUILDPRESERVETOOLTEMPFILES in ProcessExit cleanup by @DmitriyShepelev in https://github.com/dotnet/msbuild/pull/13395 ... (truncated) ## 18.5.4 ## What's Changed * remove dead code by @SimaTian in https://github.com/dotnet/msbuild/pull/13125 * Update VersionPrefix to 18.5.0 + insertion flow by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13134 * add multithreaded task migration agent skill by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13131 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13139 * Migrate VerifyFileHash task to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13112 * Migrate GetFileHash tasks to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13111 * Diagram of VS/SDK component interactions by @rainersigwald in https://github.com/dotnet/msbuild/pull/13127 * Fix package validation telemetry assembly resolution warnings by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13144 * Adds validation to throw MSB4259 when property references contain leading or trailing whitespace outside of conditions. by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13076 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13203963 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13151 * Add MSBuild app host design by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12857 * Add Stabilize-Release.ps1 script for release process by @rainersigwald in https://github.com/dotnet/msbuild/pull/13146 * Fix chained item function empty result comparison in conditions by @JanProvaznik in https://github.com/dotnet/msbuild/pull/12901 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13162 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13160 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13217622 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13163 * Fix items logged as type name during -getitem argument by @Copilot in https://github.com/dotnet/msbuild/pull/13166 * Respect NetCoreSdkRoot property for TaskHostParameters by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13176 * Remove MachineIndependent configuration by @Copilot in https://github.com/dotnet/msbuild/pull/13180 * Remove redundant #nullable disable from 153 files by @Copilot in https://github.com/dotnet/msbuild/pull/13157 * Revert #13076 "Adds validation to throw MSB4259 when property references contain leading or trailing whitespace outside of conditions. by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13184 * Convert MSBuild.sln to slnx format and upate refs by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13185 * Implement IMultiThreadableTask for Move task by @Copilot in https://github.com/dotnet/msbuild/pull/13108 * Add hostservices translation support for clr 4 task host by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13154 * Handle null ProjectFile in InvalidProjectFileException by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13179 * Add $(LatestDotNetCoreForMSBuild) infrastructure for centralized framework targeting by @Copilot in https://github.com/dotnet/msbuild/pull/13189 * Fix TaskHost crash when task returns string[] with null elements by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13190 * Revert "Refactor Microsoft.IO usage" by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13194 * Allow null SdkResult from SdkResolver.Resolve by @rainersigwald in https://github.com/dotnet/msbuild/pull/13197 * Skill to test changes using just-built MSBuild by @rainersigwald in https://github.com/dotnet/msbuild/pull/13202 * Tell Copilot not to allow breaking changes by @rainersigwald in https://github.com/dotnet/msbuild/pull/13200 * Make nologo switch accept boolean values to enable explicit logo display control by @Copilot in https://github.com/dotnet/msbuild/pull/12541 * Migrate Unzip task to use TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13109 * Migrate ZipDirectory task to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13110 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13246767 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13204 * Add .NET Standard compatibility warnings by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13187 * Make WriteCodeFragment task locale-independent for reproducible builds by @Copilot in https://github.com/dotnet/msbuild/pull/13192 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13249478 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13207 * Fix TerminalLogger IndexOutOfRangeException when replaying binlog with fewer nodes by @Copilot in https://github.com/dotnet/msbuild/pull/12809 * Migrate DownloadFile task to use TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13113 * Add CI job for 2-stage build with -mt mode by @Copilot in https://github.com/dotnet/msbuild/pull/13124 * Localize AbsolutePath validation messages by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13115 * Refactor FrameworkFileUtilities for better performance by @AR-May in https://github.com/dotnet/msbuild/pull/13143 * Add agent instructions for MSBuild repository by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13198 * Add GetCanonicalForm to the AbsolutePath API by @AR-May in https://github.com/dotnet/msbuild/pull/13088 * Shouldly 4.3.0 by @rainersigwald in https://github.com/dotnet/msbuild/pull/13213 * Migrate WriteCodeFragment task to use TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13169 * Run the issue-labeler over pull requests using polling by @Copilot in https://github.com/dotnet/msbuild/pull/13223 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13225 ... (truncated) Commits viewable in [compare view](https://github.com/dotnet/msbuild/compare/v18.4.0...v18.8.2). </details> Updated [Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from 18.4.0 to 18.8.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Utilities.Core's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.8.2 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12550 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12739 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12740 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12743 * Add clear error message (MSB4233) for .NET runtime tasks on MSBuild 17.14 by @baronfel with @Copilot in https://github.com/dotnet/msbuild/pull/12662 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12759 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12760 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12762 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12744 * Remove audit sources from NuGet.config by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12796 * Bump System.Configuration.ConfigurationManager to 6.0.0 # by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12795 * Enable localization for vs17.14 build by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12799 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12814 * [vs17.14] Add test summary always in terminal logger by @nohwnd in https://github.com/dotnet/msbuild/pull/12852 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12575 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12889 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12892 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12891 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 12921813 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/12897 * Disable Localization for vs17.14 by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12903 * [automated] Merge branch 'vs16.11' => 'vs17.8' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/12798 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12815 * [automated] Merge branch 'vs17.14' => 'vs18.0' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/12917 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12934 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12935 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12941 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12940 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12939 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12966 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12965 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/12964 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13038 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13049 * [vs18.0] Fix MSB1025 error when using DistributedFileLogger (-dfl flag) by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13039 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13037 * [automated] Merge branch 'vs18.0' => 'vs18.3' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13052 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13101 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13098 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13100 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13102 * Backflow 10.0.2xx VMR by @dkurepa in https://github.com/dotnet/msbuild/pull/13121 * Disable localization for vs18.0 in build configuration by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13164 * Disable localization for vs18.3 by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13165 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13161 * [vs18.3] Stabilize package versions by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13233 * [vs18.3] Add Managed Identity for bootstrapper creation by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13249 * [automated] Merge branch 'vs18.0' => 'vs18.3' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13167 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13228 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13159 ... (truncated) ## 18.7.1 ## What's Changed * Fix TraceEngine file contention deadlock in multithreaded mode by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13446 * Remove duplicate test cases in MultithreadableTaskAnalyzer by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13483 * Ensure ThreadSafeTaskAnalyzer.Tests is considered as a unit test project by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13481 * Fix MSBuildTask0002 analyzer warnings in already-migrated tasks by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13466 * Fix race conditions in task host path resolution by @AR-May in https://github.com/dotnet/msbuild/pull/13485 * Migrate ToolTask and Al task to TaskEnvironment API by @OvesN in https://github.com/dotnet/msbuild/pull/13423 * Bump main to 18.7, add vs18.6 to merge flow by @MichalPavlik in https://github.com/dotnet/msbuild/pull/13472 * Avoid allocations in GetHashCode implementations by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13475 * Add PATs rotation to agentic workflow(s) by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13496 * Fix ASP.NET WebSite projects to copy netstandard.dll facade when required by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13058 * Migrate AspNetCompiler to TaskEnvironment API by @OvesN in https://github.com/dotnet/msbuild/pull/13424 * Add review workflow by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13503 * Strengthen reviewer skill: add step-back analysis dimensions by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13504 * Add 'Request Speedometer Perf Run' to VS experimental insertion build policies by @Copilot in https://github.com/dotnet/msbuild/pull/13505 * Remove duplicate @ prefix from issueAuthor in GitOps by @akoeplinger in https://github.com/dotnet/msbuild/pull/13492 * Improve review aw by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13510 * Migrates unit tests to use RoslynCodeTaskFactory to enable running tests under .NET Core by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13500 * Fix cross-AppDomain TaskItem modifier cache regression by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13493 * Discourage review agent from approving PRs by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13512 * Stop trying to deploy ValueTuple by @rainersigwald in https://github.com/dotnet/msbuild/pull/13507 * Ad-hoc re-sign bootstrap dotnet on macOS to prevent SIGKILL by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13513 * RoslynCodeTaskFactory: Log MSB3753 when task class does not implement ITask by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13517 * Update gh-aw (upon mcp policy changes) by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13526 * Eliminate XmlChildNodes allocations in GetXmlNodeInnerContents by @nareshjo in https://github.com/dotnet/msbuild/pull/13509 * Fix telemetry allocation regression: per-engine collector ownership by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13516 * Migrate to xunit.v3 by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13482 * Fix stray brace in HandleBuildCancel trace string causing MSB1025 by @Copilot in https://github.com/dotnet/msbuild/pull/13535 * Bumping to 10.0.4 runtime packages by @MichalPavlik in https://github.com/dotnet/msbuild/pull/13533 * Remove early return in GetCanonicalForm, always call System.IO.Path by @OvesN in https://github.com/dotnet/msbuild/pull/13532 * Do not overwrite GetCopyToOutputDirectoryItemsDependsOn, just add new… by @snechaev in https://github.com/dotnet/msbuild/pull/13474 * Migrate GetReferenceAssemblyPaths task to TaskEnvironment API by @OvesN in https://github.com/dotnet/msbuild/pull/13495 * Stabilize ToolTaskThatTimeoutAndRetry test by @rainersigwald in https://github.com/dotnet/msbuild/pull/13489 * [automated] Merge branch 'vs18.6' => 'main' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13506 * Add extra test assertions around tests by @Youssef1313 in https://github.com/dotnet/msbuild/pull/13536 * Add static eval for repo skills/agents via skill-validator by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13537 * Migrate SGen task to Task environment API by @OvesN in https://github.com/dotnet/msbuild/pull/13457 * Fix TerminalLogger assert failure for metaproj files and cached project eval ID by @OvesN in https://github.com/dotnet/msbuild/pull/13480 * Filter out approving review from pr-reviewer agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13553 * Use a unique task name per invocation to tabilize RoslynCodeTaskFactory_ReuseCompilation test by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13551 * Brief doc on feedback/logging/data systems by @rainersigwald in https://github.com/dotnet/msbuild/pull/13554 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13881982 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13437 * Stage 3: Forward BuildProjectFile* callbacks from OOP TaskHost to worker node by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13350 * Enable TaskHost Callbacks by default by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13579 * Remove unactionable info from reviewer agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13578 * Enlighten RequiresFramework35SP1Assembly task for multithreaded mode by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13575 * Make SdkResolver-provided environment variables take precedence over ambient environment by @Copilot in https://github.com/dotnet/msbuild/pull/12655 * Add dotnet/skills marketplace and enable plugins by @Evangelink in https://github.com/dotnet/msbuild/pull/13582 * The skills/agents check filters-in only touched files by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13586 * Fix skill-validation workflow failing when agents directory is deleted by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13592 ... (truncated) ## 18.6.3 ## What's Changed * Improve cross-platform node discovery for reuse with NodeMode filtering by @Copilot in https://github.com/dotnet/msbuild/pull/13256 * Updated common types XSD to remove errors from redefining `Include` attributes by @glektarssza in https://github.com/dotnet/msbuild/pull/13284 * Update VersionPrefix to 18.6.0 + insertion flow by @MichalPavlik in https://github.com/dotnet/msbuild/pull/13296 * Log warnings for skipped STR resource keys instead of failing the build by @OvesN in https://github.com/dotnet/msbuild/pull/13291 * Isolate MSBuildTaskHost from the rest of MSBuild Codebase by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13232 * Improve error messages when ToolTask overrides exit code 0 to -1 due to logged errors by @OvesN in https://github.com/dotnet/msbuild/pull/13303 * Migrate Exec task to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13171 * Enhance crash telemetry with richer diagnostics and EndBuild hang detection by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13304 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13309 * [IBuildEngine callbacks] Stage 2: RequestCores/ReleaseCores by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13306 * Only get command line args names on modern .NET by @baronfel in https://github.com/dotnet/msbuild/pull/13314 * Detect and correct worker node over-provisioning by @Copilot in https://github.com/dotnet/msbuild/pull/13220 * Add App Host Support for MSBuild by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13175 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13311 * Fix ObjectDisposedException in BuildsWhileBuildIsRunningOnServer test by @Copilot in https://github.com/dotnet/msbuild/pull/13316 * Add PoC of pipelines check skill by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13242 * Fix CodeSign.MissingSigningCert for xsd/Update-MSBuildXsds.ps1 by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13320 * Fix task host launch regressions from apphost support by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13325 * Enlighten GetFrameworkPath and GetFrameworkSdkPath. by @AR-May in https://github.com/dotnet/msbuild/pull/13282 * Add VMR codeflow health check to pipelines skill by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13326 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13281 * Fix GenerateResource to track all ResXFileRef linked files for incremental builds by @OvesN in https://github.com/dotnet/msbuild/pull/13327 * Add escape hatch for not sharing assemblies from tools directory by @AR-May in https://github.com/dotnet/msbuild/pull/13305 * Add merge-dependency-updates skill for bot PR triage by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13331 * Add diagnostic data to crash/hang telemetry and move null-Project check after RetrieveFromCache by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13332 * Update remote-host-object.md with SDK .tlb shipping and IDispatch example by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13324 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13341 * improve task migration skill by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13234 * Fix telemetry PII concerns: sanitize exceptions, project paths, and custom names by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13344 * Use .exe.config when loading "as full Framework" by @rainersigwald in https://github.com/dotnet/msbuild/pull/13349 * Fix RequestCores/ReleaseCores fallback in OOP TaskHost: throw NotImplementedException instead of logging error by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13345 * Fixed indentation for _GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences by @CEbbinghaus in https://github.com/dotnet/msbuild/pull/13358 * Fix Unix SessionId in handshake to enable cross-terminal node reuse by @JakeRadMSFT in https://github.com/dotnet/msbuild/pull/13354 * Revert "Migrate Exec task to TaskEnvironment API" by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13367 * Look for apphost when considering node reuse by @rainersigwald in https://github.com/dotnet/msbuild/pull/13368 * Move lots of shared code to Microsoft.Build.Framework by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13364 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13353 * Fix ScheduleTimeRecord.AccumulatedTime hang during solution close by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13375 * Update runtime package references to 10.0.3 by @Copilot in https://github.com/dotnet/msbuild/pull/13376 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13378 * Fix ProjectImports.zip regression from shared FileUtilities statics by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13382 * Enrich EndBuild hang diagnostics with logging service and submission state by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13385 * Enhance path normalization: add handling for consecutive directory separators by @tommcdon in https://github.com/dotnet/msbuild/pull/13369 * Move task environment drivers to Framework. by @AR-May in https://github.com/dotnet/msbuild/pull/13380 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13298 * Replace ProjectCacheService null Project crash with diagnostic telemetry by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13396 * Add agentic workflow to auto-close PRs older than 180 days by @Copilot in https://github.com/dotnet/msbuild/pull/13400 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13575337 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13394 * Respect MSBUILDPRESERVETOOLTEMPFILES in ProcessExit cleanup by @DmitriyShepelev in https://github.com/dotnet/msbuild/pull/13395 ... (truncated) ## 18.5.4 ## What's Changed * remove dead code by @SimaTian in https://github.com/dotnet/msbuild/pull/13125 * Update VersionPrefix to 18.5.0 + insertion flow by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13134 * add multithreaded task migration agent skill by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13131 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13139 * Migrate VerifyFileHash task to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13112 * Migrate GetFileHash tasks to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13111 * Diagram of VS/SDK component interactions by @rainersigwald in https://github.com/dotnet/msbuild/pull/13127 * Fix package validation telemetry assembly resolution warnings by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13144 * Adds validation to throw MSB4259 when property references contain leading or trailing whitespace outside of conditions. by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13076 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13203963 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13151 * Add MSBuild app host design by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/12857 * Add Stabilize-Release.ps1 script for release process by @rainersigwald in https://github.com/dotnet/msbuild/pull/13146 * Fix chained item function empty result comparison in conditions by @JanProvaznik in https://github.com/dotnet/msbuild/pull/12901 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13162 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13160 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13217622 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13163 * Fix items logged as type name during -getitem argument by @Copilot in https://github.com/dotnet/msbuild/pull/13166 * Respect NetCoreSdkRoot property for TaskHostParameters by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13176 * Remove MachineIndependent configuration by @Copilot in https://github.com/dotnet/msbuild/pull/13180 * Remove redundant #nullable disable from 153 files by @Copilot in https://github.com/dotnet/msbuild/pull/13157 * Revert #13076 "Adds validation to throw MSB4259 when property references contain leading or trailing whitespace outside of conditions. by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13184 * Convert MSBuild.sln to slnx format and upate refs by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13185 * Implement IMultiThreadableTask for Move task by @Copilot in https://github.com/dotnet/msbuild/pull/13108 * Add hostservices translation support for clr 4 task host by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13154 * Handle null ProjectFile in InvalidProjectFileException by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13179 * Add $(LatestDotNetCoreForMSBuild) infrastructure for centralized framework targeting by @Copilot in https://github.com/dotnet/msbuild/pull/13189 * Fix TaskHost crash when task returns string[] with null elements by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13190 * Revert "Refactor Microsoft.IO usage" by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13194 * Allow null SdkResult from SdkResolver.Resolve by @rainersigwald in https://github.com/dotnet/msbuild/pull/13197 * Skill to test changes using just-built MSBuild by @rainersigwald in https://github.com/dotnet/msbuild/pull/13202 * Tell Copilot not to allow breaking changes by @rainersigwald in https://github.com/dotnet/msbuild/pull/13200 * Make nologo switch accept boolean values to enable explicit logo display control by @Copilot in https://github.com/dotnet/msbuild/pull/12541 * Migrate Unzip task to use TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13109 * Migrate ZipDirectory task to TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13110 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13246767 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13204 * Add .NET Standard compatibility warnings by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13187 * Make WriteCodeFragment task locale-independent for reproducible builds by @Copilot in https://github.com/dotnet/msbuild/pull/13192 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13249478 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13207 * Fix TerminalLogger IndexOutOfRangeException when replaying binlog with fewer nodes by @Copilot in https://github.com/dotnet/msbuild/pull/12809 * Migrate DownloadFile task to use TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13113 * Add CI job for 2-stage build with -mt mode by @Copilot in https://github.com/dotnet/msbuild/pull/13124 * Localize AbsolutePath validation messages by @JanProvaznik in https://github.com/dotnet/msbuild/pull/13115 * Refactor FrameworkFileUtilities for better performance by @AR-May in https://github.com/dotnet/msbuild/pull/13143 * Add agent instructions for MSBuild repository by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13198 * Add GetCanonicalForm to the AbsolutePath API by @AR-May in https://github.com/dotnet/msbuild/pull/13088 * Shouldly 4.3.0 by @rainersigwald in https://github.com/dotnet/msbuild/pull/13213 * Migrate WriteCodeFragment task to use TaskEnvironment API by @Copilot in https://github.com/dotnet/msbuild/pull/13169 * Run the issue-labeler over pull requests using polling by @Copilot in https://github.com/dotnet/msbuild/pull/13223 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13225 ... (truncated) Commits viewable in [compare view](https://github.com/dotnet/msbuild/compare/v18.4.0...v18.8.2). </details> 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> ###### Microsoft Reviewers: [Open in CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/Azure/bicep/pull/20076) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updated [Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from 18.6.3 to 18.8.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Utilities.Core's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.8.2 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12550 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12739 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12740 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12743 * Add clear error message (MSB4233) for .NET runtime tasks on MSBuild 17.14 by @baronfel with @Copilot in dotnet/msbuild#12662 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12759 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12760 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12762 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12744 * Remove audit sources from NuGet.config by @YuliiaKovalova in dotnet/msbuild#12796 * Bump System.Configuration.ConfigurationManager to 6.0.0 # by @YuliiaKovalova in dotnet/msbuild#12795 * Enable localization for vs17.14 build by @YuliiaKovalova in dotnet/msbuild#12799 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12814 * [vs17.14] Add test summary always in terminal logger by @nohwnd in dotnet/msbuild#12852 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12575 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12889 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12892 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12891 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 12921813 by @dotnet-bot in dotnet/msbuild#12897 * Disable Localization for vs17.14 by @YuliiaKovalova in dotnet/msbuild#12903 * [automated] Merge branch 'vs16.11' => 'vs17.8' by @github-actions[bot] in dotnet/msbuild#12798 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12815 * [automated] Merge branch 'vs17.14' => 'vs18.0' by @github-actions[bot] in dotnet/msbuild#12917 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12934 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12935 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12941 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12940 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12939 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12966 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12965 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#12964 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13038 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13049 * [vs18.0] Fix MSB1025 error when using DistributedFileLogger (-dfl flag) by @github-actions[bot] in dotnet/msbuild#13039 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13037 * [automated] Merge branch 'vs18.0' => 'vs18.3' by @github-actions[bot] in dotnet/msbuild#13052 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13101 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13098 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13100 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13102 * Backflow 10.0.2xx VMR by @dkurepa in dotnet/msbuild#13121 * Disable localization for vs18.0 in build configuration by @YuliiaKovalova in dotnet/msbuild#13164 * Disable localization for vs18.3 by @YuliiaKovalova in dotnet/msbuild#13165 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13161 * [vs18.3] Stabilize package versions by @JanProvaznik in dotnet/msbuild#13233 * [vs18.3] Add Managed Identity for bootstrapper creation by @github-actions[bot] in dotnet/msbuild#13249 * [automated] Merge branch 'vs18.0' => 'vs18.3' by @github-actions[bot] in dotnet/msbuild#13167 * [vs18.3] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13228 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13159 ... (truncated) ## 18.7.1 ## What's Changed * Fix TraceEngine file contention deadlock in multithreaded mode by @JanProvaznik in dotnet/msbuild#13446 * Remove duplicate test cases in MultithreadableTaskAnalyzer by @Youssef1313 in dotnet/msbuild#13483 * Ensure ThreadSafeTaskAnalyzer.Tests is considered as a unit test project by @Youssef1313 in dotnet/msbuild#13481 * Fix MSBuildTask0002 analyzer warnings in already-migrated tasks by @JanProvaznik in dotnet/msbuild#13466 * Fix race conditions in task host path resolution by @AR-May in dotnet/msbuild#13485 * Migrate ToolTask and Al task to TaskEnvironment API by @OvesN in dotnet/msbuild#13423 * Bump main to 18.7, add vs18.6 to merge flow by @MichalPavlik in dotnet/msbuild#13472 * Avoid allocations in GetHashCode implementations by @DustinCampbell in dotnet/msbuild#13475 * Add PATs rotation to agentic workflow(s) by @JanKrivanek in dotnet/msbuild#13496 * Fix ASP.NET WebSite projects to copy netstandard.dll facade when required by @JanProvaznik in dotnet/msbuild#13058 * Migrate AspNetCompiler to TaskEnvironment API by @OvesN in dotnet/msbuild#13424 * Add review workflow by @JanKrivanek in dotnet/msbuild#13503 * Strengthen reviewer skill: add step-back analysis dimensions by @JanProvaznik in dotnet/msbuild#13504 * Add 'Request Speedometer Perf Run' to VS experimental insertion build policies by @Copilot in dotnet/msbuild#13505 * Remove duplicate @ prefix from issueAuthor in GitOps by @akoeplinger in dotnet/msbuild#13492 * Improve review aw by @JanKrivanek in dotnet/msbuild#13510 * Migrates unit tests to use RoslynCodeTaskFactory to enable running tests under .NET Core by @jankratochvilcz in dotnet/msbuild#13500 * Fix cross-AppDomain TaskItem modifier cache regression by @DustinCampbell in dotnet/msbuild#13493 * Discourage review agent from approving PRs by @JanKrivanek in dotnet/msbuild#13512 * Stop trying to deploy ValueTuple by @rainersigwald in dotnet/msbuild#13507 * Ad-hoc re-sign bootstrap dotnet on macOS to prevent SIGKILL by @jankratochvilcz in dotnet/msbuild#13513 * RoslynCodeTaskFactory: Log MSB3753 when task class does not implement ITask by @jankratochvilcz in dotnet/msbuild#13517 * Update gh-aw (upon mcp policy changes) by @JanKrivanek in dotnet/msbuild#13526 * Eliminate XmlChildNodes allocations in GetXmlNodeInnerContents by @nareshjo in dotnet/msbuild#13509 * Fix telemetry allocation regression: per-engine collector ownership by @JanProvaznik in dotnet/msbuild#13516 * Migrate to xunit.v3 by @Youssef1313 in dotnet/msbuild#13482 * Fix stray brace in HandleBuildCancel trace string causing MSB1025 by @Copilot in dotnet/msbuild#13535 * Bumping to 10.0.4 runtime packages by @MichalPavlik in dotnet/msbuild#13533 * Remove early return in GetCanonicalForm, always call System.IO.Path by @OvesN in dotnet/msbuild#13532 * Do not overwrite GetCopyToOutputDirectoryItemsDependsOn, just add new… by @snechaev in dotnet/msbuild#13474 * Migrate GetReferenceAssemblyPaths task to TaskEnvironment API by @OvesN in dotnet/msbuild#13495 * Stabilize ToolTaskThatTimeoutAndRetry test by @rainersigwald in dotnet/msbuild#13489 * [automated] Merge branch 'vs18.6' => 'main' by @github-actions[bot] in dotnet/msbuild#13506 * Add extra test assertions around tests by @Youssef1313 in dotnet/msbuild#13536 * Add static eval for repo skills/agents via skill-validator by @JanKrivanek in dotnet/msbuild#13537 * Migrate SGen task to Task environment API by @OvesN in dotnet/msbuild#13457 * Fix TerminalLogger assert failure for metaproj files and cached project eval ID by @OvesN in dotnet/msbuild#13480 * Filter out approving review from pr-reviewer agent by @JanKrivanek in dotnet/msbuild#13553 * Use a unique task name per invocation to tabilize RoslynCodeTaskFactory_ReuseCompilation test by @huulinhnguyen-dev in dotnet/msbuild#13551 * Brief doc on feedback/logging/data systems by @rainersigwald in dotnet/msbuild#13554 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13881982 by @dotnet-bot in dotnet/msbuild#13437 * Stage 3: Forward BuildProjectFile* callbacks from OOP TaskHost to worker node by @JanProvaznik in dotnet/msbuild#13350 * Enable TaskHost Callbacks by default by @JanProvaznik in dotnet/msbuild#13579 * Remove unactionable info from reviewer agent by @JanKrivanek in dotnet/msbuild#13578 * Enlighten RequiresFramework35SP1Assembly task for multithreaded mode by @jankratochvilcz in dotnet/msbuild#13575 * Make SdkResolver-provided environment variables take precedence over ambient environment by @Copilot in dotnet/msbuild#12655 * Add dotnet/skills marketplace and enable plugins by @Evangelink in dotnet/msbuild#13582 * The skills/agents check filters-in only touched files by @JanKrivanek in dotnet/msbuild#13586 * Fix skill-validation workflow failing when agents directory is deleted by @JeremyKuhne in dotnet/msbuild#13592 ... (truncated) Commits viewable in [compare view](dotnet/msbuild@v18.6.3...v18.8.2). </details> [](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>
No description provided.