Skip to content

Releases

1.83.8

Choose a tag to compare

@github-actions github-actions released this 11 Nov 19:03
6a27033

What's Changed

Other Changes

Dependencies

  • chore(deps): update all non-major dependencies by @thomhurst in #7710
  • chore(deps): update all non-major dependencies by @thomhurst in #7712
  • chore(deps): update dependency microsoft.templateengine.authoring.cli to v11 by @thomhurst in #7716
  • chore(deps): update dependency nuget.protocol to v8 by @thomhurst in #7719

Full Changelog: v1.83.0...v1.83.8

1.83.0

Choose a tag to compare

@github-actions github-actions released this 10 Nov 21:24
0e3de1a

What's Changed

Other Changes

  • docs: add xUnit v3 (AOT) column to README benchmark table by @thomhurst in #7700
  • feat!: drop net8.0 and net9.0, add net11.0 and enable runtime async by @thomhurst in #7705
  • ci: opt out of dotnet CLI telemetry in speed comparison by @thomhurst in #7707
  • docs: redesign the homepage and refresh site styling by @thomhurst in #7708

Dependencies

Full Changelog: v1.81.16...v1.83.0

1.81.16

Choose a tag to compare

@github-actions github-actions released this 09 Nov 14:53
2abdd8e

What's Changed

Other Changes

Dependencies

Full Changelog: v1.81.10...v1.81.16

1.81.10

Choose a tag to compare

@github-actions github-actions released this 06 Nov 21:56
457357f

What's Changed

Other Changes

  • Preserve private type values in generated executable test attributes by @thomhurst in #7667
  • feat(sourcegen): inherit XML docs from [AssertionExtension] classes by @JohnVerheij in #7692

Dependencies

Full Changelog: v1.81.5...v1.81.10

1.81.5

Choose a tag to compare

@github-actions github-actions released this 06 Nov 18:35
8407944

What's Changed

Other Changes

  • feat(sourcegen): inherit XML docs from [GenerateAssertion] source methods by @JohnVerheij in #7687
  • fix(mocks): stop verification leaving setups on void-shaped members by @thomhurst in #7688

Dependencies

  • Update all non-major dependencies by @thomhurst in #7681
  • Update dependency OpenTelemetry.Instrumentation.AspNetCore to 1.20.2 by @thomhurst in #7685

Full Changelog: v1.81.0...v1.81.5

1.81.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 23:35
9b9ea07

What's Changed

