Releases: thomhurst/TUnit
Releases · thomhurst/TUnit
1.55.0
What's Changed
Other Changes
- feat(aspire): add TUnit.Aspire.Core without TUnit metapackage dependency (#5471) by @thomhurst in #6243
- fix(analyzers): scope TUnit0031 async-void rule to tests and hooks (#6190) by @thomhurst in #6244
Dependencies
- chore(deps): update dependency streamjsonrpc to 2.25.28 by @thomhurst in #6232
- chore(deps): update tunit to 1.54.0 by @thomhurst in #6233
- chore(deps): bump joi from 17.13.3 to 17.13.4 in /docs by @dependabot[bot] in #6234
- chore(deps): update dependency polyfill to 10.9.0 by @thomhurst in #6238
- chore(deps): update _tunitpolyfillversion to 10.9.0 by @thomhurst in #6237
- chore(deps): update dependency polyfill to 10.10.0 by @thomhurst in #6242
- chore(deps): update _tunitpolyfillversion to 10.10.0 by @thomhurst in #6241
Full Changelog: v1.54.0...v1.55.0
1.54.0
What's Changed
Other Changes
- Generate collection-shape drill-in overloads (#6185) by @thomhurst in #6218
- feat(mocks): setup/verify on secondary interfaces of multi-type mocks by @thomhurst in #6230
- perf: reduce allocations in source-gen test building hot paths by @thomhurst in #6228
- perf: shrink generated TestEntry builder IL via shared TUnit.Core factory helpers by @thomhurst in #6231
Dependencies
- chore(deps): update tunit to 1.53.0 by @thomhurst in #6199
- chore(deps): update verify to 31.19.1 by @thomhurst in #6200
- chore(deps): update dependency messagepack to 3.1.7 by @thomhurst in #6203
- chore(deps): update dependency fsharp.core to 10.1.301 by @thomhurst in #6202
- chore(deps): update dependency microsoft.entityframeworkcore to 10.0.9 by @thomhurst in #6205
- chore(deps): update dependency dotnet-sdk to v10.0.301 by @thomhurst in #6204
- chore(deps): update dependency microsoft.templateengine.authoring.cli to v10.0.301 by @thomhurst in #6206
- chore(deps): update dependency microsoft.templateengine.authoring.templateverifier to 10.0.301 by @thomhurst in #6207
- chore(deps): update microsoft.aspnetcore to 10.0.9 by @thomhurst in #6209
- chore(deps): update dependency system.commandline to 2.0.9 by @thomhurst in #6208
- chore(deps): update microsoft.extensions by @thomhurst in #6211
- chore(deps): update dependency dompurify to v3.4.9 by @thomhurst in #6213
- chore(deps): bump shell-quote from 1.8.3 to 1.8.4 in /docs by @dependabot[bot] in #6210
- chore(deps): update dependency polly to 8.7.0 by @thomhurst in #6214
- chore(deps): update dependency microsoft.net.stringtools to 18.7.1 by @thomhurst in #6215
- chore(deps): update microsoft.build to 18.7.1 by @thomhurst in #6216
- chore(deps): update opentelemetry to 1.16.0 by @thomhurst in #6217
- chore(deps): update dependency dompurify to v3.4.10 by @thomhurst in #6229
Full Changelog: v1.53.0...v1.54.0
1.53.0
What's Changed
Other Changes
- feat(assertions): return typed value from IsAssignableTo (#6184) by @thomhurst in #6187
- fix: stop doubling backslashes in source-gen emitted FilePath (breaks HTML report source links) by @thomhurst in #6193
- feat(assertions): add ContainsKey().And.Value drill-in for dictionaries (#6185) by @thomhurst in #6188
- fix(tests): snapshot ExecutionLog under lock to fix parallel race by @thomhurst in #6194
- fix(engine): run lifecycle hooks before test class construction (#6192) by @thomhurst in #6195
- feat(assertions): inference-friendly pinned overload for covariant [AssertionExtension] with own generic (#5922) by @thomhurst in #6196
- feat: add DeferEnumeration to defer data-source expansion to runtime (#5833) by @thomhurst in #6197
Dependencies
- chore(deps): update tunit to 1.51.0 by @thomhurst in #6186
- chore(deps): update microsoft.testing to 18.8.0 by @thomhurst in #6191
- chore(deps): update aspire to 13.4.3 by @thomhurst in #6198
Full Changelog: v1.51.0...v1.53.0
1.51.0
What's Changed
Other Changes
- fix(mocks): WasCalled/WasNeverCalled assertions via [GenerateAssertion] for all ICallVerification types by @thomhurst in #6176
- fix: create fresh non-shared instances per CombinedDataSources combination by @thomhurst in #6179
- fix: assign TestDetails before TestContext is published to ClassHookContext.Tests by @thomhurst in #6182
- fix: resolve inherited instance data source members for MethodDataSource by @thomhurst in #6178
- feat(mocks): per-element matchers for params array parameters by @thomhurst in #6181
- fix: invoke inner Func for TestDataRow<Func> data sources (#6161) by @thomhurst in #6183
Dependencies
- chore(deps): update _tunitpolyfillversion to 10.8.0 by @thomhurst in #6167
- chore(deps): update dependency azure.storage.blobs to 12.29.0 by @thomhurst in #6168
- chore(deps): update aspire by @thomhurst in #6165
- chore(deps): update dependency cliwrap to 3.10.2 by @thomhurst in #6166
- chore(deps): update dependency streamjsonrpc to 2.25.25 by @thomhurst in #6170
- chore(deps): update dependency polyfill to 10.8.0 by @thomhurst in #6169
- chore(deps): update tunit to 1.5* by @thomhurst in #6171
- chore(deps): update _tunitpolyfillversion to 10.8.1 by @thomhurst in #6174
- chore(deps): update dependency polyfill to 10.8.1 by @thomhurst in #6175
Full Changelog: v1.50.0...v1.51.0
1.50.0
What's Changed
Other Changes
- fix(analyzers): decouple code fixers from Rules to prevent MissingFieldException in VS by @thomhurst in #6158
- Fix mock wrappers for indexers and generic methods by @thomhurst in #6163
- Add global mock default mode by @thomhurst in #6164
Full Changelog: v1.49.0...v1.50.0
1.49.0
What's Changed
Other Changes
- docs: benchmark page descriptions + promote Benchmarks in sidebar by @thomhurst in #6143
- feat(mocks): discriminate generic-method mocks by type argument by @thomhurst in #6153
- fix(source-gen): jagged array data fails to compile (#6150) by @thomhurst in #6152
- fix: dispose shared fixtures when only a subset of consuming tests runs by @thomhurst in #6156
Dependencies
- chore(deps): update tunit to 1.48.6 by @thomhurst in #6142
- chore(deps): update react to ^19.2.7 by @thomhurst in #6144
- chore(deps): update aspire to 13.4.0 by @thomhurst in #6145
- chore(deps): update dependency nunit.analyzers to 4.14.0 by @thomhurst in #6146
- chore(deps): update dependency polyfill to 10.7.2 by @thomhurst in #6148
- chore(deps): update dependency polyfill to 10.7.2 by @thomhurst in #6149
- chore(deps): update dependency dompurify to v3.4.8 by @thomhurst in #6155
Full Changelog: v1.48.6...v1.49.0
1.48.6
What's Changed
Other Changes
- fix(sourcegen): fully-qualify Linq calls in params array binding (#6140) by @thomhurst in #6141
Dependencies
- chore(deps): update tunit to 1.48.0 by @thomhurst in #6135
- chore(deps): update dependency polyfill to 10.7.1 by @thomhurst in #6137
- chore(deps): update dependency polyfill to 10.7.1 by @thomhurst in #6138
- chore(deps): update verify to 31.19.0 by @thomhurst in #6139
Full Changelog: v1.48.0...v1.48.6
1.48.0
What's Changed
Other Changes
- feat(html-report): baked-in C# syntax highlighting on Source tab by @slang25 in #6132
- feat(analyzers): suppress VSTHRD200 on test and hook methods by @thomhurst in #6123
- fix(source-gen): correct source location for cross-project inherited tests by @slang25 in #6133
- feat(assertions): add WasCalled to tunit mocks assertions by @robertcoltheart in #6126
- feat(arguments): bind array values to a single array test parameter by @thomhurst in #6122
- fix: populate retry/flaky attempt history in HTML report (#6119) by @thomhurst in #6124
Dependencies
- chore(deps): update tunit to 1.47.0 by @thomhurst in #6115
- chore(deps): update dependency microsoft.visualstudio.threading.analyzers to 17.14.15 by @thomhurst in #6134
Full Changelog: v1.47.0...v1.48.0
1.47.0
What's Changed
Other Changes
- perf(engine): hoist GetParameters and dict-dedup AfterTestDiscovery hooks by @thomhurst in #6062
- perf(engine): hoist GetParameters and drop LINQ in reflection discovery by @thomhurst in #6063
- perf(engine): cache treenode filter path on TestMetadata by @thomhurst in #6064
- perf: use is T pattern in ReflectionExtensions.HasAttribute fallback (#6060) by @thomhurst in #6066
- perf: replace OrderBy().ToArray() with Array.Sort in ConstraintKeyScheduler by @thomhurst in #6067
- perf: pool HashSet in WaitingTestIndex.GetCandidatesForReleasedKeys by @thomhurst in #6069
- perf: collapse OfType chains in JUnitXmlWriter (#6052) by @thomhurst in #6070
- perf(engine): avoid closure allocation in AfterHookPairTracker.GetOrCreateAfterAssemblyTask (#6041) by @thomhurst in #6071
- perf: avoid closure allocation in BeforeHookTaskCache.GetOrCreateBeforeAssemblyTask (#6040) by @thomhurst in #6073
- perf: use TryAdd in TestDependencyResolver dependency dedupe by @thomhurst in #6068
- perf: replace LINQ Any with foreach in TestGenericTypeResolver (#6044) by @thomhurst in #6072
- perf: avoid Cast().FirstOrDefault() iterator alloc in CastHelper (#6029) by @thomhurst in #6074
- perf(engine): avoid string round-trip when building nested type names (#6049) by @thomhurst in #6075
- perf(engine): replace Select+ToArray with manual Type[] build (#6043) by @thomhurst in #6076
- perf(core): replace OfType().FirstOrDefault()/.Any() with foreach in ClassConstructorHelper by @thomhurst in #6078
- perf(engine): avoid FirstOrDefault iterator alloc in TestGenericTypeResolver by @thomhurst in #6079
- perf(engine): use SearchValues for reporter filename sanitization by @thomhurst in #6090
- perf: dedupe TestDataFormatter.FormatArguments with pooled StringBuilder by @thomhurst in #6088
- perf(engine): use MemoryExtensions.Split for path parsing in MetadataFilterMatcher by @thomhurst in #6085
- perf(engine): use CollectionsMarshal.GetValueRefOrAddDefault for dictionary index builds by @thomhurst in #6086
- perf(engine): replace LINQ Where closure with inline filter in MetadataDependencyExpander BFS by @thomhurst in #6084
- perf(engine): pool StringBuilder in DisplayNameBuilder.FormatArguments by @thomhurst in #6082
- Preserve specialized chaining after null assertions by @thomhurst in #6008
- perf: use EnumerateLines for line splitting in HtmlReportGenerator by @thomhurst in #6089
- perf: collapse Replace chain in TestNameFormatter.BuildTestId by @thomhurst in #6083
- perf: use OrdinalIgnoreCase Contains in HtmlReportGenerator span mapping by @thomhurst in #6093
- perf(assertions): avoid eager interpolated-string alloc in assertion source ctors by @thomhurst in #6091
- perf: optimize TestNameFormatter argument and bool formatting by @thomhurst in #6095
- perf: use FrozenSet/FrozenDictionary for read-only static lookups by @thomhurst in #6099
- perf: avoid GetCustomAttributes() + LINQ chain for per-property attribute scans by @thomhurst in #6098
- perf(engine): replace magic-string RequiredAttribute match with type check in ConstructorHelper by @thomhurst in #6087
- perf(core): replace Select+Func factory chain in DataSourceHelpers by @thomhurst in #6081
- perf: replace LINQ dependency extraction with manual loop by @thomhurst in #6096
- perf(core): avoid string[] alloc in ArgumentFormatter.FormatArguments by @thomhurst in #6080
- perf: use [GeneratedRegex] in MetadataFilterMatcher by @thomhurst in #6094
- perf: dedupe GetSimpleTypeName into shared TypeNameFormatter by @thomhurst in #6097
- fix: remove GitVersion MSBuild task, pin local builds to 99.99.99 (#6077) by @thomhurst in #6101
- HTML Report: source link + code snippet on Source tab (#5993) by @thomhurst in #6100
- perf(sourcegen): Single-pass attribute classification by @thomhurst in #6111
- perf(core): eliminate per-test allocations in TestDetails/HookMethod by @thomhurst in #6109
- perf: hoist char[] alloc in FsCheckPropertyTestExecutor to static SearchValues by @thomhurst in #6108
- perf(core): de-LINQ data-source expansion by @thomhurst in #6110
- perf: avoid LINQ chains in TestDependency equality and MethodDataSourceAttribute method matching by @thomhurst in #6092
- perf(engine): reduce allocations in reflection-mode discovery/execution by @thomhurst in #6113
- perf(assertions): allocation-free passing path (TUnit.Assertions) by @thomhurst in #6112
- chore(deps): update tunit to 1.46.0 by @thomhurst in #6065
Dependencies
Full Changelog: v1.46.0...v1.47.0
1.46.0
What's Changed
Other Changes
- docs: add Rider VSTest conflict troubleshooting by @smolchanovsky in #5989
- Populate generated test metadata with full source spans by @Copilot in #5991
- Add devcontainer configuration by @Copilot in #5995
- fix: treenode filter pre-filter rejects parenthesised segments (#6026) by @thomhurst in #6027
- fix(engine): isolate per-session state under MTP server-mode concurrency (#6001) by @thomhurst in #6025
Dependencies
- chore(deps): update dependency stackexchange.redis to 2.13.10 by @thomhurst in #5985
- chore(deps): update tunit to 1.45.29 by @thomhurst in #5986
- chore(deps): update dependency mockolate to 3.2.1 by @thomhurst in #5987
- chore(deps): update dependency microsoft.playwright to 1.60.0 by @thomhurst in #5988
- chore(deps): update dependency messagepack to 3.1.6 by @thomhurst in #5992
- chore(deps): update dependency polyfill to 10.7.0 by @thomhurst in #5998
- chore(deps): update dependency polyfill to 10.7.0 by @thomhurst in #5997
- chore(deps): update verify to 31.17.0 by @thomhurst in #6000
- chore(deps): update verify to 31.18.0 by @thomhurst in #6013
- chore(deps): update dependency microsoft.net.test.sdk to 18.6.0 by @thomhurst in #6016
- chore(deps): update dependency dompurify to v3.4.6 by @thomhurst in #6015
- chore(deps): update dependency dompurify to v3.4.7 by @thomhurst in #6019
- chore(deps): update dependency npgsql to 10.0.3 by @thomhurst in #6020
- chore(deps): update dependency stackexchange.redis to 2.13.17 by @thomhurst in #6021
- chore(deps): update dependency npgsql.entityframeworkcore.postgresql to 10.0.2 by @thomhurst in #6022
New Contributors
- @smolchanovsky made their first contribution in #5989
Full Changelog: v1.45.29...v1.46.0