Enable trim/AOT analyzers for Microsoft.Build and clean up annotations - #14064
Conversation
There was a problem hiding this comment.
Pull request overview
This PR enables IL trim/AOT analysis for Microsoft.Build (via IsAotCompatible on net8.0+) and resolves the resulting IL warnings primarily by propagating [RequiresUnreferencedCode] through reflection-heavy/extensibility call chains, adding targeted suppressions at message-pump/delegate boundaries, and tightening DynamicallyAccessedMembers annotations.
Changes:
- Enable trim/AOT analyzers for
src/Build/Microsoft.Build.csproj(net8.0+ only) and eliminate IL warnings acrossnet10.0+net472. - Propagate
[RequiresUnreferencedCode]across task loading, SDK resolution, logging, project cache, evaluation/graph, build-request engine, and BuildCheck acquisition. - Apply a small set of AOT-friendly refactors (notably
ParallelWorkSet, task-parameter array creation, and logger registration) to avoid analyzer-triggering patterns.
Reviewed changes
Copilot reviewed 64 out of 64 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Build/Microsoft.Build.csproj | Enables IsAotCompatible for net8.0+ to run trim/AOT analyzers. |
| src/Tasks/XamlTaskFactory/XamlTaskFactory.cs | Adds DynamicallyAccessedMembers annotation to TaskType. |
| src/Tasks/RoslynCodeTaskFactory/RoslynCodeTaskFactory.cs | Isolates trim-unsafe reflection behind RUC helpers; adjusts suppressions. |
| src/Tasks/CodeTaskFactory.cs | Annotates TaskType with DynamicallyAccessedMembers; updates stub branch. |
| src/Shared/TypeLoader.cs | Marks runtime assembly/type loading paths as RUC. |
| src/Shared/TaskParameter.cs | AOT-friendly array creation for primitive arrays during translation. |
| src/Shared/TaskLoader.cs | Adds suppression on type-filter delegate used during reflective discovery. |
| src/Shared/TaskEngineAssemblyResolver.cs | Adds suppression on assembly-resolve handlers. |
| src/Framework/ReflectableTaskPropertyInfo.cs | Reworks property lookup to avoid trim-unfriendly APIs; narrows DAM. |
| src/Framework/Loader/LoadedType.cs | Expands DAM requirements to include public parameterless ctor. |
| src/Framework/ITaskFactory.cs | Adds DAM annotation to ITaskFactory.TaskType. |
| src/Build/Utilities/NuGetFrameworkWrapper.cs | Marks runtime load/reflection over NuGet.Frameworks as RUC. |
| src/Build/ObjectModelRemoting/DefinitionObjectsLinks/ProjectLink.cs | Marks remote evaluation/build helper APIs as RUC. |
| src/Build/Logging/LoggerDescription.cs | Marks reflective logger creation as RUC; adds delegate suppressions. |
| src/Build/Instance/TaskRegistry.cs | Marks reflective task factory loading/parameter reflection as RUC; adds suppressions for unrecognized reflection patterns. |
| src/Build/Instance/TaskFactories/AssemblyTaskFactory.cs | Marks assembly task factory type-loading paths as RUC; annotates TaskType. |
| src/Build/Instance/ProjectInstance.cs | Marks project instance constructors/build/evaluation-heavy entrypoints as RUC. |
| src/Build/Graph/ProjectGraph.cs | Marks project graph construction/evaluation entrypoints as RUC. |
| src/Build/Graph/ParallelWorkSet.cs | Replaces Lazy<TResult> with custom lazy work item to avoid IL2091. |
| src/Build/Graph/GraphBuildSubmission.cs | Marks cache-plugin initialization paths as RUC. |
| src/Build/Evaluation/IntrinsicFunctions.cs | Suppresses trim warning around Lazy factory calling RUC code. |
| src/Build/Evaluation/Expander.cs | Adds DAM annotations and suppressions around property-function reflection paths. |
| src/Build/Evaluation/Evaluator.cs | Marks evaluation/import expansion paths as RUC. |
| src/Build/Definition/ProjectCollection.cs | Adds RUC propagation and boundary suppressions around logger registration and project loading. |
| src/Build/Definition/Project.cs | Marks public project construction/evaluation/build entrypoints as RUC. |
| src/Build/Construction/Solution/SolutionProjectGenerator.cs | Marks solution evaluation/generation paths as RUC. |
| src/Build/BuildCheck/Infrastructure/NullBuildCheckManager.cs | Marks custom BuildCheck acquisition as RUC. |
| src/Build/BuildCheck/Infrastructure/IBuildCheckManager.cs | Adds RUC to custom BuildCheck acquisition contract. |
| src/Build/BuildCheck/Infrastructure/BuildCheckManagerProvider.cs | Marks custom check materialization/acquisition paths as RUC; adds suppression boundary. |
| src/Build/BuildCheck/Infrastructure/BuildCheckBuildEventHandler.cs | Adds suppression boundary on build-event handler invoking acquisition. |
| src/Build/BuildCheck/Acquisition/IBuildCheckAcquisitionModule.cs | Marks acquisition interface as RUC. |
| src/Build/BuildCheck/Acquisition/BuildCheckAcquisitionModule.cs | Marks acquisition implementation as RUC. |
| src/Build/BackEnd/TaskExecutionHost/TaskExecutionHost.cs | Adds RUC propagation and AOT-friendly array creation for task parameters. |
| src/Build/BackEnd/Shared/BuildRequestConfiguration.cs | Marks project load/eval into configuration as RUC. |
| src/Build/BackEnd/Node/OutOfProcNode.cs | Adds message-pump suppression boundary; propagates RUC into request handling. |
| src/Build/BackEnd/Node/InProcNode.cs | Adds message-pump suppression boundary; propagates RUC into request handling. |
| src/Build/BackEnd/Components/SdkResolution/SdkResolverService.cs | Marks SDK resolution (runtime resolver load/reflection) as RUC. |
| src/Build/BackEnd/Components/SdkResolution/SdkResolverLoader.cs | Marks SDK resolver discovery/loading/reflection as RUC. |
| src/Build/BackEnd/Components/SdkResolution/OutOfProcNodeSdkResolverService.cs | Propagates RUC to out-of-proc resolver service. |
| src/Build/BackEnd/Components/SdkResolution/MainNodeSdkResolverService.cs | Adds suppression boundary in packet handler; propagates RUC to ResolveSdk. |
| src/Build/BackEnd/Components/SdkResolution/ISdkResolverService.cs | Adds RUC to SDK resolver service contract. |
| src/Build/BackEnd/Components/SdkResolution/HostedSdkResolverServiceBase.cs | Adds RUC to hosted resolver service base contract. |
| src/Build/BackEnd/Components/SdkResolution/CachingSdkResolverService.cs | Propagates RUC to caching wrapper. |
| src/Build/BackEnd/Components/SdkResolution/CachingSdkResolverLoader.cs | Propagates RUC to caching loader overrides. |
| src/Build/BackEnd/Components/RequestBuilder/TaskHost.cs | Adds suppression boundary for public task-callback contract; propagates RUC into internal build entrypoints. |
| src/Build/BackEnd/Components/RequestBuilder/TaskBuilder.cs | Propagates RUC to task execution pipeline methods. |
| src/Build/BackEnd/Components/RequestBuilder/TargetEntry.cs | Propagates RUC to target execution pipeline methods. |
| src/Build/BackEnd/Components/RequestBuilder/TargetBuilder.cs | Propagates RUC to target build/callback methods. |
| src/Build/BackEnd/Components/RequestBuilder/RequestBuilder.cs | Propagates RUC through request builder thread/pump paths. |
| src/Build/BackEnd/Components/RequestBuilder/ITaskBuilder.cs | Adds RUC to task-builder contract. |
| src/Build/BackEnd/Components/RequestBuilder/ITargetBuilderCallback.cs | Adds RUC to target-builder callback contract. |
| src/Build/BackEnd/Components/RequestBuilder/ITargetBuilder.cs | Adds RUC to target-builder contract. |
| src/Build/BackEnd/Components/RequestBuilder/IRequestBuilderCallback.cs | Adds RUC to request-builder callback contract. |
| src/Build/BackEnd/Components/RequestBuilder/IRequestBuilder.cs | Adds RUC to request-builder contract. |
| src/Build/BackEnd/Components/RequestBuilder/IntrinsicTasks/MSBuild.cs | Adds suppression boundary for intrinsic-task reflective execution wall. |
| src/Build/BackEnd/Components/RequestBuilder/IntrinsicTasks/IntrinsicTaskFactory.cs | Adds DAM annotations to intrinsic task factory TaskType. |
| src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs | Marks plugin loading/reflection/materialization as RUC; adds DAM for ctor activation. |
| src/Build/BackEnd/Components/Logging/LoggingService.cs | Removes reflection for in-box forwarding logger; factors core registration helper; adds RUC to reflective entrypoints. |
| src/Build/BackEnd/Components/Logging/ILoggingService.cs | Adds RUC to distributed logger registration / node logger init contracts. |
| src/Build/BackEnd/Components/Logging/BuildErrorTelemetryTracker.cs | Replaces enum-values reflection with constant-length array sizing. |
| src/Build/BackEnd/Components/BuildRequestEngine/IBuildRequestEngine.cs | Adds RUC to engine contract entrypoints. |
| src/Build/BackEnd/Components/BuildRequestEngine/BuildRequestEngine.cs | Propagates RUC into engine implementation; adds suppression boundaries for event handlers. |
| src/Build/BackEnd/BuildManager/BuildSubmission.cs | Propagates RUC through submission execution entrypoints. |
| src/Build/BackEnd/BuildManager/BuildManager.cs | Propagates RUC through build lifecycle and packet processing entrypoints; adds message-pump suppression boundary. |
There was a problem hiding this comment.
Design Before Implementation — ISSUE
SEVERITY: MAJOR
FILE: src/Build/BackEnd/Components/Logging/BuildErrorTelemetryTracker.cs
LINES: 39 (the _errorCounts initializer)
SCENARIO: A developer adds a new ErrorCategory value after Other — e.g., ErrorCategory.Security at ordinal 16. (int)ErrorCategory.Other + 1 remains 16 (array indices 0–15). TrackError calls Interlocked.Increment(ref _errorCounts[(int)ErrorCategory.Security]) which dereferences _errorCounts[16] → IndexOutOfRangeException at runtime. There is nothing in the code that enforces the "Other is always last" invariant, so this is a silent time bomb for the next contributor who extends the enum.
FINDING: The replacement of Enum.GetValues(typeof(ErrorCategory)).Length with (int)ErrorCategory.Other + 1 avoids the reflection/trimming warning but introduces a fragile positional assumption that is not machine-checkable. The original code was self-maintaining; the new code is not.
RECOMMENDATION: Use the trim-safe generic overload Enum.GetValues<ErrorCategory>().Length (available since .NET 5, annotated only with [RequiresDynamicCode], not [RequiresUnreferencedCode], so it does not trigger IL2026). Add a #if NET guard for the .NET Framework build path (Enum.GetValues(typeof(ErrorCategory)).Length). Alternatively, add a sentinel Count member at the end of the enum and use new int[(int)ErrorCategory.Count] — that is the classic pattern to make array sizing both AOT-safe and self-maintaining.
All other evaluated dimensions are clean:
WorkItemclass (ParallelWorkSet.cs): The explicit comment correctly explains whyLazy<T>is unsuitable (its[DynamicallyAccessedMembers]annotation onTpropagates toParallelWorkSet<TKey, TResult>and produces IL2091). The documented single-writer / happens-before model makes the lock-freeValuegetter sound. LGTM.RegisterDistributedLoggerCoreextraction (LoggingService.cs): Both call sites hold_lockObjectbefore enteringCore, so all shared mutable state is properly guarded. The extraction cleanly separates the reflection-free fast path (RegisterLoggerwith a pre-instantiatedCentralForwardingLogger) from the reflection path. LGTM.ReflectableTaskPropertyInfo.csmanual loop: The change fromGetProperty(..., BindingFlags.IgnoreCase)(which requiredNonPublicPropertiesin the DAM annotation) to an explicit loop overGetProperties(PublicProperties)withOrdinalIgnoreCaseis the correct trim-safe replacement. Using LINQFirstOrDefaultwould be semantically equivalent but would allocate an enumerator; the manual loop is preferred on a property-lookup hot path. LGTM.Array.CreateInstanceFromArrayType(TaskParameter.cs,TaskExecutionHost.cs): Switching the switch arms to concrete array types (typeof(char[])etc.) and usingArray.CreateInstanceFromArrayTypeis exactly the right API for AOT-safe typed-array construction, with a correct#if NETfallback for .NET Framework. LGTM.
Warning
Firewall blocked 2 domains
The following domains were blocked by the firewall during workflow execution:
dnceng.pkgs.visualstudio.compkgs.dev.azure.com
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "dnceng.pkgs.visualstudio.com"
- "pkgs.dev.azure.com"See Network Configuration for more information.
Generated by Expert Code Review (on open) for issue #14064 · 5.7K AIC · ⌖ 12.4 AIC · ⊞ 30.1K ambient context
c720aed to
360ef93
Compare
…14079) ## Summary Splits the **functional / method-body changes** out of the broader trim-enablement work (#14064) so they can be reviewed independently of the annotation churn. This PR contains **no** `[RequiresUnreferencedCode]`/`[DynamicallyAccessedMembers]` propagation cascade and does **not** flip on the trim/AOT analyzers — those remain in #14064. ### Property-function evaluation (made trim-compatible by construction) - `Function<T>._receiverType` (and the `Function` ctor `receiverType` parameter) are annotated with `[DynamicallyAccessedMembers(All)]` as a single chokepoint, with proof-based suppressions on the `InvokeMember`/`GetMethods`/`GetConstructor` sites. - The curated receiver-type allowlist (`AvailableStaticMethods`) is preserved with `[DynamicDependency]`, constrained to the members property functions actually use (public ctors/methods/properties/fields; non-public methods for `IntrinsicFunctions`). - The runtime assembly-probing path (`MSBUILDENABLEALLPROPERTYFUNCTIONS=1`) is gated behind the `EnableAllPropertyFunctions` trimmer feature switch so the trimmer removes it; the env var stays honored at run time. net472 polyfills added for `FeatureSwitchDefinition`/`DynamicDependency`. ### Functional changes making reflection AOT/trim-friendly (no behavior change) - **TaskParameter / TaskExecutionHost**: construct typed arrays via `Array.CreateInstanceFromArrayType` instead of `Array.CreateInstance(elementType)`. - **ParallelWorkSet**: a custom `WorkItem` replaces `Lazy<TResult>` (avoids the DAM requirement `Lazy<T>` places on `TResult`). - **BuildErrorTelemetryTracker**: size the count array from a `Count` sentinel instead of `Enum.GetValues(...)`. - **LoggingService**: instantiate the built-in `CentralForwardingLogger` directly instead of via reflection. - **ReflectableTaskPropertyInfo**: resolve the property via `GetProperties()` enumeration (also avoids `AmbiguousMatchException` on shadowed properties). ## Validation - `Microsoft.Build` compiles for **net10.0** (`-p:IsTrimmable=true`) and **net472**. - Targeted unit tests pass: `ParallelWorkSet`, `TaskExecutionHost_Tests`, `LoggingService_Tests`, `TaskParameter`.
360ef93 to
db37c8a
Compare
b138d25 to
b0dce1c
Compare
Makes the MSBuild evaluation object model trim- and Native-AOT-capable so an AOT-compiled host (the dotnet CLI) can evaluate and build in-process, and fail observably where reflective loading is required so the host can fall back to a JIT MSBuild. Code: trim/AOT annotations, feature switches, and closed-world host-registration APIs (SdkResolver.Register, Task.RegisterTask, TaskItem task-parameter-type registration); new diagnostics MSB4282/MSB4283 for unsupported reflective paths. Validation: a Native AOT harness that publishes and runs an AOT image, evaluating and building the classlib (library) and console (executable) templates. Documentation: design/strategy notes, living suppression and annotation trackers, per-area deep dives, and the host-registration API specs.
Add ReadAllBytes/GetCreationTimeUtc/GetLastWriteTimeUtc to the read-only File property-function allowlist; the -mt tests for those methods now rely on the allowlist instead of the escape hatch. Route every EnableAllPropertyFunctions hatch test through the AppContext feature switch for deterministic, order-independent behavior, and keep a single env-var test that reflectively clears the switch (AppContext has no public unset state) to vet that MSBUILDENABLEALLPROPERTYFUNCTIONS still flows. Null-guard the BuildProject finally so a rejected overlapping build cannot NRE.
…ontext value When the .NET SDK hosts MSBuild in a trimmed / Native AOT process the BCL 'where am I' APIs point at the muxer / install root, not the versioned SDK directory that contains MSBuild. Following dotnet/sdk#55110, read the SDK-published 'Microsoft.DotNet.Sdk.Root' AppContext value (new DotNetSdkPaths helper) as an early step in BuildEnvironmentHelper resolution, before falling back to process/assembly discovery.
The rebase onto upstream/main integrated the typed TaskItem<T> / ITaskItem<T> task-parameter feature into Microsoft.Build, which this branch compiles with the trim/AOT analyzers enabled. Fix the merge-resolved using block (drop a duplicate System.Diagnostics and an unused System.Globalization) and guard CreateTaskItemOfT's MakeGenericType + expression Compile() behind RuntimeFeature.IsDynamicCodeSupported so it fails observably under trimming / Native AOT (clearing IL3050). Tracked as follow-up item 7.
b0dce1c to
89e0239
Compare
Windows Core failure — investigationTL;DR: The What failed
Why it's unrelated to this PR
Why it's flaky
RecommendationRe-run the Windows Core leg — no code change is warranted for this PR. If the Coordinator suite keeps flaking it may warrant an additional quarantine entry, but that's separate from this change. |
|
@ViktorHofer I've updated for merge conflicts and the AppContext SDK root that the SDK pushes. |
|
How should we maintain that list of BuildInTasks? I assume we don't want to register ALL msbuild inbox tasks? https://github.com/dotnet/msbuild/blob/main/src/Tasks/Microsoft.Common.tasks |
|
/review |
Updated [Azure.Bicep.Types.Az](https://github.com/Azure/bicep-types-az) from 0.2.911 to 0.2.923. <details> <summary>Release notes</summary> _Sourced from [Azure.Bicep.Types.Az's releases](https://github.com/Azure/bicep-types-az/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/Azure/bicep-types-az/commits). </details> Updated [Azure.Deployments.Templates](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments) from 1.683.0 to 1.765.0. <details> <summary>Release notes</summary> _Sourced from [Azure.Deployments.Templates's releases](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments/tags)._ No release notes found for this version range. Commits viewable in [compare view](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments/commits). </details> Updated [Google.Protobuf](https://github.com/protocolbuffers/protobuf) from 3.35.1 to 3.36.1. <details> <summary>Release notes</summary> _Sourced from [Google.Protobuf's releases](https://github.com/protocolbuffers/protobuf/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/protocolbuffers/protobuf/commits). </details> Updated [Grpc.AspNetCore.Server.Reflection](https://github.com/grpc/grpc-dotnet) from 2.80.0 to 2.83.0. <details> <summary>Release notes</summary> _Sourced from [Grpc.AspNetCore.Server.Reflection's releases](https://github.com/grpc/grpc-dotnet/releases)._ ## 2.83.0 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 * Update versions for stable release 2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2750 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0 ## 2.83.0-pre1 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0-pre1 Commits viewable in [compare view](https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0). </details> Updated [Grpc.Net.Client](https://github.com/grpc/grpc-dotnet) from 2.76.0 to 2.83.0. <details> <summary>Release notes</summary> _Sourced from [Grpc.Net.Client's releases](https://github.com/grpc/grpc-dotnet/releases)._ ## 2.83.0 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 * Update versions for stable release 2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2750 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0 ## 2.83.0-pre1 ## What's Changed * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2709 * Revert "[Release v2.80.x] Fix the version number - Step 3" by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710 * Bump lodash from 4.17.23 to 4.18.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2712 * Bump basic-ftp from 5.2.0 to 5.2.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2713 * Fix typo in UnaryServerHandler method description by @HamzaWahed in https://github.com/grpc/grpc-dotnet/pull/2714 * Bump axios from 1.13.6 to 1.15.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2715 * Bump basic-ftp from 5.2.1 to 5.2.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2716 * Bump follow-redirects from 1.15.11 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2717 * Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by @SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718 * Bump basic-ftp from 5.2.2 to 5.3.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2719 * Bump protobufjs from 7.5.3 to 7.5.5 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2721 * Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720 * Add SECURITY.md by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2722 * Update OpenTelemetry packages to latest stable by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2729 * Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730 * Bump basic-ftp from 5.3.0 to 5.3.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2727 * Bump axios from 1.15.0 to 1.16.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2728 * Fix XML documentation typo by @martincostello in https://github.com/grpc/grpc-dotnet/pull/2724 * Bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2733 * Bump protobufjs from 7.5.5 to 7.5.8 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2735 * Fix typo in comment about socket ping scheduling by @yasoob in https://github.com/grpc/grpc-dotnet/pull/2671 * Bump ip-address and socks in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2726 * Fix subchannel permanently stuck in TransientFailure after ConnectTimeout by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2736 * Bump ws from 8.18.3 to 8.20.1 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2737 * _moveNextTask may be overwritten, after we release the lock, but befo… by @osexpert in https://github.com/grpc/grpc-dotnet/pull/2738 * Bump form-data from 4.0.5 to 4.0.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2743 * Bump joi from 17.13.3 to 17.13.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2741 * Bump ws from 8.20.1 to 8.21.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2742 * Using Grpc.Tools 2.83.0-pre1 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2746 * Update version for v2.83.x by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2747 ## New Contributors * @HamzaWahed made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2714 * @SAY-5 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2718 * @martincostello made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2724 * @yasoob made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2671 * @osexpert made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2738 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0-pre1 ## 2.80.0 ## What's Changed * Update .NET 10, System.CommandLine 2.0.0, fix warnings by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2677 * Fix System.CommandLine 2.0.0 Uri parsing in GrpcClient benchmark app by @ilonatommy in https://github.com/grpc/grpc-dotnet/pull/2695 * Implement GrpcServiceEndpointConventionBuilder.Finally by @halter73 in https://github.com/grpc/grpc-dotnet/pull/2693 * Bump axios from 1.11.0 to 1.12.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2669 * Bump webpack from 5.101.0 to 5.105.0 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2689 * Bump lodash from 4.17.21 to 4.17.23 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2687 * Bump glob from 10.4.5 to 10.5.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2679 * Bump basic-ftp from 5.0.5 to 5.2.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2698 * Bump serialize-javascript and terser-webpack-plugin in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2699 * Bump minimatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2700 * Bump axios from 1.12.2 to 1.13.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2701 * Bump js-yaml in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2702 * Handle Trailers-Only OK responses in streaming calls without exception handling by @michaelmccord in https://github.com/grpc/grpc-dotnet/pull/2697 * Bump picomatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2703 * Implement v1 reflection service and clean up integration by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2704 * Bump brace-expansion in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2706 * Fix flaky PickAsync_UpdateAddressesWhileRequestingConnection_DoesNotDeadlock test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2705 * Bump Tools Version prep for release v2.80.0 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2707 * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2711 * Rel (v1.80.0) Prep for stable release by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2723 ## New Contributors * @ilonatommy made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2695 * @halter73 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2693 * @michaelmccord made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2697 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.80.0 ## 2.80.0-pre1 ## What's Changed * Update .NET 10, System.CommandLine 2.0.0, fix warnings by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2677 * Fix System.CommandLine 2.0.0 Uri parsing in GrpcClient benchmark app by @ilonatommy in https://github.com/grpc/grpc-dotnet/pull/2695 * Implement GrpcServiceEndpointConventionBuilder.Finally by @halter73 in https://github.com/grpc/grpc-dotnet/pull/2693 * Bump axios from 1.11.0 to 1.12.2 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2669 * Bump webpack from 5.101.0 to 5.105.0 in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2689 * Bump lodash from 4.17.21 to 4.17.23 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2687 * Bump glob from 10.4.5 to 10.5.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2679 * Bump basic-ftp from 5.0.5 to 5.2.0 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2698 * Bump serialize-javascript and terser-webpack-plugin in /examples/Browser/Server/wwwroot by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2699 * Bump minimatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2700 * Bump axios from 1.12.2 to 1.13.6 in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2701 * Bump js-yaml in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2702 * Handle Trailers-Only OK responses in streaming calls without exception handling by @michaelmccord in https://github.com/grpc/grpc-dotnet/pull/2697 * Bump picomatch in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2703 * Implement v1 reflection service and clean up integration by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2704 * Bump brace-expansion in /testassets/InteropTestsGrpcWebWebsite/Tests by @dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2706 * Fix flaky PickAsync_UpdateAddressesWhileRequestingConnection_DoesNotDeadlock test by @JamesNK in https://github.com/grpc/grpc-dotnet/pull/2705 * Bump Tools Version prep for release v2.80.0 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2707 * [Release v2.80.x] Fix the version number - Step 3 by @asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2711 ## New Contributors * @ilonatommy made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2695 * @halter73 made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2693 * @michaelmccord made their first contribution in https://github.com/grpc/grpc-dotnet/pull/2697 **Full Changelog**: https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.80.0-pre1 Commits viewable in [compare view](https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.83.0). </details> Updated [JsonDiffPatch.Net](https://github.com/wbish/jsondiffpatch.net) from 2.3.0 to 2.5.0. <details> <summary>Release notes</summary> _Sourced from [JsonDiffPatch.Net's releases](https://github.com/wbish/jsondiffpatch.net/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/wbish/jsondiffpatch.net/commits). </details> Updated [Microsoft.Build.Framework](https://github.com/dotnet/msbuild) from 18.8.2 to 18.10.1. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Framework's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.10.1 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13103 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13796 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13902 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13903 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13909 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13986 * Add vs18.9 to merge-flow config; retire vs18.3 by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14214 * Bump labeler-cache-retention to use issue-labeler v2.1.0 by @jeffhandley in https://github.com/dotnet/msbuild/pull/14171 * Bump main to 18.10.0 after vs18.9 snap by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14216 * Improve release skill: Phase 2 DARC rules, VMR backflow, deterministic baseline by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14220 * Determinize release: hardcode OptProf baseline + Phase 3.2 baseline resolver by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14222 * Serialize BuildRequestConfiguration.RequestedTargets to fix solution metaproject MSB4057 in parallel builds by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14223 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14203 * Core support for AbsolutePath/FileInfo/DirectoryInfo and ITaskItem<T> as task parameters by @baronfel in https://github.com/dotnet/msbuild/pull/13971 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14206 * Fix existence cache kind poisoning by @AlesProkop in https://github.com/dotnet/msbuild/pull/14249 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14226 * Don't disable the MSBuild server for /mt builds when node reuse is off by @AR-May in https://github.com/dotnet/msbuild/pull/14248 * Enhance expert reviewer guidelines with additional checks. by @AR-May in https://github.com/dotnet/msbuild/pull/14255 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14253 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14268 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14267 * Bump github/gh-aw-actions/setup from 0.81.6 to 0.82.2 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14266 * Avoid boxing the struct enumerator in PropertyDictionary<T>.GetEnumerator() by @nareshjo in https://github.com/dotnet/msbuild/pull/14272 * Refresh copy marker when implementation output changes by @AlesProkop in https://github.com/dotnet/msbuild/pull/14231 * Send task-host build process environment as delta by @OvesN in https://github.com/dotnet/msbuild/pull/14126 * Add regression coverage for metadata newline preservation by @VolPlita in https://github.com/dotnet/msbuild/pull/14261 * Fix EmbedInBinlog items with relative paths from child projects by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13990 * Stop requiring VersionPrefix updates in servicing - insert prerelease versions to VS by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14277 * Fix WriteLinesToFile rewriting unchanged file when custom encoding is used by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/14146 * Enable trim/AOT analyzers for Microsoft.Build and clean up annotations by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/14064 * [automated] Merge branch 'vs18.9' => 'main' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/14291 * Fix MicroBuild plugin feed URL to use allowed pkgs.dev.azure.com format by @AlesProkop in https://github.com/dotnet/msbuild/pull/14295 * Pass ExcludeRestorePackageImports during restore to avoid redundant evaluations by @ViktorHofer with @Copilot in https://github.com/dotnet/msbuild/pull/14274 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13988 * Adopt Clever Test Selection (CTS) as parallel, non-blocking PR pipeline by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/14212 * Harden exceptions when connecting to server by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14292 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13886 * Fix MSBuild Server client dropping build result under WaitAny race (#14172) by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14251 * Partially revert #13660: remove NuGet RestoreTask transient TaskHost workaround by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14297 * Disable daily AI credits guardrail for Expert Code Review workflow by @JanProvaznik with @Copilot in https://github.com/dotnet/msbuild/pull/14314 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14614733 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/14246 * Add opt-in partial (stop-after-pass) project evaluation by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14290 * Use partial evaluation for -getProperty/-getItem without a target by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14296 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14324 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14333 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14330 * Bump github/gh-aw-actions/setup from 0.82.2 to 0.82.8 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14328 * Restrict partial evaluation to ProjectInstance by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14340 ... (truncated) ## 18.9.6 ## What's Changed * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13793 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13859 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13858 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13863 * CsWin32 follow-up: CLR metadata + TypeLib interop migration by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13853 * Update vmr-sb-validation.yml for Azure Pipelines by @meghnave in https://github.com/dotnet/msbuild/pull/13871 * Test: keep shell alive 15s in ToolTaskCanChangeCanonicalErrorFormat (#13734) by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13878 * Add vs18.8 to merge-flow config by @OvesN in https://github.com/dotnet/msbuild/pull/13877 * Stable branding for 18.8 release by @OvesN in https://github.com/dotnet/msbuild/pull/13883 * Bump main to 18.9.0 after vs18.8 snap by @OvesN in https://github.com/dotnet/msbuild/pull/13880 * Avoid checkout in insertion pipeline by @rainersigwald in https://github.com/dotnet/msbuild/pull/13887 * Report actual launch path in MSB4216 for Runtime="NET" task host by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13889 * Migrate Tlblmp and AxImp to Multithreaded Execution by @AlesProkop in https://github.com/dotnet/msbuild/pull/13708 * Replace ErrorUtilities assertion methods with Assumed API and BCL throw helpers by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13790 * Fix CLR_E_SHIM_RUNTIMELOAD in RAR's IMetaDataDispenser activation by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13899 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13905 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13907 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13910 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13908 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13906 * Fix ToolTask output loss: increase EOF pipe timeout from 2s to 30s by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13767 * Improve symlink cycle condition by @GangWang01 in https://github.com/dotnet/msbuild/pull/13901 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13904 * Add flaky-test detection and auto-fix agentic workflows by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13915 * Quote --ignore-exit-code values so the quarantine pipeline does not shell-split on Unix by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13918 * Fix flaky-test detector PR-evidence loss and raise scan limits by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13919 * Tighten the pr review agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13921 * Add environment variables for governance detection by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13920 * Change IsPackable to true and add IsShipping flag by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13924 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13911 * Make flaky detector verify recurrence postdates the fix before commenting by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13930 * Fix AbsolutePath.GetCanonicalForm process state leak on Windows by @OvesN in https://github.com/dotnet/msbuild/pull/13788 * Fix flaky detector: unblock dnceng feed, fail fast, and defer quarantine to a second run by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13936 * Update documentation for ImplicitUsings element by @drewnoakes in https://github.com/dotnet/msbuild/pull/13900 * [vs18.6] Point OptProf bootstrapper at rel/stable instead of int.main by @AlesProkop in https://github.com/dotnet/msbuild/pull/13923 * Add CS8618 suppressor for required MSBuild task properties by @AArnott in https://github.com/dotnet/msbuild/pull/13926 * Tighten NodeLaunchData.EnvironmentOverrides nullability to IDictionary<string, string?>? by @OvesN with @Copilot in https://github.com/dotnet/msbuild/pull/13815 * Fix ToolTask EOF wait to be STA-safe via CountdownEvent (MSB4018 in AspNetCompiler) by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13917 * [automated] Merge branch 'vs18.6' => 'vs18.7' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13941 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14192258 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13849 * Bumping to 10.0.8 runtime packages by @OvesN in https://github.com/dotnet/msbuild/pull/13898 * Flaky-test workflow: reassure on empty PR list + drop local reproduction (quarantine-first) by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13938 * [Flaky Test] Un-quarantine 5 consistently-green tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13952 * Flaky-test detector: open PRs ready-for-review; drop newly-filed-issues section from PR body by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13958 * [Flaky Test] Quarantine 4 flaky tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13937 * Flaky-test: fix duplicate-issue bug by switching dedup key to a visible code-block key by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13963 * CsWin32 follow-up: WindowsNative + VS Setup Configuration + remaining hand-rolled interop by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13872 * Add the reviewer release skill checking if the Learn article Change waves is updated by @GangWang01 in https://github.com/dotnet/msbuild/pull/13840 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13977 ... (truncated) Commits viewable in [compare view](https://github.com/dotnet/msbuild/compare/v18.8.2...v18.10.1). </details> Updated [Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from 18.8.2 to 18.10.1. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Utilities.Core's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.10.1 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13103 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13796 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13902 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13903 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13909 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13986 * Add vs18.9 to merge-flow config; retire vs18.3 by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14214 * Bump labeler-cache-retention to use issue-labeler v2.1.0 by @jeffhandley in https://github.com/dotnet/msbuild/pull/14171 * Bump main to 18.10.0 after vs18.9 snap by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14216 * Improve release skill: Phase 2 DARC rules, VMR backflow, deterministic baseline by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14220 * Determinize release: hardcode OptProf baseline + Phase 3.2 baseline resolver by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14222 * Serialize BuildRequestConfiguration.RequestedTargets to fix solution metaproject MSB4057 in parallel builds by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14223 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14203 * Core support for AbsolutePath/FileInfo/DirectoryInfo and ITaskItem<T> as task parameters by @baronfel in https://github.com/dotnet/msbuild/pull/13971 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14206 * Fix existence cache kind poisoning by @AlesProkop in https://github.com/dotnet/msbuild/pull/14249 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14226 * Don't disable the MSBuild server for /mt builds when node reuse is off by @AR-May in https://github.com/dotnet/msbuild/pull/14248 * Enhance expert reviewer guidelines with additional checks. by @AR-May in https://github.com/dotnet/msbuild/pull/14255 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14253 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14268 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14267 * Bump github/gh-aw-actions/setup from 0.81.6 to 0.82.2 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14266 * Avoid boxing the struct enumerator in PropertyDictionary<T>.GetEnumerator() by @nareshjo in https://github.com/dotnet/msbuild/pull/14272 * Refresh copy marker when implementation output changes by @AlesProkop in https://github.com/dotnet/msbuild/pull/14231 * Send task-host build process environment as delta by @OvesN in https://github.com/dotnet/msbuild/pull/14126 * Add regression coverage for metadata newline preservation by @VolPlita in https://github.com/dotnet/msbuild/pull/14261 * Fix EmbedInBinlog items with relative paths from child projects by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13990 * Stop requiring VersionPrefix updates in servicing - insert prerelease versions to VS by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14277 * Fix WriteLinesToFile rewriting unchanged file when custom encoding is used by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/14146 * Enable trim/AOT analyzers for Microsoft.Build and clean up annotations by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/14064 * [automated] Merge branch 'vs18.9' => 'main' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/14291 * Fix MicroBuild plugin feed URL to use allowed pkgs.dev.azure.com format by @AlesProkop in https://github.com/dotnet/msbuild/pull/14295 * Pass ExcludeRestorePackageImports during restore to avoid redundant evaluations by @ViktorHofer with @Copilot in https://github.com/dotnet/msbuild/pull/14274 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13988 * Adopt Clever Test Selection (CTS) as parallel, non-blocking PR pipeline by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/14212 * Harden exceptions when connecting to server by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14292 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13886 * Fix MSBuild Server client dropping build result under WaitAny race (#14172) by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14251 * Partially revert #13660: remove NuGet RestoreTask transient TaskHost workaround by @JanProvaznik in https://github.com/dotnet/msbuild/pull/14297 * Disable daily AI credits guardrail for Expert Code Review workflow by @JanProvaznik with @Copilot in https://github.com/dotnet/msbuild/pull/14314 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14614733 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/14246 * Add opt-in partial (stop-after-pass) project evaluation by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14290 * Use partial evaluation for -getProperty/-getItem without a target by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14296 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14324 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14333 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/14330 * Bump github/gh-aw-actions/setup from 0.82.2 to 0.82.8 by @dependabot[bot] in https://github.com/dotnet/msbuild/pull/14328 * Restrict partial evaluation to ProjectInstance by @ViktorHofer in https://github.com/dotnet/msbuild/pull/14340 ... (truncated) ## 18.9.6 ## What's Changed * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13793 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13859 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13858 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13863 * CsWin32 follow-up: CLR metadata + TypeLib interop migration by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13853 * Update vmr-sb-validation.yml for Azure Pipelines by @meghnave in https://github.com/dotnet/msbuild/pull/13871 * Test: keep shell alive 15s in ToolTaskCanChangeCanonicalErrorFormat (#13734) by @jankratochvilcz in https://github.com/dotnet/msbuild/pull/13878 * Add vs18.8 to merge-flow config by @OvesN in https://github.com/dotnet/msbuild/pull/13877 * Stable branding for 18.8 release by @OvesN in https://github.com/dotnet/msbuild/pull/13883 * Bump main to 18.9.0 after vs18.8 snap by @OvesN in https://github.com/dotnet/msbuild/pull/13880 * Avoid checkout in insertion pipeline by @rainersigwald in https://github.com/dotnet/msbuild/pull/13887 * Report actual launch path in MSB4216 for Runtime="NET" task host by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13889 * Migrate Tlblmp and AxImp to Multithreaded Execution by @AlesProkop in https://github.com/dotnet/msbuild/pull/13708 * Replace ErrorUtilities assertion methods with Assumed API and BCL throw helpers by @DustinCampbell in https://github.com/dotnet/msbuild/pull/13790 * Fix CLR_E_SHIM_RUNTIMELOAD in RAR's IMetaDataDispenser activation by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13899 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13905 * [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13907 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13910 * [vs17.14] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13908 * [vs18.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13906 * Fix ToolTask output loss: increase EOF pipe timeout from 2s to 30s by @huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13767 * Improve symlink cycle condition by @GangWang01 in https://github.com/dotnet/msbuild/pull/13901 * [vs18.6] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13904 * Add flaky-test detection and auto-fix agentic workflows by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13915 * Quote --ignore-exit-code values so the quarantine pipeline does not shell-split on Unix by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13918 * Fix flaky-test detector PR-evidence loss and raise scan limits by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13919 * Tighten the pr review agent by @JanKrivanek in https://github.com/dotnet/msbuild/pull/13921 * Add environment variables for governance detection by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13920 * Change IsPackable to true and add IsShipping flag by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13924 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13911 * Make flaky detector verify recurrence postdates the fix before commenting by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13930 * Fix AbsolutePath.GetCanonicalForm process state leak on Windows by @OvesN in https://github.com/dotnet/msbuild/pull/13788 * Fix flaky detector: unblock dnceng feed, fail fast, and defer quarantine to a second run by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13936 * Update documentation for ImplicitUsings element by @drewnoakes in https://github.com/dotnet/msbuild/pull/13900 * [vs18.6] Point OptProf bootstrapper at rel/stable instead of int.main by @AlesProkop in https://github.com/dotnet/msbuild/pull/13923 * Add CS8618 suppressor for required MSBuild task properties by @AArnott in https://github.com/dotnet/msbuild/pull/13926 * Tighten NodeLaunchData.EnvironmentOverrides nullability to IDictionary<string, string?>? by @OvesN with @Copilot in https://github.com/dotnet/msbuild/pull/13815 * Fix ToolTask EOF wait to be STA-safe via CountdownEvent (MSB4018 in AspNetCompiler) by @YuliiaKovalova in https://github.com/dotnet/msbuild/pull/13917 * [automated] Merge branch 'vs18.6' => 'vs18.7' by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13941 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14192258 by @dotnet-bot in https://github.com/dotnet/msbuild/pull/13849 * Bumping to 10.0.8 runtime packages by @OvesN in https://github.com/dotnet/msbuild/pull/13898 * Flaky-test workflow: reassure on empty PR list + drop local reproduction (quarantine-first) by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13938 * [Flaky Test] Un-quarantine 5 consistently-green tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13952 * Flaky-test detector: open PRs ready-for-review; drop newly-filed-issues section from PR body by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13958 * [Flaky Test] Quarantine 4 flaky tests by @github-actions[bot] in https://github.com/dotnet/msbuild/pull/13937 * Flaky-test: fix duplicate-issue bug by switching dedup key to a visible code-block key by @ViktorHofer in https://github.com/dotnet/msbuild/pull/13963 * CsWin32 follow-up: WindowsNative + VS Setup Configuration + remaining hand-rolled interop by @JeremyKuhne in https://github.com/dotnet/msbuild/pull/13872 * Add the reviewer release skill checking if the Learn article Change waves is updated by @GangWang01 in https://github.com/dotnet/msbuild/pull/13840 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13977 ... (truncated) Commits viewable in [compare view](https://github.com/dotnet/msbuild/compare/v18.8.2...v18.10.1). </details> Updated [Microsoft.Extensions.Configuration](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Configuration.Binder](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Binder's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Configuration.Json](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Json's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.DependencyInjection](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.DependencyInjection's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.FileSystemGlobbing](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.FileSystemGlobbing's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Hosting](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Hosting's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Http](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Http's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Logging](https://github.com/dotnet/dotnet) from 10.0.9 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Logging's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.NET.Sdk.WebAssembly.Pack](https://github.com/dotnet/dotnet) from 10.0.8 to 10.0.12. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Sdk.WebAssembly.Pack's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 18.7.0 to 18.10.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Test.Sdk's releases](https://github.com/microsoft/vstest/releases)._ ## 18.10.0 ## What's Changed * Drop Mono fallback, run .NET Framework tests on Windows only by @nohwnd in https://github.com/microsoft/vstest/pull/16158 * Run Microsoft.Testing.Platform test apps under `vstest.console` and datacollector by @nohwnd in https://github.com/microsoft/vstest/pull/16201 * Fix test output eaten by MSBuild terminal logger by @nohwnd in https://github.com/microsoft/vstest/pull/16223 * Remove the experimental test session feature by @nohwnd in https://github.com/microsoft/vstest/pull/16231 * Skip a single bad executor instead of failing all executor loading by @nohwnd in https://github.com/microsoft/vstest/pull/16239 * Assert apartment state instead of using Clipboard in UI tests by @nohwnd in https://github.com/microsoft/vstest/pull/16270 * Surface test host crashes during protocol negotiation by @nohwnd in https://github.com/microsoft/vstest/pull/16285 * Pass the inferred target platform to the host in run settings by @nohwnd in https://github.com/microsoft/vstest/pull/16271 * Report raw invalid IsTargetPlatformInferred value, cover host x64 forcing by @nohwnd in https://github.com/microsoft/vstest/pull/16295 * Disable the MTP testhost by default (#16337) by @nohwnd in https://github.com/microsoft/vstest/pull/16341 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.9.0...v18.10.0 ## 18.9.0 ## What's Changed * Fix tilde/exclamation characters corrupted in TerminalLogger test output by @nohwnd in https://github.com/microsoft/vstest/pull/16046 * Make TranslationLayer Native AOT-compatible by @drewnoakes in https://github.com/microsoft/vstest/pull/16045 * Guard GenerateProgramFile target against UseWinUI/UseUwpTools evaluation order by @nohwnd in https://github.com/microsoft/vstest/pull/16072 * Add RequestingAssembly to AssemblyResolveEventArgs for binary compat by @nohwnd in https://github.com/microsoft/vstest/pull/16076 * Remove stale Microsoft.Extensions.FileSystemGlobbing binding redirect from testhost.x86 and datacollector by @Evangelink in https://github.com/microsoft/vstest/pull/16082 * Fix TRX attachment paths when LogFileName contains a subdirectory by @nohwnd in https://github.com/microsoft/vstest/pull/15791 * Fix missing dumps for .NET Framework child processes in NetClientHangDumper by @nohwnd in https://github.com/microsoft/vstest/pull/16098 * Fix data collection channels to use negotiated protocol version instead of V1 by @nohwnd in https://github.com/microsoft/vstest/pull/16096 * Fix race condition in BlameCollector: skip hang dump when testhost hasn't launched yet by @nohwnd in https://github.com/microsoft/vstest/pull/16065 * Replace TestSDKAutoGeneratedCode with ExcludeFromCodeCoverage in auto-generated Program files by @nohwnd in https://github.com/microsoft/vstest/pull/16101 * Include testhost process path in crash error messages by @nohwnd in https://github.com/microsoft/vstest/pull/16108 * Fix DataDriven test results being double-counted in TRX logger totals by @nohwnd in https://github.com/microsoft/vstest/pull/15766 * Fix datacollector crash visibility: replace Assert with throwable exceptions by @nohwnd in https://github.com/microsoft/vstest/pull/16048 * Add TreatErrorMessagesAsWarnings parameter to TRX logger by @nohwnd in https://github.com/microsoft/vstest/pull/16106 * Wait for testhost stderr to drain before reading its crash output by @nohwnd in https://github.com/microsoft/vstest/pull/16128 * Handle runtimeconfig.dev.json without additionalProbingPaths by @tmat in https://github.com/microsoft/vstest/pull/16166 * Suggest Microsoft.NET.Test.Sdk when a managed test project brings no testhost by @nohwnd in https://github.com/microsoft/vstest/pull/16169 * Fix x86 testhost loading mismatched x64 hostfxr (0x800700C1) when run via vstest.console.exe directly (#16151) by @azat-msft in https://github.com/microsoft/vstest/pull/16156 * Preserve the real exception (type + stack trace) when a test run aborts in BaseRunTests by @nohwnd in https://github.com/microsoft/vstest/pull/16167 ## New Contributors * @drewnoakes made their first contribution in https://github.com/microsoft/vstest/pull/16045 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.8.0...v18.9.0 ## 18.8.1 ## What's Changed * Fix protocol negotiation timeout when STJ reflection is disabled (18.8.1) by @nohwnd in https://github.com/microsoft/vstest/pull/16281 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.8.0...v18.8.1 ## 18.8.0 ## What's Changed * Migrate from Newtonsoft.Json to System.Text.Json / Jsonite (merge to main) by @nohwnd in https://github.com/microsoft/vstest/pull/15687 - For more detail refer to https://devblogs.microsoft.com/dotnet/vs-test-is-removing-its-newtonsoft-json-dependency/ * Create source-only filter package by @Youssef1313 in https://github.com/microsoft/vstest/pull/15638 * Add ARM64 msdia140.dll support to test platform packages by @nohwnd in https://github.com/microsoft/vstest/pull/15692 * Fix mutex cleanup crash on macOS/Linux by @nohwnd in https://github.com/microsoft/vstest/pull/15684 * Restrict artifact temp directory permissions on Unix by @nohwnd in https://github.com/microsoft/vstest/pull/15729 * Add support for filtering uncategorized tests with TestCategory=None by @Evangelink in https://github.com/microsoft/vstest/pull/15727 * Fix SCI binding failure in DTA hosts (main) by @nohwnd in https://github.com/microsoft/vstest/pull/15724 * Fix HTML logger parallel file collision by @nohwnd in https://github.com/microsoft/vstest/pull/15435 * Improve error message when testhost cannot be found by @nohwnd in https://github.com/microsoft/vstest/pull/16053 * Fix HTML logger exception on invalid XML chars in test display names by @nohwnd in https://github.com/microsoft/vstest/pull/16051 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.7.0...v18.8.0 Commits viewable in [compare view](https://github.com/microsoft/vstest/compare/v18.7.0...v18.10.0). </details> Updated [Microsoft.PowerPlatform.ResourceStack](https://github.com/azure/resourcestack) from 7.0.0.2080 to 7.0.0.2118. <details> <summary>Release notes</summary> _Sourced from [Microsoft.PowerPlatform.ResourceStack's releases](https://github.com/azure/resourcestack/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/azure/resourcestack/commits). </details> Updated [Microsoft.PowerPlatform.ResourceStack](https://github.com/azure/resourcestack) from 7.0.0.2080 to 7.0.0.2129. <details> <summary>Release notes</summary> _Sourced from [Microsoft.PowerPlatform.ResourceStack's releases](https://github.com/azure/resourcestack/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/azure/resourcestack/commits). </details> Updated [Microsoft.VisualStudio.Threading](https://github.com/microsoft/vs-threading) from 17.12.19 to 18.7.23. <details> <summary>Release notes</summary> _Sourced from [Microsoft.VisualStudio.Threading's releases](https://github.com/microsoft/vs-threadin…
Updated [Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from 18.9.6 to 18.10.1. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Build.Utilities.Core's releases](https://github.com/dotnet/msbuild/releases)._ ## 18.10.1 ## What's Changed * [vs16.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13103 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13796 * [vs17.8] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13902 * [vs17.11] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13903 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13909 * [vs17.12] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13986 * Add vs18.9 to merge-flow config; retire vs18.3 by @JanProvaznik in dotnet/msbuild#14214 * Bump labeler-cache-retention to use issue-labeler v2.1.0 by @jeffhandley in dotnet/msbuild#14171 * Bump main to 18.10.0 after vs18.9 snap by @JanProvaznik in dotnet/msbuild#14216 * Improve release skill: Phase 2 DARC rules, VMR backflow, deterministic baseline by @JanProvaznik in dotnet/msbuild#14220 * Determinize release: hardcode OptProf baseline + Phase 3.2 baseline resolver by @JanProvaznik in dotnet/msbuild#14222 * Serialize BuildRequestConfiguration.RequestedTargets to fix solution metaproject MSB4057 in parallel builds by @ViktorHofer in dotnet/msbuild#14223 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in dotnet/msbuild#14203 * Core support for AbsolutePath/FileInfo/DirectoryInfo and ITaskItem<T> as task parameters by @baronfel in dotnet/msbuild#13971 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in dotnet/msbuild#14206 * Fix existence cache kind poisoning by @AlesProkop in dotnet/msbuild#14249 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in dotnet/msbuild#14226 * Don't disable the MSBuild server for /mt builds when node reuse is off by @AR-May in dotnet/msbuild#14248 * Enhance expert reviewer guidelines with additional checks. by @AR-May in dotnet/msbuild#14255 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in dotnet/msbuild#14253 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in dotnet/msbuild#14268 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in dotnet/msbuild#14267 * Bump github/gh-aw-actions/setup from 0.81.6 to 0.82.2 by @dependabot[bot] in dotnet/msbuild#14266 * Avoid boxing the struct enumerator in PropertyDictionary<T>.GetEnumerator() by @nareshjo in dotnet/msbuild#14272 * Refresh copy marker when implementation output changes by @AlesProkop in dotnet/msbuild#14231 * Send task-host build process environment as delta by @OvesN in dotnet/msbuild#14126 * Add regression coverage for metadata newline preservation by @VolPlita in dotnet/msbuild#14261 * Fix EmbedInBinlog items with relative paths from child projects by @huulinhnguyen-dev in dotnet/msbuild#13990 * Stop requiring VersionPrefix updates in servicing - insert prerelease versions to VS by @ViktorHofer in dotnet/msbuild#14277 * Fix WriteLinesToFile rewriting unchanged file when custom encoding is used by @huulinhnguyen-dev in dotnet/msbuild#14146 * Enable trim/AOT analyzers for Microsoft.Build and clean up annotations by @JeremyKuhne in dotnet/msbuild#14064 * [automated] Merge branch 'vs18.9' => 'main' by @github-actions[bot] in dotnet/msbuild#14291 * Fix MicroBuild plugin feed URL to use allowed pkgs.dev.azure.com format by @AlesProkop in dotnet/msbuild#14295 * Pass ExcludeRestorePackageImports during restore to avoid redundant evaluations by @ViktorHofer with @Copilot in dotnet/msbuild#14274 * [vs18.7] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/msbuild#13988 * Adopt Clever Test Selection (CTS) as parallel, non-blocking PR pipeline by @jankratochvilcz in dotnet/msbuild#14212 * Harden exceptions when connecting to server by @JanProvaznik in dotnet/msbuild#14292 * Update MicrosoftBuildVersion in analyzer template by @github-actions[bot] in dotnet/msbuild#13886 * Fix MSBuild Server client dropping build result under WaitAny race (#14172) by @JanProvaznik in dotnet/msbuild#14251 * Partially revert #13660: remove NuGet RestoreTask transient TaskHost workaround by @JanProvaznik in dotnet/msbuild#14297 * Disable daily AI credits guardrail for Expert Code Review workflow by @JanProvaznik with @Copilot in dotnet/msbuild#14314 * Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 14614733 by @dotnet-bot in dotnet/msbuild#14246 * Add opt-in partial (stop-after-pass) project evaluation by @ViktorHofer in dotnet/msbuild#14290 * Use partial evaluation for -getProperty/-getItem without a target by @ViktorHofer in dotnet/msbuild#14296 * [main] Source code updates from dotnet/dotnet by @dotnet-maestro[bot] in dotnet/msbuild#14324 * [main] Update dependencies from dotnet/roslyn by @dotnet-maestro[bot] in dotnet/msbuild#14333 * [main] Update dependencies from nuget/nuget.client by @dotnet-maestro[bot] in dotnet/msbuild#14330 * Bump github/gh-aw-actions/setup from 0.82.2 to 0.82.8 by @dependabot[bot] in dotnet/msbuild#14328 * Restrict partial evaluation to ProjectInstance by @ViktorHofer in dotnet/msbuild#14340 ... (truncated) Commits viewable in [compare view](dotnet/msbuild@v18.9.6...v18.10.1). </details> [](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>
Summary
Makes the Microsoft.Build evaluation object model trim- and Native-AOT-capable so an AOT-compiled host (the
dotnetCLI) can evaluate and build projects in-process, and fail observably wherever a path genuinely requires run-time reflection (loading a task, SDK resolver, logger, or build check discovered by name) so the host can fall back to a JIT MSBuild - never a silent no-op and never a crash deep in the engine.The work is evaluation-first: evaluation is kept fully trim/AOT-clean today, and execution becomes possible through closed-world host registration (registered SDK resolvers and task classes) while open-world reflective paths fail observably. The build is clean on both
net10.0andnet472(0 IL warnings, 0 warnings, 0 errors).Change breakdown
About half the diff is documentation; validation and engine code are each roughly a quarter. The engine change is intentionally small and surgical - overwhelmingly trim/AOT annotations and feature-switch gating rather than behavior changes to the JIT path.
.xlf/.resxfor 4 new diagnostics).gitignore)The actual engine code change is ~2,000 lines across 69 files; the remaining ~7,000 lines are documentation, the validation harness/tests, and auto-generated localization.
New public API surface
Three reflection-free, closed-world registration entry points let a host hand MSBuild the types it needs up front so the trimmer preserves them:
Microsoft.Build.Framework.SdkResolver.Register(SdkResolver)- contribute a pre-constructed SDK resolver instead of MSBuild discovering andAssembly.LoadFrom-ing one by reflection.Microsoft.Build.Utilities.Task.RegisterTask<T>()(plus aRegisterTask(string, Func<ITask>)overload) - register a task class so the engine constructs, binds, and runs it with reflective task execution disabled.Microsoft.Build.Utilities.TaskItem.RegisterTaskParameterValueType<T>()andRegisterTaskParameterItemType<T>()- resolve<UsingTask>/<ParameterGroup>parameter types without a by-nameType.GetType.Four new diagnostics report unsupported reflective paths under trimming/AOT:
API-review callout: besides the additive registration APIs above, there is a deliberate public trim-metadata change - the public
ITaskFactory/ITaskFactory2/ITaskFactory3InitializeandCreateTaskmembers now carry[RequiresUnreferencedCode], andITaskFactory.TaskTypecarries[DynamicallyAccessedMembers(PublicProperties)]. There is no managed signature change, but a host reaching task creation through the interface now sees an honestIL2026, and a third-partyITaskFactorythat enables trim analysis getsIL2046until it adds the matching attribute.AOT validation
A new Native AOT validation harness (
src/aot-validation/) publishes a fully AOT-compiled image and runs it end-to-end. It validates that AOT works for both evaluating and building the basic library (dotnet new classlib) and executable (dotnet new console) project templates:DotnetNew_Classlib_EvaluatesAsLibraryProject,DotnetNew_Console_EvaluatesAsExecutableProject: evaluate the stock templates through the object model under AOT.DotnetNew_Classlib_BuildUnderAot_RunsRegisteredTasksThenFailsObservably,DotnetNew_Console_BuildUnderAot_RunsRegisteredTasksThenFailsObservably: build the templates in-process under AOT, confirming registered/intrinsic tasks run and that an unsupported reflective task fails observably (MSB4283) rather than crashing.Additional harness coverage exercised against the published AOT image: object-model evaluation, property-function reachability, and each of the three registration APIs (SDK resolver, task class, task-parameter type).
Design criterion: fail observably, never silently
A trimmed/AOT path that cannot run surfaces a reported error (or a host-readable property) so the host can branch and fall back; it never silently drops a project's expressed intent and never crashes in the engine.
[UnconditionalSuppressMessage]is used only for provable false positives; accurate warnings are gated behind feature switches (with observable failure) or carry honest[RequiresUnreferencedCode]to a public boundary.Design notes, the strategy catalog, and living suppression/annotation trackers are in
documentation/aot/; the host-registration API proposals are indocumentation/specs/.