Skip to content

Remove early return in GetCanonicalForm, always call System.IO.Path#13532

Merged
JanProvaznik merged 3 commits into
dotnet:mainfrom
OvesN:fix/remove-getcanonicalform-optimization
Apr 14, 2026
Merged

Remove early return in GetCanonicalForm, always call System.IO.Path#13532
JanProvaznik merged 3 commits into
dotnet:mainfrom
OvesN:fix/remove-getcanonicalform-optimization

Conversation

@OvesN

@OvesN OvesN commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

Fixes #13514

Context

AbsolutePath.GetCanonicalForm() silently accepted invalid path characters that Path.GetFullPath would reject. An optimization branch skipped calling Path.GetFullPath when the path had no relative segments, separator issues, or consecutive separators — causing invalid characters to never be validated.

Changes Made

AbsolutePath.cs

  • Removed the optimization branch in GetCanonicalForm() that skipped calling Path.GetFullPath for already-canonical-looking paths.
  • Removed early return if value is null or empty.
  • GetCanonicalForm() now always calls System.IO.Path.GetFullPath.

Testing

AbsolutePath_Tests.cs

  • Added GetCanonicalForm_InvalidPathCharacters_ShouldThrowSameAsPathGetFullPath — verifies that GetCanonicalForm() throws the same exception type as Path.GetFullPath for paths containing invalid characters.

Copilot AI review requested due to automatic review settings April 13, 2026 12:48
@OvesN OvesN changed the title Remove optimization branch in GetCanonicalForm, always call Path.GetF… Remove optimization branch in GetCanonicalForm Apr 13, 2026
@OvesN OvesN self-assigned this Apr 13, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes a behavioral inconsistency in Microsoft.Build.Framework.AbsolutePath.GetCanonicalForm() where some “already-canonical-looking” paths could bypass Path.GetFullPath and therefore fail to reject invalid path characters. The change aligns canonicalization behavior with the BCL so invalid paths are rejected consistently.

Changes:

  • Removed the “skip Path.GetFullPath” optimization branch in AbsolutePath.GetCanonicalForm() so it always calls Path.GetFullPath.
  • Updated XML docs to explicitly state invalid path characters are rejected.
  • Added a unit test ensuring GetCanonicalForm() throws the same exception type as Path.GetFullPath for invalid characters.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/Framework/PathHelpers/AbsolutePath.cs Ensures canonicalization always runs through Path.GetFullPath, fixing invalid-character validation gaps.
src/Framework.UnitTests/AbsolutePath_Tests.cs Adds regression coverage verifying exception-type parity with Path.GetFullPath for invalid paths.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review Summary

This PR removes the ChangeWave.Wave18_6 fast-path optimization from GetCanonicalForm() and always delegates to Path.GetFullPath. The intent — simpler code and consistent BCL behavior including invalid-character rejection — is reasonable, but there's a notable performance concern.

Key Finding

Performance regression on hot paths (Medium priority): The removed optimization avoided Path.GetFullPath for already-canonical paths (which is the common case). GetCanonicalForm() is called per-item in Copy, FindUnderPath, and AssignTargetPath — all with explicit performance annotations. The AssignTargetPath source code itself contains a PERF NOTE warning that Path.GetFullPath() "consumes a lot of memory, esp. when we have a lot of items."

If the motivation is rejecting invalid path characters, consider augmenting the existing fast-path with an invalid-character check rather than removing the optimization entirely. This would preserve the performance characteristics while gaining the correctness improvement.

Minor Items

  • Redundant type assertion in the test (line 313) — Should.Throw already checks type
  • Manual try/catch could be simplified with Record.Exception

Dimensions with No Issues

ChangeWave discipline (reverting to simpler behavior is fine), backwards compatibility (no new warnings/errors for valid paths), cross-platform correctness, null safety, concurrency, naming, API surface — all clean.

Note

🔒 Integrity filter blocked 2 items

The following items were blocked because they don't meet the GitHub integrity level.

  • #13532 pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #13532 pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by Expert Code Review (on open) for issue #13532 · ● 2.2M

Comment thread src/Framework/PathHelpers/AbsolutePath.cs Outdated
Comment thread src/Framework.UnitTests/AbsolutePath_Tests.cs Outdated
Comment thread src/Framework.UnitTests/AbsolutePath_Tests.cs Outdated
@OvesN
OvesN force-pushed the fix/remove-getcanonicalform-optimization branch 2 times, most recently from 0336eab to 1e6dec1 Compare April 13, 2026 13:29
@OvesN OvesN changed the title Remove optimization branch in GetCanonicalForm Remove early return in GetCanonicalForm Apr 13, 2026
@OvesN
OvesN requested review from AR-May and JanProvaznik April 13, 2026 13:37
Comment thread src/Framework/PathHelpers/AbsolutePath.cs
Comment thread src/Framework/PathHelpers/AbsolutePath.cs Outdated
Comment thread src/Framework/PathHelpers/AbsolutePath.cs
…ullPath

The optimization in GetCanonicalForm() that skipped Path.GetFullPath for paths
without relative segments, separator issues, or consecutive separators caused
invalid path characters to be silently accepted. This broke tasks that relied
on Path.GetFullPath throwing for invalid characters.

Simplify GetCanonicalForm() to always call Path.GetFullPath, ensuring consistent
behavior with the BCL including rejection of invalid path characters.

Add test verifying GetCanonicalForm() throws the same exception as Path.GetFullPath
for paths containing invalid characters (null character).

Fixes dotnet#13514

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@OvesN
OvesN force-pushed the fix/remove-getcanonicalform-optimization branch from 0d7dafd to 7cf86ab Compare April 14, 2026 08:35
@OvesN OvesN changed the title Remove early return in GetCanonicalForm Remove early return in GetCanonicalForm, always call System.IO.Path Apr 14, 2026
This was referenced Jul 15, 2026
microsoft-github-policy-service Bot pushed a commit to Azure/bicep that referenced this pull request Jul 19, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AbsolutePath.GetCanonicalForm() silently accepts invalid path characters that Path.GetFullPath would reject

4 participants