Skip to content

Replace ErrorUtilities assertion methods with Assumed API and BCL throw helpers - #13790

Merged
DustinCampbell merged 28 commits into
dotnet:mainfrom
DustinCampbell:assumptions
May 29, 2026
Merged

DustinCampbell merged 28 commits into
dotnet:mainfrom
DustinCampbell:assumptions

Conversation

@DustinCampbell

@DustinCampbell DustinCampbell commented May 15, 2026 •

Copy link
Copy Markdown
Member

Tip

This is a huge pull request made up of mostly mechanical changes. I recommend reviewing commit-by-commit to
keep your sanity! FYI that new internal APIs are in 245052f and 0eea982. Copilot will likely decline to review this because so many files are touched.

This PR introduces an internal Assumed assertion API and systematically replaces legacy ErrorUtilities
assertion/throw methods throughout the codebase with either Assumed methods or BCL throw helpers, as appropriate.

New infrastructure

  • Assumed static class (src/Framework/Assumed.cs): Provides assertion methods (Null, NotNull,
    NotNullOrEmpty, True, False, Equal, NotEqual, comparison operators, range checks, and Unreachable) that
    throw InternalErrorException on failure. Each method has two overloads: one with CallerArgumentExpression for
    automatic error messages, and one with a conditional interpolated string handler to avoid formatting allocations on
    the success path.
  • InternalError helper (src/Framework/InternalError.cs): Centralized throw sites including Throw<T>
    overloads returning T for use in expression contexts.
  • ArgumentException.ThrowIfNullOrEmpty<T>(IReadOnlyCollection<T>) extension method for collection emptiness
    checks.

ErrorUtilities methods replaced

Old method Replacement
VerifyThrowInternalNull Assumed.NotNull
VerifyThrowInternalLength (string) Assumed.NotNullOrEmpty
VerifyThrowInternalLength<T> (collection) Assumed.NotNullOrEmpty<T>
VerifyThrow(bool, string) Assumed.True / Assumed.False / more specific Assumed methods
VerifyThrowInternalErrorUnreachable Assumed.True
ThrowInternalErrorUnreachable Assumed.Unreachable / Assumed.Unreachable<T>
ThrowInternalError InternalError.Throw
EscapeHatches.ThrowInternalError InternalError.Throw
VerifyThrowArgumentNull ArgumentNullException.ThrowIfNull
VerifyThrowArgumentLength (string) ArgumentException.ThrowIfNullOrEmpty
VerifyThrowArgumentLength<T> (collection) ArgumentException.ThrowIfNullOrEmpty<T>
VerifyThrowArgumentOutOfRange ArgumentOutOfRangeException.ThrowIf*
VerifyThrowObjectDisposed ObjectDisposedException.ThrowIf

All replaced methods have been removed from ErrorUtilities. Methods that still have callers (e.g.,
VerifyThrowArgument, VerifyThrowInvalidOperation) are preserved.

Refinements during migration

  • VerifyThrow → specific Assumed methods: Rather than blindly mapping to Assumed.True, conditions were
    analyzed and mapped to the most descriptive method (NotNull, Zero, NotNullOrEmpty, Equal, Positive,
    PositiveOrZero, InRange, etc.).
  • Mismatched parameter names fixed: Several VerifyThrowInternalNull calls had silently wrong parameter names
    (e.g., "child" for an importedProject variable). These are now either auto-captured via
    CallerArgumentExpression or explicitly corrected.
  • InternalError.Throw<T> eliminates throw-then-return-default patterns, enabling conversion of
    multi-statement method bodies to expression-bodied members.
  • Null check ordering fixed in BuildRequestEngine.IssueConfigurationRequest where a null check came after a
    member access.
  • VerifyCollectionCopyToArguments refactored: parameter type changed from T[] to ICollection<T>,
    reordered for CallerArgumentExpression, and resource string name typo fixed.

Scope

  • 359 files changed across src/Build, src/Framework, src/Tasks, src/Utilities, and src/Shared
  • MSBuildTaskHost is untouched
  • No behavioral changes — all replacements throw the same exception types with equivalent messages

Copilot AI review requested due to automatic review settings May 15, 2026 17:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Expert Review Summary — PR #13790: Assumed Internal Assertion API

Overall Assessment

This is a well-executed, large-scale refactoring that introduces a modern internal assertion API (Assumed + InternalError) and systematically replaces the legacy ErrorUtilities.VerifyThrow* / ThrowInternalError pattern across ~359 files. The API design is solid and the mechanical substitutions are semantically correct.


✅ Strengths

Dimension Assessment
API Surface ✅ Both Assumed and InternalError are correctly internal static — no public API impact
Performance ✅ Conditional interpolated string handlers avoid allocation on happy paths. [NoInlining] on throw paths keeps callers small
Test Coverage ✅ Assumed_Tests.cs (719 lines) comprehensively tests all methods, both overloads, positive/negative paths, and default message expression capture
Correctness ✅ Mechanical substitutions preserve semantics. ArgumentNullException.ThrowIfNull correctly replaces VerifyThrowArgumentNull with identical [CallerArgumentExpression] behavior
Backwards Compatibility ✅ No public behavior changes. Exception types remain the same (InternalErrorException, ArgumentNullException, etc.)
Build Infrastructure ✅ Files placed correctly in Framework project; accessible via InternalsVisibleTo to all consuming assemblies
Code Simplification ✅ InternalError.Throw<T> eliminates dead-code returns after unconditional throws
Scope ✅ MSBuildTaskHost (net35) is correctly excluded from the migration

⚠️ Concerns (Non-Blocking)

  1. Naming: Assumed reads as a past participle. Assume (imperative) would be more conventional at call sites (Assume.NotNull(x) vs Assumed.NotNull(x)). Subjective — not blocking.

  2. Interpolated string overload resolution: When callers pass $"..." as the 3rd argument to methods like Assumed.Equal(a, b, $"message {x}"), it's critical that the compiler resolves to the handler overload (zero-allocation) rather than the string? message overload (eager allocation). The API signature design should ensure this via overload resolution rules, but it would be worth a quick IL verification for a representative case.

  3. Null-conditional chains with [NotNull]: Assumed.NotNull(instance?.RequestEntry?.Request) doesn't narrow instance itself — only the overall expression. In #nullable disable contexts this is fine, but could produce warnings if nullable is ever enabled.

  4. PR size: 359 files across 17 commits is large for a single PR. The commit history is well-structured (each commit covers one type of replacement), which helps reviewability. However, if any single substitution has a subtle bug, it could be hard to catch in this volume.


🔍 Dimensions Verified (No Issues Found)

  • ChangeWave: Not needed — no behavioral change to user builds
  • String comparisons: No MSBuild name comparisons affected
  • Cross-platform: No platform-specific issues introduced
  • Binary log compatibility: No format changes
  • Concurrency: No threading changes
  • Security: N/A
  • Dependencies: Using directives correctly updated

Verdict

