Skip to content

fix(mocks): wrap a real object whose class has no parameterless ctor (#6253) - #6255

Merged
thomhurst merged 1 commit into
mainfrom
fix/6253-wrap-no-parameterless-ctor
Jun 15, 2026
Merged

fix(mocks): wrap a real object whose class has no parameterless ctor (#6253)#6255
thomhurst merged 1 commit into
mainfrom
fix/6253-wrap-no-parameterless-ctor

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

Problem

Fixes #6253. Mock.Wrap(realObject) on a class whose only constructor takes parameters fails to compile:

error CS7036: There is no argument given that corresponds to the required parameter 'param'
of 'RealClassWrapMockImpl.RealClassWrapMockImpl(MockEngine<RealClass>, RealClass, string)'
public class RealClass
{
    public RealClass(string param) { }
}

var mock = Mock.Wrap(new RealClass("value")); // did not compile

Root cause

The two halves of the wrap generator disagreed on the wrapper's constructor signature:

  • MockFactoryBuilder.BuildWrapFactory always emits new XxxWrapMockImpl(engine, instance) — exactly two args, never forwarding constructor parameters (the wrapped instance is already built).
  • MockImplBuilder.GenerateWrapConstructors emitted one wrapper ctor per base ctor, each demanding that base ctor's parameters (WrapMockImpl(engine, instance, string param) : base(param)).

When the class had no parameterless base ctor, the only generated overload needed a third argument, so the factory's two-arg call had no match. (Those per-ctor wrapper ctors were effectively dead code — the factory never passed those args.)

Fix

Collapse to a single (engine, wrappedInstance) wrapper ctor whose base initializer is computed by a new GetWrapBaseInitializer:

  • no constructors → implicit parameterless base()
  • a parameterless ctor exists → : base() (unchanged — existing snapshots stay byte-identical)
  • otherwise → chain to the fewest-parameter accessible ctor with default(T)! arguments (out _ for out params; ref-bearing ctors deprioritized)

The wrapper derives from the real type only for type-compatibility and delegates every member to _wrappedInstance, so its own (default-constructed) base sub-object is never observed — the default args only satisfy C#'s base-call requirement.

Known limitation

The wrapper's base ctor still runs with default args (source-gen can't skip it), so a base ctor that validates/dereferences its arguments would throw at Mock.Wrap. This is inherent to source-generated wrappers and matches the existing partial-mock constructor-dispatch behavior; it's documented in the test header.

Tests

  • Runtime (WrapNoParameterlessCtorTests, 15 tests): single ref/value param, multiple params, params, leading-then-params, multiple overloads (none parameterless), optional, nullable, in, reference-type, struct, closed generics (ref + value), and verification-while-delegating. Each asserts the real instance's data is returned, proving the default base args don't leak.
  • Generator snapshot (Wrap_Mock_Without_Parameterless_Constructor) locks in the emitted : base(default(string)!) and the single two-arg ctor.

Full TUnit.Mocks.Tests (1121) and generator snapshot suite (69 + 1 new) pass.

…6253)

Mock.Wrap(realObject) on a class with only a parameterized constructor
failed to compile with CS7036. The wrap factory always constructs via
`new XxxWrapMockImpl(engine, instance)` (two args, never forwarding ctor
params), but the generator emitted one wrapper ctor per base ctor — each
requiring that base ctor's parameters. With no parameterless base ctor,
there was no matching two-arg overload.

Collapse to a single (engine, wrappedInstance) wrapper ctor whose base
initializer is computed by GetWrapBaseInitializer: implicit base() when
no ctors, `: base()` when a parameterless one exists, otherwise chain to
the fewest-parameter accessible ctor with default arguments. The wrapper
delegates every member to the wrapped instance, so its own base sub-object
is never observed — the default args only satisfy C#'s base-call rule.

Add runtime coverage (WrapNoParameterlessCtorTests: single/multi/params/
optional/nullable/in/ref-type/struct params, multiple overloads, closed
generics, verification) and a generator snapshot test.

@claude claude 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.

Code Review

Summary

