Skip to content

1.47.0

Choose a tag to compare

@github-actions github-actions released this 29 May 00:11
8cfce4c

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
  • Dependencies

    Full Changelog: v1.46.0...v1.47.0