COMMENT — This is a clean, well-designed refactoring. The concerns above are minor and non-blocking. The API design with conditional interpolated string handlers is particularly well done for a performance-critical codebase.

Note

🔒 Integrity filter blocked 2 items

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

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

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

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

Generated by Expert Code Review (on open) for issue #13790 · ● 40.2M

DustinCampbell and others added 17 commits May 16, 2026 17:37
…ng handlers

Introduce Assumed static class providing internal assertion methods (Null,
NotNull, NotNullOrEmpty, True, False, Equal, NotEqual, comparison operators,
range checks, and Unreachable) that throw InternalErrorException on failure.

Each assertion has two overloads: one with CallerArgumentExpression for
automatic error messages, and one with a conditional interpolated string
handler that avoids formatting allocations on the success path.

Also add InternalError helper for centralized throw sites and comprehensive
unit tests covering all methods, overloads, and default message content.
…nalError.Throw<T>

- Add Assumed.Equal/NotEqual overloads accepting StringComparison
- Add Assumed.NotNullOrEmpty<T, TElement> for IReadOnlyCollection<TElement>
- Add InternalError.Throw<T> overloads returning T for expression contexts
- Simplify Assumed.Unreachable<T> to delegate to InternalError.Throw<T>
- Simplify FrameworkErrorUtilities.VerifyThrowInternalLength<T> to use Assumed.NotNullOrEmpty
- Add unit tests for all new Assumed methods

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

Migrate all two-argument calls to ErrorUtilities.VerifyThrowArgumentNull to use
ArgumentNullException.ThrowIfNull, which is polyfilled for .NET Framework. Calls
with an explicit resource name parameter (three-argument overload) are preserved.

- Replace ~500 call sites across 168 files
- Remove the now-unused VerifyThrowArgumentNull(object?, string?) overload
- Make ThrowArgumentNull private (no external callers remain)
- Add missing 'using System;' and remove unused 'using Microsoft.Build.Shared;'
- Fix null check ordering in BuildRequestEngine.IssueConfigurationRequest
- Remove no-op null check on WorkUnitResult struct in TargetResult

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

Replace all calls to ErrorUtilities.VerifyThrowArgumentLength(string?, string?)
with ArgumentException.ThrowIfNullOrEmpty, using the existing polyfill for
.NET Framework. Collection overloads are left unchanged.

The now-unused string overload of VerifyThrowArgumentLength is removed from
ErrorUtilities.

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

Replace all calls to ErrorUtilities.VerifyThrowArgumentOutOfRange with the
appropriate ArgumentOutOfRangeException.ThrowIf* overload:
- ThrowIfNegativeOrZero for > 0 checks
- ThrowIfNotEqual for enum equality checks
- ThrowIfEqual for inequality checks
- ThrowIfNegative + ThrowIfGreaterThanOrEqual for array bounds checks

The now-unused VerifyThrowArgumentOutOfRange is removed from ErrorUtilities.
ThrowArgumentOutOfRange and its caller are left unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Change parameter type from T[] to ICollection<T> to match the XML doc
- Reorder parameters so param names are optional [CallerArgumentExpression]
  parameters at the end
- Rename array/arrayIndex to collection/index with ParamName suffix
- Fix resource string name typo: 'Shared.CollectionCopyTo...' to
  'CollectionCopyToFailureProvidedArrayIsTooSmall'
- Add full XML doc comments for all parameters

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

Add a new ArgumentException.ThrowIfNullOrEmpty<T>(IReadOnlyCollection<T>)
extension method in src/Framework/Utilities/ArgumentExceptionExtensions.cs,
available on all TFMs. Replace all callers of the collection overload of
VerifyThrowArgumentLength and remove the now-unused method.

The exception message is sourced from SR.Argument_EmptyCollection resource.

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

Replace the single caller in Expander.cs and remove the now-unused
VerifyThrowObjectDisposed and ThrowObjectDisposed methods from
ErrorUtilities.

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

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Several existing calls had mismatched names that were silently wrong
(e.g. passing "child" for an "importedProject" variable, or
"Value" for "value"). These are now either corrected via
CallerArgumentExpression or preserved as explicit valueExpression
arguments.

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

Removed both overloads (string and T[]) from ErrorUtilities.cs and
Framework/ErrorUtilities.cs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace all calls to ErrorUtilities.VerifyThrow(bool, string) and
VerifyThrow(bool, string, string) with appropriate Assumed methods.

The first pass mapped each call to Assumed.True or Assumed.False based
on the condition polarity. A series of refinement passes then replaced
calls whose conditions matched more specific Assumed methods:

- != null / is not null conditions -> Assumed.NotNull
- == null / is null conditions -> Assumed.Null
- == 0 conditions -> Assumed.Zero
- !string.IsNullOrEmpty -> Assumed.NotNullOrEmpty
- == / != comparisons -> Assumed.Equal / Assumed.NotEqual
- > 0, >= 1 -> Assumed.Positive
- >= 0, > -1 -> Assumed.PositiveOrZero
- Relational comparisons -> Assumed.GreaterThan/OrEqual, LessThan/OrEqual
- Bounded range checks -> Assumed.InRange
- string.Equals with StringComparison -> Assumed.Equal(string, string, StringComparison)
- Compound conditions (&&) split into individual assertions where appropriate

Both VerifyThrow overloads have been removed from ErrorUtilities.cs.
Unused 'using Microsoft.Build.Shared' directives were cleaned up where
they were no longer needed.

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

Replace the 3 remaining calls to VerifyThrowInternalErrorUnreachable in
NodeProviderOutOfProcTaskHost.cs with Assumed.True, then remove the method
from both FrameworkErrorUtilities and the shared ErrorUtilities forwarder.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace 108 calls to ErrorUtilities.ThrowInternalError across 63 files with
direct calls to InternalError.Throw. The signatures are identical, so this is
a straightforward 1:1 replacement.

Remove the ThrowInternalError forwarders from the shared ErrorUtilities class
and clean up 17 unused using directives that resulted from the change.

MSBuildTaskHost and CrashTelemetry are left untouched.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace 7 calls to EscapeHatches.ThrowInternalError in BinaryTranslator,
BuildExceptionSerializationHelper, and MSBuildNameIgnoreCaseComparer with
direct calls to InternalError.Throw. Convert the two format-string calls
in MSBuildNameIgnoreCaseComparer to interpolated strings.

Remove the ThrowInternalError and FormatString helper methods from
EscapeHatches, which were originally clones of methods unavailable in
Framework — now superseded by InternalError.Throw.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refine InternalError.Throw callsites across 49 files:

 - Replace InternalError.Throw in unreachable code paths (switch defaults, impossible branches) with Assumed.Unreachable or Assumed.Unreachable<T>
 - Replace conditional throw patterns with appropriate Assumed methods (Assumed.True, Assumed.False, Assumed.NotNull, Assumed.NotEqual, etc.)
 - Use InternalError.Throw<T> to eliminate throw-then-return-default patterns, converting multi-statement method bodies to expression-bodied members
 - Split compound bounds checks in MSBuildNameIgnoreCaseComparer into PositiveOrZero and LessThanOrEqual for clarity
 - Modernize string formatting (concatenation to interpolation) and collection expressions where touched