This is a clean, well-targeted fix for a clear bug. The root cause analysis is accurate: the wrap factory always called with exactly two args, but was emitting one wrapper ctor per base ctor (each forwarding those ctor's parameters as additional args). When no parameterless base ctor existed, the only generated overloads required extra arguments, creating an unresolvable mismatch. The fix is conceptually correct — collapse to a single two-arg ctor and only vary the base-call initializer.


What's well done

  • Root cause correctly identified. The old multi-ctor approach was generating dead code (the factory never passed those extra args). Collapsing to one ctor is the right design, not just a workaround.
  • ** is clean.** Three-case logic (no ctors / parameterless exists / fallback to fewest-param) is easy to follow and matches the invariant that the base sub-object is never observed.
  • Test coverage is thorough. 15 runtime tests cover value types, reference types, , leading+, multiple overloads, optional, nullable, , structs, generics, and verification. The snapshot test locks in the emitted so regressions are caught at the generator level.
  • Known limitation is explicitly documented. The test file header and PR description both call out that a validating base ctor will throw — this is the right level of honesty.

Concerns

1. Unhandled edge case: all accessible constructors have parameters

The code deprioritizes -bearing constructors, but if all accessible constructors have at least one parameter, it still selects one and emits for the ref params:

requires an lvalue; is an rvalue — that's a CS1510 compile error in the generated file. The heuristic avoids this when a non-ref alternative exists, but not when there isn't one.

Suggested improvement: Either (a) add a case that emits a local variable ( or a local default), or (b) emit a Roslyn diagnostic at source-gen time when no suitable base ctor can be found, matching how the rest of the generator surfaces unsupported configurations. A test case with a single -only constructor would expose this gap.

2. on value types is noise (minor)

is valid and compiles, but the null-forgiving operator is a no-op for value types. Since the generated file has at the top, this causes no practical problem — but a reader of the generated output might find it odd. If you want to be precise: only emit when . Not blocking.


Verdict

Approve — the fix is correct for the targeted scenario and the test suite confirms it. The -only edge case is worth a follow-up issue or a quick guard before merging, but it doesn't regress any existing behavior.

@claude claude 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.

Code Review

Summary

This is a clean, well-targeted fix for a clear bug. The root cause analysis is accurate: the wrap factory always called new XxxWrapMockImpl(engine, instance) with exactly two args, but GenerateWrapConstructors was emitting one wrapper ctor per base ctor (each forwarding those base ctor parameters as additional args). When no parameterless base ctor existed, the only generated overloads required extra arguments, creating an unresolvable mismatch. The fix is conceptually correct — collapse to a single two-arg ctor and only vary the base-call initializer.


What's well done

  • Root cause correctly identified. The old multi-ctor approach was generating dead code (the factory never passed those extra args). Collapsing to one ctor is the right design, not just a workaround.
  • GetWrapBaseInitializer is clean. Three-case logic (no ctors / parameterless exists / fallback to fewest-param) is easy to follow and matches the invariant that the base sub-object is never observed.
  • Test coverage is thorough. 15 runtime tests cover value types, reference types, params, leading+params, multiple overloads, optional, nullable, in, structs, generics, and verification. The snapshot test locks in the emitted : base(default(string)!) so regressions are caught at the generator level.
  • Known limitation is explicitly documented. The test file header and PR description both call out that a validating base ctor will throw — this is the right level of honesty.

Concerns

1. Unhandled edge case: all accessible constructors have ref parameters

The code deprioritizes ref-bearing constructors, but if all accessible constructors have at least one ref parameter, it still selects one and emits default(T)! for those ref params:

private static string GetWrapBaseArgument(MockParameterModel p) => p.Direction == ParameterDirection.Out
    ? "out _"
    : $"default({p.FullyQualifiedType})!";  // ParameterDirection.Ref also ends up here

A ref int x parameter requires an lvalue; default(int)! is an rvalue — that produces CS1510 in the emitted file. The OrderBy heuristic avoids this when a non-ref alternative exists, but not when there isn't one.

Suggested improvement: Either (a) add a ParameterDirection.Ref branch that emits a temp local (e.g. a ref-returning call or a stack-allocated default), or (b) emit a Roslyn diagnostic when no suitable base ctor can be found, matching how the rest of the generator surfaces unsupported configurations. A test covering a class whose only constructor takes a ref parameter would expose this gap.

2. Null-forgiving ! on value type args (minor)

default(int)! is valid and compiles, but the null-forgiving operator is a no-op for value types. The generated file has #pragma warning disable so there is no practical impact — but a reader of the generated output might find it odd. Emitting ! only when !p.IsValueType would produce cleaner generated code. Not blocking.


Verdict

Approve — the fix is correct for the targeted scenario and the test suite confirms it. The ref-only constructor edge case is worth a follow-up issue or a small guard before merging, but it does not regress any existing behavior.

@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 1 medium · 2 minor

Alerts:
⚠ 3 issues (≤ 0 issues of at least minor severity)

Results:
3 new issues

Category Results
CodeStyle 2 minor
Performance 1 medium

View in Codacy

🟢 Metrics 43 complexity

Metric Results
Complexity 43

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@thomhurst
thomhurst merged commit 3b14cbf into main Jun 15, 2026
14 of 15 checks passed
@thomhurst
thomhurst deleted the fix/6253-wrap-no-parameterless-ctor branch June 15, 2026 16:21
This was referenced Jun 15, 2026
ncosentino added a commit to ncosentino/eve-client that referenced this pull request Aug 2, 2026
Updated
[defaultdocumentation.console](https://github.com/Doraku/DefaultDocumentation)
from 1.2.2 to 1.2.5.

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

_Sourced from [defaultdocumentation.console's
releases](https://github.com/Doraku/DefaultDocumentation/releases)._

## 1.2.5

## Bug fixes
- fixed nint and nuint handling (#​255)
- replaced HTML numeric entities with literal Unicode arrows

- [api nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Api/1.2.5)
- [markdown nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Markdown/1.2.5)
- [msbuild task nuget
package](https://www.nuget.org/packages/DefaultDocumentation/1.2.5)
- [dotnet tool nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Console/1.2.5)


## 1.2.4

- fixed msbuild task issue (#​237)

- [api nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Api/1.2.4)
- [markdown nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Markdown/1.2.4)
- [msbuild task nuget
package](https://www.nuget.org/packages/DefaultDocumentation/1.2.4)
- [dotnet tool nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Console/1.2.4)


## 1.2.3

- added net10 support for DefaultDocumentation.Console
- fixed ValueType appearing in definition constrains

- [api nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Api/1.2.3)
- [markdown nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Markdown/1.2.3)
- [msbuild task nuget
package](https://www.nuget.org/packages/DefaultDocumentation/1.2.3)
- [dotnet tool nuget
package](https://www.nuget.org/packages/DefaultDocumentation.Console/1.2.3)


Commits viewable in [compare
view](https://github.com/Doraku/DefaultDocumentation/compare/1.2.2...1.2.5).
</details>

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

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

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

## 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

## 18.7.0

## What's Changed
* Add ARM64 msdia140.dll support to test platform packages by
@​jamesmcroft in https://github.com/microsoft/vstest/pull/15689
* Update System.Memory from 4.5.5 to 4.6.3 by @​nohwnd in
https://github.com/microsoft/vstest/pull/15706

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

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

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

Updated [Microsoft.SourceLink.GitHub](https://github.com/dotnet/dotnet)
from 10.0.300 to 10.0.301.

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

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

## 10.0.301

You can build .NET 10.0 from the repository by cloning the release tag
`v10.0.301` and following the build instructions in the [main
README.md](https://github.com/dotnet/dotnet/blob/v10.0.301/README.md#building).

Alternatively, you can build from the sources attached to this release
directly.
More information on this process can be found in the [dotnet/dotnet
repository](https://github.com/dotnet/dotnet/blob/v10.0.301/README.md#building-from-released-sources).

Attached are PGP signatures for the GitHub generated tarball and
zipball. You can find the public key at https://dot.net/release-key-2023

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

Updated [nbgv](https://github.com/dotnet/Nerdbank.GitVersioning) from
3.7.115 to 3.10.91.

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

_Sourced from [nbgv's
releases](https://github.com/dotnet/Nerdbank.GitVersioning/releases)._

## 3.10.91

## What's Changed

* Retry file operations on access denied errors by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1408


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.10.85...v3.10.91

## 3.10.85

## What's Changed

* Avoid writing server.json multiple times in a single pack by @​AArnott
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1391

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.10.70...v3.10.85

## 3.10.70

## What's Changed

### Fixes

* Fix case insensitivity for the managed engine on git worktrees, and
implement for libgit2 by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1334
* Fix native heap corruption in GitPackIndexMappedReaderTests by
@​AArnott in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1360

### Enhancements

* Add prerelease property to inheriting version.json files by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1317
* Add NBGV_SetCloudBuildVersionVars property to disable cloud build
variable output by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1324
* Add --what-if option to prepare-release command for simulating version
changes by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1242
* Build nbgv CLI tool for .NET 9 and 10 by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1369


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.50...v3.10.70

## 3.10.44-alpha

## What's Changed

### Fixes

* Fix case insensitivity for the managed engine on git worktrees, and
implement for libgit2 by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1334

### Enhancements

* Add --what-if option to prepare-release command for simulating version
changes by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1242
* Add NBGV_SetCloudBuildVersionVars property to disable cloud build
variable output by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1324


### Dependency updates

* chore(deps): update dependency microsoft.build.locator to 1.11.2 by
@​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1304
* chore(deps): update dotnet monorepo by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1309
* Update dotnet monorepo by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1338


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.10.8-alpha...v3.10.44-alpha

## 3.10.8-alpha

## What's Changed
* Add prerelease property to inheriting version.json files by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1317


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.50...v3.10.8-alpha

## 3.9.50

## What's Changed
* Add `versionHeightOffsetAppliesTo` property to version.json by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1279
* Fix `nbgv prepare-release` command to honor inheriting version.json
files by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1281
* Automatically disable git engine for Dependabot environments by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1284
* Add --what-if switch to nbgv tag command to preview tag names by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1287
* Auto-disable git engine for GitHub Copilot environments by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1291
* Allow uppercase letters in pre-release version identifiers by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1293

## New Contributors
* @​micheloliveira-com made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1277

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.8.118...v3.9.50

## 3.9.37-alpha

## What's Changed
* Auto-disable git engine for GitHub Copilot environments by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1291


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.32-alpha...v3.9.37-alpha

## 3.9.32-alpha

## What's Changed

* Automatically disable git engine for Dependabot environments by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1284
* Add --what-if switch to nbgv tag command to preview tag names by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1287

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.17-alpha...v3.9.32-alpha

## 3.9.17-alpha

## What's Changed
* Fix `nbgv prepare-release` command to honor inheriting version.json
files by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1281


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.15-alpha...v3.9.17-alpha

## 3.9.15-alpha

## What's Changed

* Add `versionHeightOffsetAppliesTo` property to version.json by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1279

## New Contributors
* @​micheloliveira-com made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1277

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.8.118...v3.9.15-alpha

## 3.8.118

## Fixes

* Don't try to disable CA2243 warnings in the generated version info
files for F# by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1174
* Catch a more general JsonException. by @​ANGEL-OF-DEV in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* Retarget links to migrated docs by @​bencemali in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* Check MSBuild items with case insensitivity by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1213
* Fix inconsistent CLI output format for GitCommitDate by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1246
* Fix version height computed as 0 when project path has non-canonical
casing by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1244
* When generating the GitCommitDate field in the AssemblyInfo for F#, d…
by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1253
* Only do Android version check on applications by @​dotMorten in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256
* Fix `nbgv set-version` to write to the best version.json file in scope
by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1264

## Enhancements

* Add msbuild-provided prerelease identifiers by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1153
* Add support for stamping version on server.json for MCP servers with
0.0.0-placeholder replacement by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1270 and by
@​AArnott in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1271
* Add option to set / skip CloudBuildNumber by @​MattKotsenas in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1190
* Add Central Package Management (CPM) support to nbgv install command
by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* Add --public-release argument to nbgv get-version command by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1245
* Invoke PrivateP2PCaching.proj fewer times by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1263

## Other changes

* Update dependency Cake.Core to v5 by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1183

## New Contributors
* @​ANGEL-OF-DEV made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* @​bencemali made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* @​Copilot made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* @​dotMorten made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256
* @​emmanuel-ferdman made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1145

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.7.115...v3.8.118

## 3.8.106-alpha

## What's Changed

### Enhancements

* Add option to set / skip CloudBuildNumber by @​MattKotsenas in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1190
* Add Central Package Management (CPM) support to nbgv install command
by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* Add --public-release argument to nbgv get-version command by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1245
* Invoke PrivateP2PCaching.proj fewer times by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1263

### Fixes

* Catch a more general JsonException. by @​ANGEL-OF-DEV in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* Retarget links to migrated docs by @​bencemali in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* Check MSBuild items with case insensitivity by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1213
* Fix inconsistent CLI output format for GitCommitDate by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1246
* Fix version height computed as 0 when project path has non-canonical
casing by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1244
* When generating the GitCommitDate field in the AssemblyInfo for F#, d…
by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1253
* Only do Android version check on applications by @​dotMorten in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256
* Fix `nbgv set-version` to write to the best version.json file in scope
by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1264

### Other changes

* Update dependency Cake.Core to v5 by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1183

## New Contributors
* @​ANGEL-OF-DEV made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* @​bencemali made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* @​Copilot made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* @​dotMorten made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.8.38-alpha...v3.8.106-alpha

## 3.8.38-alpha

## Fixes

* Don't try to disable CA2243 warnings in the generated version info
files for F# by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1174

## Enhancements

* Add msbuild-provided prerelease identifiers by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1153

## New Contributors
* @​emmanuel-ferdman made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1145

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.7.115...v3.8.38-alpha

Commits viewable in [compare
view](https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.7.115...v3.10.91).
</details>

Updated
[Nerdbank.GitVersioning](https://github.com/dotnet/Nerdbank.GitVersioning)
from 3.7.115 to 3.10.91.

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

_Sourced from [Nerdbank.GitVersioning's
releases](https://github.com/dotnet/Nerdbank.GitVersioning/releases)._

## 3.10.91

## What's Changed

* Retry file operations on access denied errors by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1408


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.10.85...v3.10.91

## 3.10.85

## What's Changed

* Avoid writing server.json multiple times in a single pack by @​AArnott
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1391

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.10.70...v3.10.85

## 3.10.70

## What's Changed

### Fixes

* Fix case insensitivity for the managed engine on git worktrees, and
implement for libgit2 by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1334
* Fix native heap corruption in GitPackIndexMappedReaderTests by
@​AArnott in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1360

### Enhancements

* Add prerelease property to inheriting version.json files by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1317
* Add NBGV_SetCloudBuildVersionVars property to disable cloud build
variable output by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1324
* Add --what-if option to prepare-release command for simulating version
changes by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1242
* Build nbgv CLI tool for .NET 9 and 10 by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1369


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.50...v3.10.70

## 3.10.44-alpha

## What's Changed

### Fixes

* Fix case insensitivity for the managed engine on git worktrees, and
implement for libgit2 by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1334

### Enhancements

* Add --what-if option to prepare-release command for simulating version
changes by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1242
* Add NBGV_SetCloudBuildVersionVars property to disable cloud build
variable output by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1324


### Dependency updates

* chore(deps): update dependency microsoft.build.locator to 1.11.2 by
@​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1304
* chore(deps): update dotnet monorepo by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1309
* Update dotnet monorepo by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1338


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.10.8-alpha...v3.10.44-alpha

## 3.10.8-alpha

## What's Changed
* Add prerelease property to inheriting version.json files by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1317


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.50...v3.10.8-alpha

## 3.9.50

## What's Changed
* Add `versionHeightOffsetAppliesTo` property to version.json by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1279
* Fix `nbgv prepare-release` command to honor inheriting version.json
files by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1281
* Automatically disable git engine for Dependabot environments by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1284
* Add --what-if switch to nbgv tag command to preview tag names by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1287
* Auto-disable git engine for GitHub Copilot environments by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1291
* Allow uppercase letters in pre-release version identifiers by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1293

## New Contributors
* @​micheloliveira-com made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1277

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.8.118...v3.9.50

## 3.9.37-alpha

## What's Changed
* Auto-disable git engine for GitHub Copilot environments by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1291


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.32-alpha...v3.9.37-alpha

## 3.9.32-alpha

## What's Changed

* Automatically disable git engine for Dependabot environments by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1284
* Add --what-if switch to nbgv tag command to preview tag names by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1287

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.17-alpha...v3.9.32-alpha

## 3.9.17-alpha

## What's Changed
* Fix `nbgv prepare-release` command to honor inheriting version.json
files by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1281


**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.9.15-alpha...v3.9.17-alpha

## 3.9.15-alpha

## What's Changed

* Add `versionHeightOffsetAppliesTo` property to version.json by
@​Copilot in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1279

## New Contributors
* @​micheloliveira-com made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1277

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.8.118...v3.9.15-alpha

## 3.8.118

## Fixes

* Don't try to disable CA2243 warnings in the generated version info
files for F# by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1174
* Catch a more general JsonException. by @​ANGEL-OF-DEV in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* Retarget links to migrated docs by @​bencemali in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* Check MSBuild items with case insensitivity by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1213
* Fix inconsistent CLI output format for GitCommitDate by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1246
* Fix version height computed as 0 when project path has non-canonical
casing by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1244
* When generating the GitCommitDate field in the AssemblyInfo for F#, d…
by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1253
* Only do Android version check on applications by @​dotMorten in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256
* Fix `nbgv set-version` to write to the best version.json file in scope
by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1264

## Enhancements

* Add msbuild-provided prerelease identifiers by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1153
* Add support for stamping version on server.json for MCP servers with
0.0.0-placeholder replacement by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1270 and by
@​AArnott in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1271
* Add option to set / skip CloudBuildNumber by @​MattKotsenas in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1190
* Add Central Package Management (CPM) support to nbgv install command
by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* Add --public-release argument to nbgv get-version command by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1245
* Invoke PrivateP2PCaching.proj fewer times by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1263

## Other changes

* Update dependency Cake.Core to v5 by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1183

## New Contributors
* @​ANGEL-OF-DEV made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* @​bencemali made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* @​Copilot made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* @​dotMorten made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256
* @​emmanuel-ferdman made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1145

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.7.115...v3.8.118

## 3.8.106-alpha

## What's Changed

### Enhancements

* Add option to set / skip CloudBuildNumber by @​MattKotsenas in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1190
* Add Central Package Management (CPM) support to nbgv install command
by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* Add --public-release argument to nbgv get-version command by @​Copilot
in https://github.com/dotnet/Nerdbank.GitVersioning/pull/1245
* Invoke PrivateP2PCaching.proj fewer times by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1263

### Fixes

* Catch a more general JsonException. by @​ANGEL-OF-DEV in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* Retarget links to migrated docs by @​bencemali in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* Check MSBuild items with case insensitivity by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1213
* Fix inconsistent CLI output format for GitCommitDate by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1246
* Fix version height computed as 0 when project path has non-canonical
casing by @​Copilot in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1244
* When generating the GitCommitDate field in the AssemblyInfo for F#, d…
by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1253
* Only do Android version check on applications by @​dotMorten in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256
* Fix `nbgv set-version` to write to the best version.json file in scope
by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1264

### Other changes

* Update dependency Cake.Core to v5 by @​renovate[bot] in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1183

## New Contributors
* @​ANGEL-OF-DEV made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1191
* @​bencemali made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1193
* @​Copilot made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1208
* @​dotMorten made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1256

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.8.38-alpha...v3.8.106-alpha

## 3.8.38-alpha

## Fixes

* Don't try to disable CA2243 warnings in the generated version info
files for F# by @​Numpsy in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1174

## Enhancements

* Add msbuild-provided prerelease identifiers by @​AArnott in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1153

## New Contributors
* @​emmanuel-ferdman made their first contribution in
https://github.com/dotnet/Nerdbank.GitVersioning/pull/1145

**Full Changelog**:
https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.7.115...v3.8.38-alpha

Commits viewable in [compare
view](https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.7.115...v3.10.91).
</details>

Updated
[NexusLabs.Framework.Analyzers](https://github.com/ncosentino/NexusLabs.Framework)
from 0.2.6 to 0.2.9.

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

_Sourced from [NexusLabs.Framework.Analyzers's
releases](https://github.com/ncosentino/NexusLabs.Framework/releases)._

No release notes found for this version range.

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

Updated [TUnit](https://github.com/thomhurst/TUnit) from 1.53.0 to
1.63.0.

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

_Sourced from [TUnit's
releases](https://github.com/thomhurst/TUnit/releases)._

## 1.63.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.63.0 -->

## What's Changed
### Other Changes
* fix(mocks): dispatch abstract indexers through the engine instead of
calling base by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6517
* feat(mocks): experimental compile-time internals access (#​6514 Tier
2) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6520
* feat(mocks): make the async-factory Returns alias available below
net9.0 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6518
* +semver:minor - feat(mocks): runtime auto-stubs for interfaces the
source generator cannot see by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6519
### Dependencies
* chore(deps): update tunit to 1.62.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6508
* chore(deps): update dependency mockolate to 3.4.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6512
* chore(deps): update dependency cliwrap to 3.10.4 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6513
* chore(deps): update dependency stackexchange.redis to 3.0.25 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6522
* chore(deps): update dependency brace-expansion to v5.0.9 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6523
* chore(deps): update dependency microsoft.build.utilities.core to v18
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6525


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.62.0...v1.63.0

## 1.62.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.62.0 -->

## What's Changed
### Other Changes
* fix(docs): make Mermaid lifecycle diagrams readable by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6485
* fix(mocks): strip nullable annotation from constructor dispatch
patterns by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6498
* fix(mocks): skip interfaces with inaccessible abstract members by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6502
* feat(mocks): accept an async factory in Returns() on async members by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6503
* fix(mocks): report TM006 instead of CS1729 for unsubclassable classes
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6501
* fix(mocks): emit the setup surface into the globally-imported
namespace by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6504
* fix(mocks): reference TUnit.Mocks once in snapshot test compilations
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6506
* fix(mocks): make generated identifier sanitization injective by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6507
### Dependencies
* chore(deps): update tunit to 1.61.38 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6479
* chore(deps): update dependency brace-expansion to v5.0.8 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6478
* chore(deps): update dependency cliwrap to 3.10.3 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6482
* chore(deps): bump postcss from 8.5.10 to 8.5.22 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6480
* chore(deps): update dependency fscheck to 3.3.4 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6486
* chore(deps): update dependency minimatch to v10.2.6 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6490
* chore(deps): update actions/stale action to v11 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6496
* chore(deps): update microsoft.testing to 2.3.3 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6499
* chore(deps): update mstest to 4.3.3 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6500


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.61.38...v1.62.0

## 1.61.38

<!-- Release notes generated using configuration in .github/release.yml
at v1.61.38 -->

## What's Changed
### Other Changes
* fix: apply 'unmanaged' constraint handling to remaining source
generators by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6474
* feat: expose data source attributes on TestContext by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6477
### Dependencies
* chore(deps): update tunit to 1.61.35 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6475


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.61.35...v1.61.38

## 1.61.35

<!-- Release notes generated using configuration in .github/release.yml
at v1.61.35 -->

## What's Changed
### Other Changes
* fix(mocks): omit 'struct' constraint when type parameter has
'unmanaged' constraint by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6473
### Dependencies
* chore(deps): bump fast-uri from 3.1.2 to 3.1.4 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6466
* chore(deps): update tunit to 1.61.29 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6467
* chore(deps): update dependency verify.tool to v0.8.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6470
* chore(deps): update dependency docusaurus-plugin-llms to ^0.5.1 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6472


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.61.29...v1.61.35

## 1.61.29

<!-- Release notes generated using configuration in .github/release.yml
at v1.61.29 -->

## What's Changed
### Other Changes
* perf: remove EnumerableAsyncProcessor dependency by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6465
### Dependencies
* chore(deps): bump shell-quote from 1.8.4 to 1.10.0 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6462
* chore(deps): bump body-parser from 1.20.5 to 1.20.6 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6461
* chore(deps): bump webpack-dev-server from 5.2.5 to 5.2.6 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6460
* chore(deps): update dependency microsoft.kiota.abstractions to v2 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6464
* chore(deps): update tunit to 1.61.23 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6463


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.61.23...v1.61.29

## 1.61.23

<!-- Release notes generated using configuration in .github/release.yml
at v1.61.23 -->

## What's Changed
### Other Changes
* fix(mocks): emit 'where T : default' for interface-constrained generic
methods by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6458
### Dependencies
* chore(deps): update tunit to 1.61.15 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6450
* chore(deps): update actions/checkout action to v7.0.1 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6453
* chore(deps): update verify to 31.26.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6454
* chore(deps): update verify to 31.27.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6457
* chore(deps): update react to ^19.2.8 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6459


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.61.15...v1.61.23

## 1.61.15

<!-- Release notes generated using configuration in .github/release.yml
at v1.61.15 -->

## What's Changed
### Other Changes
* feat: Allow disabling the automatic html report upload to
upload-artifacts@​v7 by @​Crashdummyy in
https://github.com/thomhurst/TUnit/pull/6447
* fix: stop retrying artifact upload on non-retryable status codes by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6449
### Dependencies
* chore(deps): update tunit to 1.61.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6437
* chore(deps): update verify to 31.24.3 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6438
* chore(deps): update dependency
opentelemetry.instrumentation.aspnetcore to 1.17.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6440
* chore(deps): update verify to 31.25.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6442
* chore(deps): update dependency docusaurus-plugin-llms to ^0.5.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6443
* chore(deps): update opentelemetry to 1.17.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6441

## New Contributors
* @​Crashdummyy made their first contribution in
https://github.com/thomhurst/TUnit/pull/6447

**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.61.0...v1.61.15

## 1.61.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.61.0 -->

## What's Changed
### Other Changes
* docs: revamp README with feature showcase and auto-updating benchmarks
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6430
* docs: align docs homepage messaging with revamped README by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6431
* fix(engine): emit ECMA-335 metadata-format type names in
TestMethodIdentifierProperty by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6433
* fix(benchmarks): make SetupTeardownTests JSON tests Native AOT
compatible by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6434
* Organize repository into conventional .NET layout by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6435
### Dependencies
* chore(deps): update dependency polyfill to v11 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6418
* chore(deps): update dependency tunit.aspire to 1.6* by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6419
* chore(deps): update tunit to 1.6* by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6420
* chore(deps): update dependency polyfill to 11.0.1 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6421
* chore(deps): update dependency polyfill to 11.0.1 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6422
* chore(deps): update verify to 31.24.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6424
* chore(deps): update microsoft.build to 18.8.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6426
* chore(deps): update dependency microsoft.net.stringtools to 18.8.2 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6425
* chore(deps): update actions/setup-dotnet action to v6 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6427
* chore(deps): bump websocket-driver from 0.7.4 to 0.7.5 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6429
* chore(deps): update opentelemetry to 1.17.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6432


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.60.0...v1.61.0

## 1.60.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.60.0 -->

## What's Changed
### Other Changes
* feat: cross-process test report aggregation — merged HTML report +
single GitHub summary by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6415
### Dependencies
* chore(deps): update tunit to 1.59.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6398
* chore(deps): update verify to 31.24.1 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6399
* chore(deps): update microsoft.testing to 2.3.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6401
* chore(deps): update mstest to 4.3.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6402
* chore(deps): update actions/setup-node action to v7 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6403
* chore(deps): update dependency microsoft.net.test.sdk to 18.8.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6404
* chore(deps): update dependency microsoft.net.test.sdk to 18.8.1 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6405
* chore(deps): update dependency fsharp.core to 10.1.302 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6406
* chore(deps): update dependency microsoft.templateengine.authoring.cli
to v10.0.302 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6407
* chore(deps): update dependency microsoft.entityframeworkcore to
10.0.10 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6410
* chore(deps): update dependency dotnet-sdk to v10.0.302 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6409
* chore(deps): update dependency system.commandline to 2.0.10 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6412
* chore(deps): update dependency
microsoft.templateengine.authoring.templateverifier to 10.0.302 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6411
* chore(deps): update microsoft.aspnetcore to 10.0.10 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6413
* chore(deps): update microsoft.extensions to 10.0.10 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6414
* chore(deps): update microsoft.extensions to 10.8.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6416
* chore(deps): update dependency polyfill to v11 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6417


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.59.0...v1.60.0

## 1.59.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.59.0 -->

## What's Changed
### Other Changes
* Fix typed MethodDataSource provider instances by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6378
* Fix instance MethodDataSource isolation by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6379
* fix(mocks): CS9262 in generated mock members on VS 17.14 (Roslyn 4.14)
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6392
* Remove EqualTo alias documentation by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6396
* fix(aspnetcore): guard hosted-service stop against concurrent double
Host.StopAsync by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6397
* Add single-item assertion chaining by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6395
* Improve test framework migrations by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6381
* Add -f/--framework support to TUnit template with .NET Framework
handling by @​thomhurst with @​Copilot in
https://github.com/thomhurst/TUnit/pull/6262
### Dependencies
* chore(deps): update tunit to 1.58.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6351
* chore(deps): update dependency tunit.core to 1.58.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6352
* chore(deps): update dependency picomatch to v4.0.5 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6354
* chore(deps): update dependency testcontainers.postgresql to 4.13.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6356
* chore(deps): update dependency testcontainers.redis to 4.13.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6357
* chore(deps): update dependency testcontainers.kafka to 4.13.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6355
* chore(deps): update dependency gitversion.tool to v6.8.1 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6359
* chore(deps): update dependency typescript to v7 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6372
* chore(deps): update mstest to 4.3.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6374
* chore(deps): update dependency messagepack to 3.1.8 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6376
* chore(deps): update dependency opentelemetry.instrumentation.runtime
to 1.16.0 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6380
* chore(deps): update dependency vogen to 8.0.6 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6382
* chore(deps): update dependency gitversion.tool to v6.8.2 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6384
* chore(deps): update dependency npgsql.entityframeworkcore.postgresql
to 10.0.3 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6385
* chore(deps): update docusaurus to v3.10.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6386
* chore(deps): update dependency stackexchange.redis to 3.0.17 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6387
* chore(deps): update dependency dompurify to v3.4.12 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6389
* chore(deps): update dependency svgo to v4.0.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6390
* chore(deps): update dependency nsubstitute to v6 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6394
* chore(deps): update verify to 31.24.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6367
* chore(deps): update microsoft.testing by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6369


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.58.0...v1.59.0

## 1.58.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.58.0 -->

## What's Changed
### Other Changes
* feat(aspire): opt-in live forwarding of resource logs into test output
(#​6341) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6345
* fix(aspire): fail fast on Finished-state crashes during startup
(#​6342) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6346
* fix(engine): keep per-test timeout token source alive through teardown
(#​6339) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6349
* feat(aspire): resource-diagnostics helpers + retained log buffer
(#​6343) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6350
* feat(aspire): surface exception detail in routed OTLP logs (#​6347) by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6348
### Dependencies
* chore(deps): update tunit to 1.57.17 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6344


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.57.17...v1.58.0

## 1.57.17

<!-- Release notes generated using configuration in .github/release.yml
at v1.57.17 -->

## What's Changed
### Other Changes
* fix(engine): reset test cancellation token before After hooks on
timeout path (#​6339) by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6340
### Dependencies
* chore(deps): update tunit to 1.57.14 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6336


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.57.14...v1.57.17

## 1.57.14

<!-- Release notes generated using configuration in .github/release.yml
at v1.57.14 -->

## What's Changed
### Other Changes
* fix(engine): apply --treenode-filter to --list-tests by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6334
* feat(aspire): dump resource error logs on test failure + warn on
missing telemetry wiring by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6323
### Dependencies
* chore(deps): update dependency stackexchange.redis to 3.0.11 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6324
* chore(deps): update tunit to 1.57.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6322
* chore(deps): update dependency brace-expansion to v5.0.7 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6326
* chore(deps): update dependency polyfill to 10.11.1 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6327
* chore(deps): update dependency polyfill to 10.11.1 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6329
* chore(deps): update dependency polyfill to 10.11.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6330
* chore(deps): update dependency polyfill to 10.11.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6331
* chore(deps): update dependency serialize-javascript to v7.0.7 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6333
* chore(deps): update dependency gitversion.tool to v6.8.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6335


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.57.0...v1.57.14

## 1.57.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.57.0 -->

## What's Changed
### Other Changes
* perf(sourcegen): consolidate per-file ModuleInitializers into merged
.cctor (#​6226) by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6286
* fix: resolve CS0121 IsEqualTo ambiguity on .NET 8 SDK (#​6296) by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6313
* chore(docs): apply Codacy markdownlint fixes by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6284
* fix(mocks): generate mock for qualified-name X.Mock() calls (#​6298)
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6314
### Dependencies
* chore(deps): update tunit to 1.56.35 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6306
* chore(deps): update dependency stackexchange.redis to 3.0.7 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6307
* chore(deps): update dependency opentelemetry.instrumentation.http to
1.16.0 by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6308
* chore(deps): update dependency
opentelemetry.instrumentation.aspnetcore to 1.16.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6309
* chore(deps): update dependency qs to v6.15.3 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6310
* chore(deps): update dependency polyfill to 10.11.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6312
* chore(deps): update dependency polyfill to 10.11.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6311
* chore(deps): bump http-proxy-middleware from 2.0.9 to 2.0.10 in /docs
by @​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6303


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.56.35...v1.57.0

## 1.56.35

<!-- Release notes generated using configuration in .github/release.yml
at v1.56.35 -->

## What's Changed
### Other Changes
* feat(aspire): tear down Aspire on test-run abort via session
cancellation token by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6292
### Dependencies
* chore(deps): update tunit to 1.56.25 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6294
* chore(deps): update dependency
microsoft.visualstudio.threading.analyzers to v18 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6297
* chore(deps): update dependency microsoft.net.test.sdk to 18.7.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6300
* chore(deps): update dependency microsoft.playwright to 1.61.0 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6302
* chore(deps): update actions/cache action to v6 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6301
* chore(deps): update dependency azure.storage.blobs to 12.29.1 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6304


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.56.25...v1.56.35

## 1.56.25

<!-- Release notes generated using configuration in .github/release.yml
at v1.56.25 -->

## What's Changed
### Other Changes
* feat(aspire): actionable diagnostics when resources fail to start by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6293
### Dependencies
* chore(deps): update tunit to 1.56.18 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6285
* chore(deps): update aspire to 13.4.6 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6287
* chore(deps): update dependency mockolate to 3.3.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6291


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.56.18...v1.56.25

## 1.56.18

<!-- Release notes generated using configuration in .github/release.yml
at v1.56.18 -->

## What's Changed
### Other Changes
* fix(mocks): mock deep interface hierarchies (#​6264) by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6283
* feat: artifact retention for auto-uploaded HTML report (#​6266) by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6270
* fix(mocks): forward asymmetric `new`-hidden property slots
per-accessor (#​6263) by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6281
* fix: honor OverloadResolutionPriority on net8 consumers (#​6276,
#​6280) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6282
### Dependencies
* chore(deps): update tunit to 1.56.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6259
* chore(deps): update dependency streamjsonrpc to 2.25.29 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6258
* chore(deps): update aspire to 13.4.5 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6267
* chore(deps): bump launch-editor from 2.12.0 to 2.14.1 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6268
* chore(deps): bump @​babel/core from 7.28.5 to 7.29.7 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6269
* chore(deps): update dependency dompurify to v3.4.11 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6271
* chore(deps): update dependency serialize-javascript to v7.0.6 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6272
* chore(deps): update actions/checkout action to v7 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6277
* chore(deps): update verify to 31.20.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6278
* chore(deps): bump webpack-dev-server from 5.2.4 to 5.2.5 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6273


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.56.0...v1.56.18

## 1.56.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.56.0 -->

## What's Changed
### Other Changes
* fix(aspnetcore): serialize WithWebHostBuilder to stop
_derivedFactories race (flaky disposal NRE) by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6251
* fix(mocks): wrap a real object whose class has no parameterless ctor
(#​6253) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6255
* fix(mocks): implement `new`-hidden base interface members in wrapper
(#​6252) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6256
* fix(mocks): mocking a method with more params than Func/Action arity
(#​6254) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6257
### Dependencies
* chore(deps): update tunit to 1.55.2 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6248
* chore(deps): update aspire to 13.4.4 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6249
* chore(deps): update dependency stackexchange.redis to v3 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6250


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.55.2...v1.56.0

## 1.55.2

<!-- Release notes generated using configuration in .github/release.yml
at v1.55.2 -->

## What's Changed
### Other Changes
* fix(aspire): publish TUnit.Aspire.Core package (#​6246) by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6247
### Dependencies
* chore(deps): update tunit to 1.55.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6245


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.55.0...v1.55.2

## 1.55.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.55.0 -->

## What's Changed
### Other Changes
* feat(aspire): add TUnit.Aspire.Core without TUnit metapackage
dependency (#​5471) by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6243
* fix(analyzers): scope TUnit0031 async-void rule to tests and hooks
(#​6190) by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6244
### Dependencies
* chore(deps): update dependency streamjsonrpc to 2.25.28 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6232
* chore(deps): update tunit to 1.54.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6233
* chore(deps): bump joi from 17.13.3 to 17.13.4 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6234
* chore(deps): update dependency polyfill to 10.9.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6238
* chore(deps): update _tunitpolyfillversion to 10.9.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6237
* chore(deps): update dependency polyfill to 10.10.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6242
* chore(deps): update _tunitpolyfillversion to 10.10.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6241


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.54.0...v1.55.0

## 1.54.0

<!-- Release notes generated using configuration in .github/release.yml
at v1.54.0 -->

## What's Changed
### Other Changes
* Generate collection-shape drill-in overloads (#​6185) by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6218
* feat(mocks): setup/verify on secondary interfaces of multi-type mocks
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6230
* perf: reduce allocations in source-gen test building hot paths by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6228
* perf: shrink generated TestEntry builder IL via shared TUnit.Core
factory helpers by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6231
### Dependencies
* chore(deps): update tunit to 1.53.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6199
* chore(deps): update verify to 31.19.1 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6200
* chore(deps): update dependency messagepack to 3.1.7 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6203
* chore(deps): update dependency fsharp.core to 10.1.301 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6202
* chore(deps): update dependency microsoft.entityframeworkcore to 10.0.9
by @​thomhurst in https://github.com/thomhurst/TUnit/pull/6205
* chore(deps): update dependency dotnet-sdk to v10.0.301 by @​thomhurst
in https://github.com/thomhurst/TUnit/pull/6204
* chore(deps): update dependency microsoft.templateengine.authoring.cli
to v10.0.301 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6206
* chore(deps): update dependency
microsoft.templateengine.authoring.templateverifier to 10.0.301 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6207
* chore(deps): update microsoft.aspnetcore to 10.0.9 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6209
* chore(deps): update dependency system.commandline to 2.0.9 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6208
* chore(deps): update microsoft.extensions by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6211
* chore(deps): update dependency dompurify to v3.4.9 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6213
* chore(deps): bump shell-quote from 1.8.3 to 1.8.4 in /docs by
@​dependabot[bot] in https://github.com/thomhurst/TUnit/pull/6210
* chore(deps): update dependency polly to 8.7.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6214
* chore(deps): update dependency microsoft.net.stringtools to 18.7.1 by
@​thomhurst in https://github.com/thomhurst/TUnit/pull/6215
* chore(deps): update microsoft.build to 18.7.1 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6216
* chore(deps): update opentelemetry to 1.16.0 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6217
* chore(deps): update dependency dompurify to v3.4.10 by @​thomhurst in
https://github.com/thomhurst/TUnit/pull/6229


**Full Changelog**:
https://github.com/thomhurst/TUnit/compare/v1.53.0...v1.54.0

Commits viewable in [compare
view](https://github.com/thomhurst/TUnit/compare/v1.53.0...v1.63.0).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nick Cosentino <nbcosentino@gmail.com>
This was referenced Aug 2, 2026
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.

[Bug]: Wrapping a real object without an empty constructor in a mock doesn't build

1 participant