Other Changes

  • Extract Windows engine hang dump stacks in CI by @thomhurst in #7584
  • Cut STAThreadTests repeats so the Windows reflection pass run fits its timeout by @thomhurst in #7594
  • Preserve expected-value semantics when migrating xUnit Assert.Single by @thomhurst in #7586
  • Capture Windows loader ownership and thread CPU times by @thomhurst in #7603
  • Isolate the full passing engine session from sibling test processes by @thomhurst in #7606
  • Remove unused concrete metadata generation chain by @thomhurst in #7569
  • Avoid temporary arrays in singleton tuple binding by @thomhurst in #7583
  • Fix ParallelTests overlap assertion for late repetitions by @thomhurst in #7600
  • Fix nullable generic class method-row analyzer validation by @thomhurst in #7613
  • Fix generated property injection into boxed structs by @thomhurst in #7612
  • Make Playwright template navigation deterministic by @thomhurst in #7604
  • Release objects and complete teardown for dependency-skipped tests by @thomhurst in #7605
  • Support typed tuple rows before optional parameters by @thomhurst in #7608
  • Cover null rows in generic class type inference by @thomhurst in #7621
  • Skip certificate trust preparation for HTTP-only Aspire test resources by @thomhurst in #7618
  • Accept convertible typed rows before optional test parameters by @thomhurst in #7619
  • Preserve nullable class discovery parity and constructor precedence by @thomhurst in #7614
  • Preserve whole tuple rows before omitted trailing arrays by @thomhurst in #7625
  • Fix reflection inference for concrete params arrays by @thomhurst in #7627
  • Remove obsolete nullable method-row analyzer suppression by @thomhurst in #7626
  • Infer generic method arguments from instance data sources by @thomhurst in #7630
  • test: cover discarded method-row lifecycle isolation (#7373) by @thomhurst in #7632
  • Allow DI scopes to opt out of resolved object ownership by @thomhurst in #7633
  • Give TestBuilder rows explicit cleanup owners by @thomhurst in #7637
  • Preserve whole-tuple inference across wrapped and async sources by @thomhurst in #7641
  • Fix reported compiler warnings in regression fixtures by @thomhurst in #7645
  • fix(core): track external ownership per row scope by @thomhurst in #7635
  • Fix remaining regression fixture compiler warnings by @thomhurst in #7646
  • Fix generic class argument row edge cases by @thomhurst in #7647
  • Preserve sole-tuple inference and runtime conversion parity by @thomhurst in #7643
  • Match method data source attributes by fully qualified identity by @thomhurst in #7649
  • Treat null method data sources as empty in both execution modes by @thomhurst in #7652
  • Fix xUnit proper-set migration operands and strictness by @thomhurst in #7653
  • Fix mock setup identifier collisions by @thomhurst in #7658
  • fix(generator): qualify built-in data-source row classification by @thomhurst in #7651
  • Capture macOS native runtime crashes for diagnosis by @thomhurst in #7659
  • Restore nullable diagnostics in mock generated-code regression guards by @thomhurst in #7661
  • Avoid mock predicate conversion local name collisions by @thomhurst in #7655
  • Install browsers with the resolved .NET Playwright package by @thomhurst in #7673
  • Remove nullable and assertion warnings from unit tests by @thomhurst in #7670
  • Preserve keyword escapes in generated attribute factory type names by @thomhurst in #7669
  • Fix default mock argument matching by @thomhurst in #7676
  • Preserve category and property filters on generic discovery failures by @thomhurst in #7663
  • Preserve keyword escapes in generated type expressions by @thomhurst in #7675
  • Encapsulate row lifetime and constructor state replay by @thomhurst in #7678
  • Diagnose unsupported span params on test methods by @thomhurst in #7679
  • Honor inherited tests on generic classes in reflection discovery by @thomhurst in #7665

Dependencies

Full Changelog: v1.80.0...v1.81.0

1.80.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 14:32
885ee5f

What's Changed

Other Changes

  • Share evaluated constructor-row state across discovery modes by @thomhurst in #7497
  • Diagnose static data-source properties in inaccessible containing types by @thomhurst in #7503
  • Extract typed-row binding and verify invocation parity by @thomhurst in #7507
  • Accept omitted optional MethodDataSource arguments in TUnit0001 by @thomhurst in #7486
  • Preserve null-containing tuples from static method data sources by @thomhurst in #7469
  • Fix dependencies on deferred enumeration tests by @thomhurst in #7471
  • Preserve DI scope ownership and synchronize concurrent property registration by @thomhurst in #7476
  • Infer typed row generic arguments through interfaces and base classes by @thomhurst in #7508
  • Keep session cleanup from disposing another session’s data sources by @thomhurst in #7509
  • Fix recursive generated tuple argument conversions by @thomhurst in #7515
  • Share generic class row selection and pairing policy by @thomhurst in #7498
  • Raise data-source delegates at test lifecycle stages by @thomhurst in #7521
  • Fix class argument literals to use constructor parameter types by @thomhurst in #7496
  • Accept numeric widening for single reference-tuple data parameters by @thomhurst in #7510
  • fix(core): preserve optional F# async support without AOT warnings by @thomhurst in #7526
  • Fix timeouts for synchronously blocking test bodies by @thomhurst in #7527
  • Fix Native AOT getters for generic test class property metadata by @thomhurst in #7524
  • Refresh stale core generator snapshots by @thomhurst in #7549
  • Infer generic class types from inherited literal arguments by @thomhurst in #7544
  • Make duplicate-stop cancellation regression independent of thread-pool scheduling by @thomhurst in #7546
  • Fix colliding generator diagnostic IDs by @thomhurst in #7538
  • Fix generic array binding inside tuple data-source parameters by @thomhurst in #7541
  • Discover AOT converters from method data source return types by @thomhurst in #7547
  • Check tuple conversion analyzer policy against runtime binding by @thomhurst in #7559
  • Deduplicate disposal span callbacks on .NET 8 by @thomhurst in #7557
  • Preserve generic tuple rows from instance data sources by @thomhurst in #7548
  • Expect source operators to bind in AOT in the tuple conversion matrix by @thomhurst in #7580
  • Preserve containing generic types in TUnit0001 diagnostics by @thomhurst in #7563
  • Populate reflection class property metadata by @thomhurst in #7550
  • Verify every generic class/method argument pair executes once by @thomhurst in #7558
  • Exclude indexers from generated class property metadata by @thomhurst in #7560
  • Fix synchronous factory timeout cancellation classification by @thomhurst in #7561
  • Add packaged F# async trimming smoke coverage by @thomhurst in #7562
  • Remove unused metadata generation entry points by @thomhurst in #7570
  • Remove unused streaming test builder path by @thomhurst in #7535
  • Isolate test registration callback failures by @thomhurst in #7556

Dependencies

Full Changelog: v1.79.0...v1.80.0

1.79.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 18:48
a828bb8

What's Changed

Other Changes

  • test(sourcegen): parse fixtures as a real build in all generator test harnesses by @thomhurst in #7319
  • test(sourcegen): fix net472 compile of AotConverterScanTests obsolete-conversion fixture by @thomhurst in #7330
  • fix(sourcegen): emit typeof(Nullable<>) for a T? parameter of a generic test method by @thomhurst in #7322
  • test: fix ClassDataSourceTupleTests to exercise class-level tuple unwrapping by @thomhurst in #7318
  • fix(fsharp): pin FSharp.Core in TUnit.Assertions.FSharp independent of the building SDK by @thomhurst in #7321
  • fix(sourcegen): pick MethodDataSource overloads declared on base types like reflection by @thomhurst in #7323
  • fix(reflection): close generic methods over a typed data source's declared types without [GenerateGenericTest] by @thomhurst in #7324
  • fix(engine): run every overload of a [Test] method in filtered runs by @thomhurst in #7332
  • fix: bind a tuple row whole to a tuple parameter followed by optional parameters by @thomhurst in #7341
  • fix(core): keep and dispose data-source roots when object-graph tracking throws by @thomhurst in #7342
  • fix(engine): lower default maximum parallel tests to 2x processor count by @thomhurst in #7354
  • ci: cut duplicate TFM and packaging work from the Windows and macOS jobs by @thomhurst in #7357
  • ci: run engine tests in their own job and drop the per-child test-host relaunch by @thomhurst in #7364
  • fix(sourcegen): split untyped class data source rows by the generic class type they infer by @thomhurst in #7339
  • fix(engine): read a generic class's own class-level [MethodDataSource] member on the closed class by @thomhurst in #7336
  • fix(analyzers): TUnit0001 unwraps only the Func/TestDataRow layers the runtime removes by @thomhurst in #7347
  • test: make SharedType.None leakage tests independent of build order by @thomhurst in #7385
  • fix(generic): infer method type arguments from [Arguments] rows in both modes by @thomhurst in #7343
  • fix(generic): infer class type arguments through T[] constructor parameters from any class row by @thomhurst in #7346
  • fix(engine): await the Task of async runtime dynamic tests by @thomhurst in #7363
  • feat(engine): add dispose spans for shared data-source objects by @thomhurst in #7396
  • fix(engine): stop copying build-time output to TestSessionContext by @thomhurst in #7397
  • feat(mocks): argument-aware Returns for Task/ValueTask members by @thomhurst in #7404
  • fix(generic): a type-free class [Arguments] row lets method rows infer T, with matching constructor binding in both modes by @thomhurst in #7392
  • feat(scripts): finish open loop PRs before starting new issues by @thomhurst in #7423
  • fix(mocks): preserve nullable generic constraints by @thomhurst in #7414
  • Retain class sources sharing an inferred generic instantiation by @thomhurst in #7420
  • Fix reflection data source overloads with omitted optional arguments by @thomhurst in #7421
  • feat(playwright): honor HEADED and BROWSER environment variables by @thomhurst in #7395
  • docs: enable Windows long paths before worktree checkout by @thomhurst in #7416
  • Fix duplicate dynamic builder invocation in reflection mode by @thomhurst in #7424
  • fix(mocks): bind explicit method type arguments on Mock.Of<IGeneric>() by @thomhurst in #7406
  • fix(mocks): Is(predicate) passes T, not T?, for non-nullable T by @thomhurst in #7405
  • fix(engine): deliver row builder-context events to the test and raise OnDispose once per test (#7381) by @thomhurst in #7384
  • fix: report generic classes whose data cannot infer types at compile time by @thomhurst in #7425
  • fix(core): hold shared instances fetched while runtime tests register by @thomhurst in #7391
  • fix(mocks): match null literals in generated predicate overloads by @thomhurst in #7415
  • fix(mocks): qualify extern-aliased types with their alias in generated code by @thomhurst in #7403
  • fix(generic): fail wrongly sized [GenerateGenericTest] in source-generated mode by @thomhurst in #7344
  • fix(sourcegen): generate a data source factory for [InstanceMethodDataSource] (#7225) by @thomhurst in #7348
  • fix(aspire): preserve caller cancellation over startup cleanup faults by @thomhurst in #7447
  • fix(tests): remove polling throughput requirement on shared runners by @thomhurst in #7448
  • fix(html-reporter): scope report state per session when sessions overlap by @thomhurst in #7400
  • fix(analyzers): validate class data against TestConstructor by @thomhurst in #7449
  • Infer generic method types from typed array rows in both discovery modes by @thomhurst in #7460
  • Share generic method inference policy between discovery modes by @thomhurst in #7455
  • Wrap runtime registration holds in an async scope by @thomhurst in #7458
  • Preserve generic class source rows and distinguish null collections by @thomhurst in #7453
  • Fix TUnit0001 for reference tuple data source rows by @thomhurst in #7457
  • Raise issue-pr-loop open-PR limit to 15 by @thomhurst in #7483
  • Await resultless ValueTask data sources consistently by @thomhurst in #7478
  • Fix internals-access task MSBuild dependency compatibility by @thomhurst in #7479
  • fix: dispose session-lifetime DI scopes at session end by @thomhurst in #7459
  • Await concurrent ASP.NET Core application disposal by @thomhurst in #7470
  • Fix source generation for one-element ValueTuple parameters by @thomhurst in #7467
  • Preserve loadable types during dynamic reflection discovery by @thomhurst in #7495
  • Set Verify solution context for project-only builds by @thomhurst in #7488
  • Fix inherited constructor data in reflection discovery by @thomhurst in #7491
  • Fix constructor-order-dependent instance data source diagnostic by @thomhurst in #7502
  • Isolate shared disposal span capture by parent activity by @thomhurst in #7492
  • Fix preserved generic tuple binding in reflection mode by @thomhurst in #7487
  • Fix core generator test nullable and constant-assertion warnings by @thomhurst in #7494
  • Fix AutoFixture fixture trimming contracts by @thomhurst in #7500

Dependencies

  • chore(deps): update all non-major dependencies by @thomhurst in #7281
  • chore(deps): update all non-major dependencies to 1.78.0 by @thomhurst in #7350
  • chore(deps): update dependency minimatch to v11.0.4 by @thomhurst in #7393
  • chore(deps): update dependency stackexchange.redis to 3.4.31 by @thomhurst in #7407
  • chore(deps): update actions/setup-dotnet action to v6.1.0 by @thomhurst in #7464

Full Changelog: v1.78.0...v1.79.0

1.78.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 13:52
d43977c

What's Changed

Other Changes

  • fix: Should().HaveSingleItem() returns the single item by @mvanhorn in #7035
  • feat(mocks): TM011 analyzer + code fix to declare mocks with the generated mock type by @thomhurst in #7311
  • fix(sourcegen): skip [Obsolete(error: true)] conversion operators in AotConverterGenerator by @thomhurst in #7317

Dependencies

  • chore(deps): bump joi from 17.13.8 to 17.13.9 in /docs by @dependabot[bot] in #7312
  • chore(deps): bump follow-redirects from 1.16.1 to 1.16.2 in /docs by @dependabot[bot] in #7313

Full Changelog: v1.77.0...v1.78.0

1.77.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 15:15
96ac7f7

What's Changed

Other Changes

  • fix(engine): invoke OnTestRegistered on property-injected data sources by @thomhurst in #7292
  • fix(sourcegen): globally qualify type names in property injection output by @lucaxchaves in #7291
  • test(sourcegen): snapshot property injection output for Core.* namespaces by @thomhurst in #7293
  • fix(aspire): detach kept resources from removed resources in ResourcesToRemove by @thomhurst in #7295
  • feat(engine): report unobserved task exceptions in session results by @thomhurst in #7296
  • fix(mocks): rename method type parameters that collide with the mocked type's by @thomhurst in #7303
  • feat(mocks): TM010 analyzer + code fix for Mock.Of() -> T.Mock() by @thomhurst in #7307
  • feat(playwright): failure screenshots/traces and shared-browser disconnect diagnostics by @thomhurst in #7309

Full Changelog: v1.76.45...v1.77.0