@rainersigwald

Copy link
Copy Markdown
Member

I am extremely on board with the interpolated-string handlers, but I am less sure about the renaming/recentralization changes. Can you pitch me on Assumed.True over VerifyThrow, and related? I know I'm poisoned by long exposure to this codebase but . . .

@DustinCampbell

Copy link
Copy Markdown
Member Author

I am extremely on board with the interpolated-string handlers, but I am less sure about the renaming/recentralization changes. Can you pitch me on Assumed.True over VerifyThrow, and related? I know I'm poisoned by long exposure to this codebase but . . .

I've been trying to tease ErrorUtilities apart, since it's a bit of a web of functions that throw various exceptions with localized messages, or throw InternalErrorExceptions with non-localized messages. The method names on ErrorUtilities are built from a working vocabulary: "Verify" for assertions, always include the word "Throw", add "Internal" for InternalErrorException, etc. However, they're a bit of a mouthful and the important bits end up at the end of the method name (e.g. "Null", "Length", etc.)

First, I replaced the "Verify" functions for argument exceptions with the BCL equivalents added in modern .NET, which are polyfilled in MSBuild. Those methods, like ArgumentNullException.ThrowIfNull(...) don't use the "Verify" vocabulary, so the code base was already gravitating away from that terminology a bit.

Then, I considered all of the "VerifyThrowInternal" methods and noted that they're all for internal assertions. At first, I considered adding InternalErrorException.ThrowIf*** methods, but then I noted that many methods had comments stating that they're intended to be used when a "Debug.Assert" might be used. So, I decided on a different approach and created a separate internal API for assertions. Since most methods perform verification, it's unnecessary to have "Verify" at the start of each method name, so I baked that concept into the class name: Assumed (inspired by xUnit's Assert and Microsoft.VIsualStudio.Validation's Assumes).

Assumed ends up being much briefer, and to my eye at least, is clearer about what's meant. I much prefer this:

Assumed.NotNull(projectCache);

...over this:

ErrorUtilities.VerifyThrowInternalNull(projectChange);

In addition, Assumed is easy to add more assertion APIs on. Here's the full list of members:

Assumed.Null<T>(T?);
Assumed.NotNull<T>(T?);
Assumed.NotNullOrEmpty(string?);
Assumed.NotNullOrEmpty<T>(IReadOnlyCollection<T>?);
Assumed.True(bool);
Assumed.False(bool);
Assumed.Equal<T>(T, T);
Assumed.Equal(string?, string?, StringComparison);
Assumed.NotEqual<T>(T, T);
Assumed.NotEqual(string?, string?, StringComparison);
Assumed.GreaterThan<T>(T, T) where T : IComparable<T>;
Assumed.GreaterThanOrEqual<T>(T, T) where T : IComparable<T>;
Assumed.LessThan<T>(T, T) where T : IComparable<T>;
Assumed.LessThanOrEqual<T>(T, T) where T : IComparable<T>;
Assumed.Zero(int);
Assumed.Negative(int);
Assumed.NegativeOrZero(int);
Assumed.Positive(int);
Assumed.PositiveOrZero(int);
Assumed.InRange<T>(T, T, T) where T : IComparable<T>;
Assumed.Unreachable();
Assumed.Unreachable<T>();

These align (mostly) with the "ThrowIf***" methods on ArgumentNullException, ArgumentException, and ArgumentOutOfRangeException, and all throw InternalErrorExceptions.

Anyway, I hope that explains how I arrived at this.

@OvesN

OvesN commented May 19, 2026

Copy link
Copy Markdown
Contributor

I will run the experimental insertion to VS on this PR

@rainersigwald

Copy link
Copy Markdown
Member

Talked it over with the team and we’re ok with the change. I’m on point for the first review

@OvesN

OvesN commented May 19, 2026

Copy link
Copy Markdown
Contributor

Triaged as a low-priority code-quality refactor. Plan: light review, kick off an experimental VS insertion, and if green — merge.

microsoft-github-policy-service Bot pushed a commit to Azure/bicep that referenced this pull request Sep 15, 2026
Updated [Azure.Bicep.Types.Az](https://github.com/Azure/bicep-types-az)
from 0.2.911 to 0.2.923.

<details>
<summary>Release notes</summary>

_Sourced from [Azure.Bicep.Types.Az's
releases](https://github.com/Azure/bicep-types-az/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/Azure/bicep-types-az/commits).
</details>

Updated
[Azure.Deployments.Templates](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments)
from 1.683.0 to 1.765.0.

<details>
<summary>Release notes</summary>

_Sourced from [Azure.Deployments.Templates's
releases](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments/tags)._

No release notes found for this version range.

Commits viewable in [compare
view](https://msazure.visualstudio.com/One/_git/AzureUX-Deployments/commits).
</details>

Updated [Google.Protobuf](https://github.com/protocolbuffers/protobuf)
from 3.35.1 to 3.36.1.

<details>
<summary>Release notes</summary>

_Sourced from [Google.Protobuf's
releases](https://github.com/protocolbuffers/protobuf/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/protocolbuffers/protobuf/commits).
</details>

Updated
[Grpc.AspNetCore.Server.Reflection](https://github.com/grpc/grpc-dotnet)
from 2.80.0 to 2.83.0.

<details>
<summary>Release notes</summary>

_Sourced from [Grpc.AspNetCore.Server.Reflection's
releases](https://github.com/grpc/grpc-dotnet/releases)._

## 2.83.0

## What's Changed
* [Release v2.80.x] Fix the version number - Step 3 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2709
* Revert "[Release v2.80.x] Fix the version number - Step 3" by
@​asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710
* Bump lodash from 4.17.23 to 4.18.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2712
* Bump basic-ftp from 5.2.0 to 5.2.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2713
* Fix typo in UnaryServerHandler method description by @​HamzaWahed in
https://github.com/grpc/grpc-dotnet/pull/2714
* Bump axios from 1.13.6 to 1.15.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2715
* Bump basic-ftp from 5.2.1 to 5.2.2 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2716
* Bump follow-redirects from 1.15.11 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2717
* Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by
@​SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718
* Bump basic-ftp from 5.2.2 to 5.3.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2719
* Bump protobufjs from 7.5.3 to 7.5.5 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2721
* Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by
@​JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720
* Add SECURITY.md by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2722
* Update OpenTelemetry packages to latest stable by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2729
* Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot
by @​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730
* Bump basic-ftp from 5.3.0 to 5.3.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2727
* Bump axios from 1.15.0 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2728
* Fix XML documentation typo by @​martincostello in
https://github.com/grpc/grpc-dotnet/pull/2724
* Bump @​protobufjs/utf8 from 1.1.0 to 1.1.1 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2733
* Bump protobufjs from 7.5.5 to 7.5.8 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2735
* Fix typo in comment about socket ping scheduling by @​yasoob in
https://github.com/grpc/grpc-dotnet/pull/2671
* Bump ip-address and socks in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2726
* Fix subchannel permanently stuck in TransientFailure after
ConnectTimeout by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2736
* Bump ws from 8.18.3 to 8.20.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2737
* _moveNextTask may be overwritten, after we release the lock, but befo…
by @​osexpert in https://github.com/grpc/grpc-dotnet/pull/2738
* Bump form-data from 4.0.5 to 4.0.6 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2743
* Bump joi from 17.13.3 to 17.13.4 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2741
* Bump ws from 8.20.1 to 8.21.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2742
* Using Grpc.Tools 2.83.0-pre1 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2746
* Update version for v2.83.x by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2747
* Update versions for stable release 2.83.x by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2750

## New Contributors
* @​HamzaWahed made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2714
* @​SAY-5 made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2718
* @​martincostello made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2724
* @​yasoob made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2671
* @​osexpert made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2738

**Full Changelog**:
https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0

## 2.83.0-pre1

## What's Changed
* [Release v2.80.x] Fix the version number - Step 3 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2709
* Revert "[Release v2.80.x] Fix the version number - Step 3" by
@​asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710
* Bump lodash from 4.17.23 to 4.18.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2712
* Bump basic-ftp from 5.2.0 to 5.2.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2713
* Fix typo in UnaryServerHandler method description by @​HamzaWahed in
https://github.com/grpc/grpc-dotnet/pull/2714
* Bump axios from 1.13.6 to 1.15.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2715
* Bump basic-ftp from 5.2.1 to 5.2.2 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2716
* Bump follow-redirects from 1.15.11 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2717
* Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by
@​SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718
* Bump basic-ftp from 5.2.2 to 5.3.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2719
* Bump protobufjs from 7.5.3 to 7.5.5 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2721
* Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by
@​JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720
* Add SECURITY.md by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2722
* Update OpenTelemetry packages to latest stable by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2729
* Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot
by @​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730
* Bump basic-ftp from 5.3.0 to 5.3.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2727
* Bump axios from 1.15.0 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2728
* Fix XML documentation typo by @​martincostello in
https://github.com/grpc/grpc-dotnet/pull/2724
* Bump @​protobufjs/utf8 from 1.1.0 to 1.1.1 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2733
* Bump protobufjs from 7.5.5 to 7.5.8 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2735
* Fix typo in comment about socket ping scheduling by @​yasoob in
https://github.com/grpc/grpc-dotnet/pull/2671
* Bump ip-address and socks in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2726
* Fix subchannel permanently stuck in TransientFailure after
ConnectTimeout by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2736
* Bump ws from 8.18.3 to 8.20.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2737
* _moveNextTask may be overwritten, after we release the lock, but befo…
by @​osexpert in https://github.com/grpc/grpc-dotnet/pull/2738
* Bump form-data from 4.0.5 to 4.0.6 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2743
* Bump joi from 17.13.3 to 17.13.4 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2741
* Bump ws from 8.20.1 to 8.21.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2742
* Using Grpc.Tools 2.83.0-pre1 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2746
* Update version for v2.83.x by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2747

## New Contributors
* @​HamzaWahed made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2714
* @​SAY-5 made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2718
* @​martincostello made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2724
* @​yasoob made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2671
* @​osexpert made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2738

**Full Changelog**:
https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0-pre1

Commits viewable in [compare
view](https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0).
</details>

Updated [Grpc.Net.Client](https://github.com/grpc/grpc-dotnet) from
2.76.0 to 2.83.0.

<details>
<summary>Release notes</summary>

_Sourced from [Grpc.Net.Client's
releases](https://github.com/grpc/grpc-dotnet/releases)._

## 2.83.0

## What's Changed
* [Release v2.80.x] Fix the version number - Step 3 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2709
* Revert "[Release v2.80.x] Fix the version number - Step 3" by
@​asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710
* Bump lodash from 4.17.23 to 4.18.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2712
* Bump basic-ftp from 5.2.0 to 5.2.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2713
* Fix typo in UnaryServerHandler method description by @​HamzaWahed in
https://github.com/grpc/grpc-dotnet/pull/2714
* Bump axios from 1.13.6 to 1.15.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2715
* Bump basic-ftp from 5.2.1 to 5.2.2 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2716
* Bump follow-redirects from 1.15.11 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2717
* Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by
@​SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718
* Bump basic-ftp from 5.2.2 to 5.3.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2719
* Bump protobufjs from 7.5.3 to 7.5.5 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2721
* Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by
@​JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720
* Add SECURITY.md by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2722
* Update OpenTelemetry packages to latest stable by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2729
* Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot
by @​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730
* Bump basic-ftp from 5.3.0 to 5.3.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2727
* Bump axios from 1.15.0 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2728
* Fix XML documentation typo by @​martincostello in
https://github.com/grpc/grpc-dotnet/pull/2724
* Bump @​protobufjs/utf8 from 1.1.0 to 1.1.1 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2733
* Bump protobufjs from 7.5.5 to 7.5.8 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2735
* Fix typo in comment about socket ping scheduling by @​yasoob in
https://github.com/grpc/grpc-dotnet/pull/2671
* Bump ip-address and socks in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2726
* Fix subchannel permanently stuck in TransientFailure after
ConnectTimeout by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2736
* Bump ws from 8.18.3 to 8.20.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2737
* _moveNextTask may be overwritten, after we release the lock, but befo…
by @​osexpert in https://github.com/grpc/grpc-dotnet/pull/2738
* Bump form-data from 4.0.5 to 4.0.6 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2743
* Bump joi from 17.13.3 to 17.13.4 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2741
* Bump ws from 8.20.1 to 8.21.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2742
* Using Grpc.Tools 2.83.0-pre1 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2746
* Update version for v2.83.x by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2747
* Update versions for stable release 2.83.x by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2750

## New Contributors
* @​HamzaWahed made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2714
* @​SAY-5 made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2718
* @​martincostello made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2724
* @​yasoob made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2671
* @​osexpert made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2738

**Full Changelog**:
https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0

## 2.83.0-pre1

## What's Changed
* [Release v2.80.x] Fix the version number - Step 3 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2709
* Revert "[Release v2.80.x] Fix the version number - Step 3" by
@​asheshvidyut in https://github.com/grpc/grpc-dotnet/pull/2710
* Bump lodash from 4.17.23 to 4.18.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2712
* Bump basic-ftp from 5.2.0 to 5.2.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2713
* Fix typo in UnaryServerHandler method description by @​HamzaWahed in
https://github.com/grpc/grpc-dotnet/pull/2714
* Bump axios from 1.13.6 to 1.15.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2715
* Bump basic-ftp from 5.2.1 to 5.2.2 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2716
* Bump follow-redirects from 1.15.11 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2717
* Resolver: fix 'retreive'/'retreiveing' typos in XML doc comments by
@​SAY-5 in https://github.com/grpc/grpc-dotnet/pull/2718
* Bump basic-ftp from 5.2.2 to 5.3.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2719
* Bump protobufjs from 7.5.3 to 7.5.5 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2721
* Fix flaky DuplexStream_SendToUnimplementedMethod_ThrowError test by
@​JamesNK in https://github.com/grpc/grpc-dotnet/pull/2720
* Add SECURITY.md by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2722
* Update OpenTelemetry packages to latest stable by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2729
* Bump fast-uri from 3.1.0 to 3.1.2 in /examples/Browser/Server/wwwroot
by @​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2730
* Bump basic-ftp from 5.3.0 to 5.3.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2727
* Bump axios from 1.15.0 to 1.16.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2728
* Fix XML documentation typo by @​martincostello in
https://github.com/grpc/grpc-dotnet/pull/2724
* Bump @​protobufjs/utf8 from 1.1.0 to 1.1.1 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2733
* Bump protobufjs from 7.5.5 to 7.5.8 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2735
* Fix typo in comment about socket ping scheduling by @​yasoob in
https://github.com/grpc/grpc-dotnet/pull/2671
* Bump ip-address and socks in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2726
* Fix subchannel permanently stuck in TransientFailure after
ConnectTimeout by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2736
* Bump ws from 8.18.3 to 8.20.1 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2737
* _moveNextTask may be overwritten, after we release the lock, but befo…
by @​osexpert in https://github.com/grpc/grpc-dotnet/pull/2738
* Bump form-data from 4.0.5 to 4.0.6 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2743
* Bump joi from 17.13.3 to 17.13.4 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2741
* Bump ws from 8.20.1 to 8.21.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2742
* Using Grpc.Tools 2.83.0-pre1 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2746
* Update version for v2.83.x by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2747

## New Contributors
* @​HamzaWahed made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2714
* @​SAY-5 made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2718
* @​martincostello made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2724
* @​yasoob made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2671
* @​osexpert made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2738

**Full Changelog**:
https://github.com/grpc/grpc-dotnet/compare/v2.80.0...v2.83.0-pre1

## 2.80.0

## What's Changed
* Update .NET 10, System.CommandLine 2.0.0, fix warnings by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2677
* Fix System.CommandLine 2.0.0 Uri parsing in GrpcClient benchmark app
by @​ilonatommy in https://github.com/grpc/grpc-dotnet/pull/2695
* Implement GrpcServiceEndpointConventionBuilder.Finally by @​halter73
in https://github.com/grpc/grpc-dotnet/pull/2693
* Bump axios from 1.11.0 to 1.12.2 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2669
* Bump webpack from 5.101.0 to 5.105.0 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2689
* Bump lodash from 4.17.21 to 4.17.23 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2687
* Bump glob from 10.4.5 to 10.5.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2679
* Bump basic-ftp from 5.0.5 to 5.2.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2698
* Bump serialize-javascript and terser-webpack-plugin in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2699
* Bump minimatch in /testassets/InteropTestsGrpcWebWebsite/Tests by
@​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2700
* Bump axios from 1.12.2 to 1.13.6 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2701
* Bump js-yaml in /testassets/InteropTestsGrpcWebWebsite/Tests by
@​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2702
* Handle Trailers-Only OK responses in streaming calls without exception
handling by @​michaelmccord in
https://github.com/grpc/grpc-dotnet/pull/2697
* Bump picomatch in /testassets/InteropTestsGrpcWebWebsite/Tests by
@​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2703
* Implement v1 reflection service and clean up integration by @​JamesNK
in https://github.com/grpc/grpc-dotnet/pull/2704
* Bump brace-expansion in /testassets/InteropTestsGrpcWebWebsite/Tests
by @​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2706
* Fix flaky
PickAsync_UpdateAddressesWhileRequestingConnection_DoesNotDeadlock test
by @​JamesNK in https://github.com/grpc/grpc-dotnet/pull/2705
* Bump Tools Version prep for release v2.80.0 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2707
* [Release v2.80.x] Fix the version number - Step 3 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2711
* Rel (v1.80.0) Prep for stable release by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2723

## New Contributors
* @​ilonatommy made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2695
* @​halter73 made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2693
* @​michaelmccord made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2697

**Full Changelog**:
https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.80.0

## 2.80.0-pre1

## What's Changed
* Update .NET 10, System.CommandLine 2.0.0, fix warnings by @​JamesNK in
https://github.com/grpc/grpc-dotnet/pull/2677
* Fix System.CommandLine 2.0.0 Uri parsing in GrpcClient benchmark app
by @​ilonatommy in https://github.com/grpc/grpc-dotnet/pull/2695
* Implement GrpcServiceEndpointConventionBuilder.Finally by @​halter73
in https://github.com/grpc/grpc-dotnet/pull/2693
* Bump axios from 1.11.0 to 1.12.2 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2669
* Bump webpack from 5.101.0 to 5.105.0 in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2689
* Bump lodash from 4.17.21 to 4.17.23 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2687
* Bump glob from 10.4.5 to 10.5.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2679
* Bump basic-ftp from 5.0.5 to 5.2.0 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2698
* Bump serialize-javascript and terser-webpack-plugin in
/examples/Browser/Server/wwwroot by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2699
* Bump minimatch in /testassets/InteropTestsGrpcWebWebsite/Tests by
@​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2700
* Bump axios from 1.12.2 to 1.13.6 in
/testassets/InteropTestsGrpcWebWebsite/Tests by @​dependabot[bot] in
https://github.com/grpc/grpc-dotnet/pull/2701
* Bump js-yaml in /testassets/InteropTestsGrpcWebWebsite/Tests by
@​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2702
* Handle Trailers-Only OK responses in streaming calls without exception
handling by @​michaelmccord in
https://github.com/grpc/grpc-dotnet/pull/2697
* Bump picomatch in /testassets/InteropTestsGrpcWebWebsite/Tests by
@​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2703
* Implement v1 reflection service and clean up integration by @​JamesNK
in https://github.com/grpc/grpc-dotnet/pull/2704
* Bump brace-expansion in /testassets/InteropTestsGrpcWebWebsite/Tests
by @​dependabot[bot] in https://github.com/grpc/grpc-dotnet/pull/2706
* Fix flaky
PickAsync_UpdateAddressesWhileRequestingConnection_DoesNotDeadlock test
by @​JamesNK in https://github.com/grpc/grpc-dotnet/pull/2705
* Bump Tools Version prep for release v2.80.0 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2707
* [Release v2.80.x] Fix the version number - Step 3 by @​asheshvidyut in
https://github.com/grpc/grpc-dotnet/pull/2711

## New Contributors
* @​ilonatommy made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2695
* @​halter73 made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2693
* @​michaelmccord made their first contribution in
https://github.com/grpc/grpc-dotnet/pull/2697

**Full Changelog**:
https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.80.0-pre1

Commits viewable in [compare
view](https://github.com/grpc/grpc-dotnet/compare/v2.76.0...v2.83.0).
</details>

Updated [JsonDiffPatch.Net](https://github.com/wbish/jsondiffpatch.net)
from 2.3.0 to 2.5.0.

<details>
<summary>Release notes</summary>

_Sourced from [JsonDiffPatch.Net's
releases](https://github.com/wbish/jsondiffpatch.net/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/wbish/jsondiffpatch.net/commits).
</details>

Updated [Microsoft.Build.Framework](https://github.com/dotnet/msbuild)
from 18.8.2 to 18.10.1.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Build.Framework's
releases](https://github.com/dotnet/msbuild/releases)._

## 18.10.1

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

## 18.9.6

## What's Changed
* [vs18.6] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13793
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13859
* [vs18.6] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13858
* [vs18.7] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13863
* CsWin32 follow-up: CLR metadata + TypeLib interop migration by
@​JeremyKuhne in https://github.com/dotnet/msbuild/pull/13853
* Update vmr-sb-validation.yml for Azure Pipelines by @​meghnave in
https://github.com/dotnet/msbuild/pull/13871
* Test: keep shell alive 15s in ToolTaskCanChangeCanonicalErrorFormat
(#​13734) by @​jankratochvilcz in
https://github.com/dotnet/msbuild/pull/13878
* Add vs18.8 to merge-flow config by @​OvesN in
https://github.com/dotnet/msbuild/pull/13877
* Stable branding for 18.8 release by @​OvesN in
https://github.com/dotnet/msbuild/pull/13883
* Bump main to 18.9.0 after vs18.8 snap by @​OvesN in
https://github.com/dotnet/msbuild/pull/13880
* Avoid checkout in insertion pipeline by @​rainersigwald in
https://github.com/dotnet/msbuild/pull/13887
* Report actual launch path in MSB4216 for Runtime="NET" task host by
@​ViktorHofer in https://github.com/dotnet/msbuild/pull/13889
* Migrate Tlblmp and AxImp to Multithreaded Execution by @​AlesProkop in
https://github.com/dotnet/msbuild/pull/13708
* Replace ErrorUtilities assertion methods with Assumed API and BCL
throw helpers by @​DustinCampbell in
https://github.com/dotnet/msbuild/pull/13790
* Fix CLR_E_SHIM_RUNTIMELOAD in RAR's IMetaDataDispenser activation by
@​JeremyKuhne in https://github.com/dotnet/msbuild/pull/13899
* [main] Update dependencies from nuget/nuget.client by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13905
* [main] Update dependencies from dotnet/arcade by @​dotnet-maestro[bot]
in https://github.com/dotnet/msbuild/pull/13907
* [main] Update dependencies from dotnet/roslyn by @​dotnet-maestro[bot]
in https://github.com/dotnet/msbuild/pull/13910
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13908
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13906
* Fix ToolTask output loss: increase EOF pipe timeout from 2s to 30s by
@​huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13767
* Improve symlink cycle condition by @​GangWang01 in
https://github.com/dotnet/msbuild/pull/13901
* [vs18.6] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13904
* Add flaky-test detection and auto-fix agentic workflows by
@​ViktorHofer in https://github.com/dotnet/msbuild/pull/13915
* Quote --ignore-exit-code values so the quarantine pipeline does not
shell-split on Unix by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13918
* Fix flaky-test detector PR-evidence loss and raise scan limits by
@​ViktorHofer in https://github.com/dotnet/msbuild/pull/13919
* Tighten the pr review agent by @​JanKrivanek in
https://github.com/dotnet/msbuild/pull/13921
* Add environment variables for governance detection by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13920
* Change IsPackable to true and add IsShipping flag by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13924
* [vs18.7] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13911
* Make flaky detector verify recurrence postdates the fix before
commenting by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13930
* Fix AbsolutePath.GetCanonicalForm process state leak on Windows by
@​OvesN in https://github.com/dotnet/msbuild/pull/13788
* Fix flaky detector: unblock dnceng feed, fail fast, and defer
quarantine to a second run by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13936
* Update documentation for ImplicitUsings element by @​drewnoakes in
https://github.com/dotnet/msbuild/pull/13900
* [vs18.6] Point OptProf bootstrapper at rel/stable instead of int.main
by @​AlesProkop in https://github.com/dotnet/msbuild/pull/13923
* Add CS8618 suppressor for required MSBuild task properties by
@​AArnott in https://github.com/dotnet/msbuild/pull/13926
* Tighten NodeLaunchData.EnvironmentOverrides nullability to
IDictionary<string, string?>? by @​OvesN with @​Copilot in
https://github.com/dotnet/msbuild/pull/13815
* Fix ToolTask EOF wait to be STA-safe via CountdownEvent (MSB4018 in
AspNetCompiler) by @​YuliiaKovalova in
https://github.com/dotnet/msbuild/pull/13917
* [automated] Merge branch 'vs18.6' => 'vs18.7' by @​github-actions[bot]
in https://github.com/dotnet/msbuild/pull/13941
* Localized file check-in by OneLocBuild Task: Build definition ID 9434:
Build ID 14192258 by @​dotnet-bot in
https://github.com/dotnet/msbuild/pull/13849
* Bumping to 10.0.8 runtime packages by @​OvesN in
https://github.com/dotnet/msbuild/pull/13898
* Flaky-test workflow: reassure on empty PR list + drop local
reproduction (quarantine-first) by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13938
* [Flaky Test] Un-quarantine 5 consistently-green tests by
@​github-actions[bot] in https://github.com/dotnet/msbuild/pull/13952
* Flaky-test detector: open PRs ready-for-review; drop
newly-filed-issues section from PR body by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13958
* [Flaky Test] Quarantine 4 flaky tests by @​github-actions[bot] in
https://github.com/dotnet/msbuild/pull/13937
* Flaky-test: fix duplicate-issue bug by switching dedup key to a
visible code-block key by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13963
* CsWin32 follow-up: WindowsNative + VS Setup Configuration + remaining
hand-rolled interop by @​JeremyKuhne in
https://github.com/dotnet/msbuild/pull/13872
* Add the reviewer release skill checking if the Learn article Change
waves is updated by @​GangWang01 in
https://github.com/dotnet/msbuild/pull/13840
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in https://github.com/dotnet/msbuild/pull/13977
 ... (truncated)

Commits viewable in [compare
view](https://github.com/dotnet/msbuild/compare/v18.8.2...v18.10.1).
</details>

Updated
[Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from
18.8.2 to 18.10.1.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Build.Utilities.Core's
releases](https://github.com/dotnet/msbuild/releases)._

## 18.10.1

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

## 18.9.6

## What's Changed
* [vs18.6] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13793
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13859
* [vs18.6] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13858
* [vs18.7] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13863
* CsWin32 follow-up: CLR metadata + TypeLib interop migration by
@​JeremyKuhne in https://github.com/dotnet/msbuild/pull/13853
* Update vmr-sb-validation.yml for Azure Pipelines by @​meghnave in
https://github.com/dotnet/msbuild/pull/13871
* Test: keep shell alive 15s in ToolTaskCanChangeCanonicalErrorFormat
(#​13734) by @​jankratochvilcz in
https://github.com/dotnet/msbuild/pull/13878
* Add vs18.8 to merge-flow config by @​OvesN in
https://github.com/dotnet/msbuild/pull/13877
* Stable branding for 18.8 release by @​OvesN in
https://github.com/dotnet/msbuild/pull/13883
* Bump main to 18.9.0 after vs18.8 snap by @​OvesN in
https://github.com/dotnet/msbuild/pull/13880
* Avoid checkout in insertion pipeline by @​rainersigwald in
https://github.com/dotnet/msbuild/pull/13887
* Report actual launch path in MSB4216 for Runtime="NET" task host by
@​ViktorHofer in https://github.com/dotnet/msbuild/pull/13889
* Migrate Tlblmp and AxImp to Multithreaded Execution by @​AlesProkop in
https://github.com/dotnet/msbuild/pull/13708
* Replace ErrorUtilities assertion methods with Assumed API and BCL
throw helpers by @​DustinCampbell in
https://github.com/dotnet/msbuild/pull/13790
* Fix CLR_E_SHIM_RUNTIMELOAD in RAR's IMetaDataDispenser activation by
@​JeremyKuhne in https://github.com/dotnet/msbuild/pull/13899
* [main] Update dependencies from nuget/nuget.client by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13905
* [main] Update dependencies from dotnet/arcade by @​dotnet-maestro[bot]
in https://github.com/dotnet/msbuild/pull/13907
* [main] Update dependencies from dotnet/roslyn by @​dotnet-maestro[bot]
in https://github.com/dotnet/msbuild/pull/13910
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13908
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13906
* Fix ToolTask output loss: increase EOF pipe timeout from 2s to 30s by
@​huulinhnguyen-dev in https://github.com/dotnet/msbuild/pull/13767
* Improve symlink cycle condition by @​GangWang01 in
https://github.com/dotnet/msbuild/pull/13901
* [vs18.6] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13904
* Add flaky-test detection and auto-fix agentic workflows by
@​ViktorHofer in https://github.com/dotnet/msbuild/pull/13915
* Quote --ignore-exit-code values so the quarantine pipeline does not
shell-split on Unix by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13918
* Fix flaky-test detector PR-evidence loss and raise scan limits by
@​ViktorHofer in https://github.com/dotnet/msbuild/pull/13919
* Tighten the pr review agent by @​JanKrivanek in
https://github.com/dotnet/msbuild/pull/13921
* Add environment variables for governance detection by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13920
* Change IsPackable to true and add IsShipping flag by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13924
* [vs18.7] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in https://github.com/dotnet/msbuild/pull/13911
* Make flaky detector verify recurrence postdates the fix before
commenting by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13930
* Fix AbsolutePath.GetCanonicalForm process state leak on Windows by
@​OvesN in https://github.com/dotnet/msbuild/pull/13788
* Fix flaky detector: unblock dnceng feed, fail fast, and defer
quarantine to a second run by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13936
* Update documentation for ImplicitUsings element by @​drewnoakes in
https://github.com/dotnet/msbuild/pull/13900
* [vs18.6] Point OptProf bootstrapper at rel/stable instead of int.main
by @​AlesProkop in https://github.com/dotnet/msbuild/pull/13923
* Add CS8618 suppressor for required MSBuild task properties by
@​AArnott in https://github.com/dotnet/msbuild/pull/13926
* Tighten NodeLaunchData.EnvironmentOverrides nullability to
IDictionary<string, string?>? by @​OvesN with @​Copilot in
https://github.com/dotnet/msbuild/pull/13815
* Fix ToolTask EOF wait to be STA-safe via CountdownEvent (MSB4018 in
AspNetCompiler) by @​YuliiaKovalova in
https://github.com/dotnet/msbuild/pull/13917
* [automated] Merge branch 'vs18.6' => 'vs18.7' by @​github-actions[bot]
in https://github.com/dotnet/msbuild/pull/13941
* Localized file check-in by OneLocBuild Task: Build definition ID 9434:
Build ID 14192258 by @​dotnet-bot in
https://github.com/dotnet/msbuild/pull/13849
* Bumping to 10.0.8 runtime packages by @​OvesN in
https://github.com/dotnet/msbuild/pull/13898
* Flaky-test workflow: reassure on empty PR list + drop local
reproduction (quarantine-first) by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13938
* [Flaky Test] Un-quarantine 5 consistently-green tests by
@​github-actions[bot] in https://github.com/dotnet/msbuild/pull/13952
* Flaky-test detector: open PRs ready-for-review; drop
newly-filed-issues section from PR body by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13958
* [Flaky Test] Quarantine 4 flaky tests by @​github-actions[bot] in
https://github.com/dotnet/msbuild/pull/13937
* Flaky-test: fix duplicate-issue bug by switching dedup key to a
visible code-block key by @​ViktorHofer in
https://github.com/dotnet/msbuild/pull/13963
* CsWin32 follow-up: WindowsNative + VS Setup Configuration + remaining
hand-rolled interop by @​JeremyKuhne in
https://github.com/dotnet/msbuild/pull/13872
* Add the reviewer release skill checking if the Learn article Change
waves is updated by @​GangWang01 in
https://github.com/dotnet/msbuild/pull/13840
* [main] Source code updates from dotnet/dotnet by @​dotnet-maestro[bot]
in https://github.com/dotnet/msbuild/pull/13977
 ... (truncated)

Commits viewable in [compare
view](https://github.com/dotnet/msbuild/compare/v18.8.2...v18.10.1).
</details>

Updated
[Microsoft.Extensions.Configuration](https://github.com/dotnet/dotnet)
from 10.0.9 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Configuration's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Configuration.Binder](https://github.com/dotnet/dotnet)
from 10.0.9 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Configuration.Binder's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Configuration.Json](https://github.com/dotnet/dotnet)
from 10.0.9 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Configuration.Json's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.DependencyInjection](https://github.com/dotnet/dotnet)
from 10.0.9 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.DependencyInjection's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.FileSystemGlobbing](https://github.com/dotnet/dotnet)
from 10.0.9 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.FileSystemGlobbing's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.Extensions.Hosting](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Hosting's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.Extensions.Http](https://github.com/dotnet/dotnet)
from 10.0.9 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Http's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.Extensions.Logging](https://github.com/dotnet/dotnet)
from 10.0.9 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Logging's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.NET.Sdk.WebAssembly.Pack](https://github.com/dotnet/dotnet)
from 10.0.8 to 10.0.12.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.NET.Sdk.WebAssembly.Pack's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest)
from 18.7.0 to 18.10.0.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.NET.Test.Sdk's
releases](https://github.com/microsoft/vstest/releases)._

## 18.10.0


## What's Changed
* Drop Mono fallback, run .NET Framework tests on Windows only by
@​nohwnd in https://github.com/microsoft/vstest/pull/16158
* Run Microsoft.Testing.Platform test apps under `vstest.console` and
datacollector by @​nohwnd in
https://github.com/microsoft/vstest/pull/16201
* Fix test output eaten by MSBuild terminal logger by @​nohwnd in
https://github.com/microsoft/vstest/pull/16223
* Remove the experimental test session feature by @​nohwnd in
https://github.com/microsoft/vstest/pull/16231
* Skip a single bad executor instead of failing all executor loading by
@​nohwnd in https://github.com/microsoft/vstest/pull/16239
* Assert apartment state instead of using Clipboard in UI tests by
@​nohwnd in https://github.com/microsoft/vstest/pull/16270
* Surface test host crashes during protocol negotiation by @​nohwnd in
https://github.com/microsoft/vstest/pull/16285
* Pass the inferred target platform to the host in run settings by
@​nohwnd in https://github.com/microsoft/vstest/pull/16271
* Report raw invalid IsTargetPlatformInferred value, cover host x64
forcing by @​nohwnd in https://github.com/microsoft/vstest/pull/16295
* Disable the MTP testhost by default (#​16337) by @​nohwnd in
https://github.com/microsoft/vstest/pull/16341


**Full Changelog**:
https://github.com/microsoft/vstest/compare/v18.9.0...v18.10.0

## 18.9.0

## What's Changed
* Fix tilde/exclamation characters corrupted in TerminalLogger test
output by @​nohwnd in https://github.com/microsoft/vstest/pull/16046
* Make TranslationLayer Native AOT-compatible by @​drewnoakes in
https://github.com/microsoft/vstest/pull/16045
* Guard GenerateProgramFile target against UseWinUI/UseUwpTools
evaluation order by @​nohwnd in
https://github.com/microsoft/vstest/pull/16072
* Add RequestingAssembly to AssemblyResolveEventArgs for binary compat
by @​nohwnd in https://github.com/microsoft/vstest/pull/16076
* Remove stale Microsoft.Extensions.FileSystemGlobbing binding redirect
from testhost.x86 and datacollector by @​Evangelink in
https://github.com/microsoft/vstest/pull/16082
* Fix TRX attachment paths when LogFileName contains a subdirectory by
@​nohwnd in https://github.com/microsoft/vstest/pull/15791
* Fix missing dumps for .NET Framework child processes in
NetClientHangDumper by @​nohwnd in
https://github.com/microsoft/vstest/pull/16098
* Fix data collection channels to use negotiated protocol version
instead of V1 by @​nohwnd in
https://github.com/microsoft/vstest/pull/16096
* Fix race condition in BlameCollector: skip hang dump when testhost
hasn't launched yet by @​nohwnd in
https://github.com/microsoft/vstest/pull/16065
* Replace TestSDKAutoGeneratedCode with ExcludeFromCodeCoverage in
auto-generated Program files by @​nohwnd in
https://github.com/microsoft/vstest/pull/16101
* Include testhost process path in crash error messages by @​nohwnd in
https://github.com/microsoft/vstest/pull/16108
* Fix DataDriven test results being double-counted in TRX logger totals
by @​nohwnd in https://github.com/microsoft/vstest/pull/15766
* Fix datacollector crash visibility: replace Assert with throwable
exceptions by @​nohwnd in https://github.com/microsoft/vstest/pull/16048
* Add TreatErrorMessagesAsWarnings parameter to TRX logger by @​nohwnd
in https://github.com/microsoft/vstest/pull/16106
* Wait for testhost stderr to drain before reading its crash output by
@​nohwnd in https://github.com/microsoft/vstest/pull/16128
* Handle runtimeconfig.dev.json without additionalProbingPaths by @​tmat
in https://github.com/microsoft/vstest/pull/16166
* Suggest Microsoft.NET.Test.Sdk when a managed test project brings no
testhost by @​nohwnd in https://github.com/microsoft/vstest/pull/16169
* Fix x86 testhost loading mismatched x64 hostfxr (0x800700C1) when run
via vstest.console.exe directly (#​16151) by @​azat-msft in
https://github.com/microsoft/vstest/pull/16156
* Preserve the real exception (type + stack trace) when a test run
aborts in BaseRunTests by @​nohwnd in
https://github.com/microsoft/vstest/pull/16167

## New Contributors
* @​drewnoakes made their first contribution in
https://github.com/microsoft/vstest/pull/16045

**Full Changelog**:
https://github.com/microsoft/vstest/compare/v18.8.0...v18.9.0

## 18.8.1

## What's Changed
* Fix protocol negotiation timeout when STJ reflection is disabled
(18.8.1) by @​nohwnd in https://github.com/microsoft/vstest/pull/16281


**Full Changelog**:
https://github.com/microsoft/vstest/compare/v18.8.0...v18.8.1

## 18.8.0

## What's Changed
* Migrate from Newtonsoft.Json to System.Text.Json / Jsonite (merge to
main) by @​nohwnd in https://github.com/microsoft/vstest/pull/15687
- For more detail refer to
https://devblogs.microsoft.com/dotnet/vs-test-is-removing-its-newtonsoft-json-dependency/
* Create source-only filter package by @​Youssef1313 in
https://github.com/microsoft/vstest/pull/15638
* Add ARM64 msdia140.dll support to test platform packages by @​nohwnd
in https://github.com/microsoft/vstest/pull/15692
* Fix mutex cleanup crash on macOS/Linux by @​nohwnd in
https://github.com/microsoft/vstest/pull/15684
* Restrict artifact temp directory permissions on Unix by @​nohwnd in
https://github.com/microsoft/vstest/pull/15729
* Add support for filtering uncategorized tests with TestCategory=None
by @​Evangelink in https://github.com/microsoft/vstest/pull/15727
* Fix SCI binding failure in DTA hosts (main) by @​nohwnd in
https://github.com/microsoft/vstest/pull/15724
* Fix HTML logger parallel file collision by @​nohwnd in
https://github.com/microsoft/vstest/pull/15435
* Improve error message when testhost cannot be found by @​nohwnd in
https://github.com/microsoft/vstest/pull/16053
* Fix HTML logger exception on invalid XML chars in test display names
by @​nohwnd in https://github.com/microsoft/vstest/pull/16051

**Full Changelog**:
https://github.com/microsoft/vstest/compare/v18.7.0...v18.8.0

Commits viewable in [compare
view](https://github.com/microsoft/vstest/compare/v18.7.0...v18.10.0).
</details>

Updated
[Microsoft.PowerPlatform.ResourceStack](https://github.com/azure/resourcestack)
from 7.0.0.2080 to 7.0.0.2118.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.PowerPlatform.ResourceStack's
releases](https://github.com/azure/resourcestack/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/azure/resourcestack/commits).
</details>

Updated
[Microsoft.PowerPlatform.ResourceStack](https://github.com/azure/resourcestack)
from 7.0.0.2080 to 7.0.0.2129.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.PowerPlatform.ResourceStack's
releases](https://github.com/azure/resourcestack/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/azure/resourcestack/commits).
</details>

Updated
[Microsoft.VisualStudio.Threading](https://github.com/microsoft/vs-threading)
from 17.12.19 to 18.7.23.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.VisualStudio.Threading's
releases](https://github.com/microsoft/vs-threadin…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants