Skip to content

Latest commit

 

History

History
2354 lines (1745 loc) · 159 KB

Changelog.md

File metadata and controls

2354 lines (1745 loc) · 159 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog

See full log here

Fixed

  • Fix discard handling for newer Assert.Throws codefix by @Youssef1313 in #5118
  • Fix parallelism:enabled incorrectly setting OrderTestsByNameInClass by @Youssef1313 in #5114
  • Ship props/targets of MSTest.TestFramework and MSTest.TestAdapter in both build and buildTransitive by @Youssef1313 in #5221
  • Fix TestFailedException outcome not propagating to TestResult outcome by @Youssef1313 in #5244
  • Remove extra space by @nohwnd in #5252

Artifacts

See full log here

Fixed

  • Fix ClassCleanup not called when the first test in class is ignored by @Youssef1313 in #5071

Artifacts

See full log here

Fixed

  • Fix MSTEST0038 message by @Youssef1313 in #5011
  • Fix parameterized test treated as ignored when using VSTest in Test Explorer by @Youssef1313 in #5023
  • Avoid handling tuples for test methods with only object[] parameter by @Youssef1313 #5022
  • Set packages README correctly by @Youssef1313 in #5030
  • Fix serialization of exceptions by BinaryFormatter in .NET Framework by @nohwnd in #5055

Artifacts

See full log here

Added

  • Introduce Assert.Throws(Async) and Assert.ThrowsExactly(Async) APIs by @Evangelink in #4350
  • Support generic test method by @Youssef1313 in #4204
  • Add support for ValueTuple for all target frameworks by @Evangelink in #4360
  • Auto detect DynamicDataSourceType by @Youssef1313 in #4340
  • Open source Retry and Hot Reload extensions by @Evangelink in #4354
  • Add DisplayMessage to TestContext by @Youssef1313 in #4345
  • Allow any IEnumerable as return type to DynamicData source member by @Evangelink in #4389
  • Allow AssemblyCleanup/ClassCleanup to have TestContext parameter by @Youssef1313 in #4387
  • Update ExpectedException codefix to use the new Assert.Throws[Exactly][Async] overloads by @Youssef1313 in #4504
  • Introduce interpolated string handler overloads for assertions by @Youssef1313 in #4476
  • Add analyzer for value type usage with Assert.AreSame by @Youssef1313 in #4493
  • Allow DynamicData source to be on base types by @Youssef1313 in #4482
  • Use different message for Assert.AreEqual when string difference is casing only by @Youssef1313 in #4525
  • Report diagnostic when AreNotSame is passed value type by @Youssef1313 in #4523
  • Implement analyzer and codefix to switch to Assert.ThrowsExactly[Async] by @Youssef1313 in #4459
  • Update ExpectedException analyzer message/description to use the new Assert.Throws methods (and fix typo) by @Youssef1313 in #4527
  • Add ability to ignore specific test cases by @Youssef1313 in #4457
  • Implement codefix for MSTEST0026: Avoid conditional access in assertions (and small analyzer false positive) by @Youssef1313 in #4502
  • Add messageBuilder overloads for Assert.Throws[Exactly][Async] by @Youssef1313 in #4541
  • Implement codefix for 'Are[Not]Same' usage with value types by @Youssef1313 in #4584
  • Implement analyzer to warn for use of Assert methods in async void by @Youssef1313 in #4640
  • Introduce RetryAttribute for test methods by @Youssef1313 in #4586
  • Obsolete InternalTestFailureException and GenericParameterHelper by @Evangelink in #4703
  • Implement MSTestAnalysisMode by @Youssef1313 in #4712
  • Add Assert.HasCount by @Evangelink in #4748
  • Add UsingMSTestSdk property by @aelij in #4754
  • Add Assert.HasCount, Assert.IsEmpty, Assert.IsNotEmpty and Assert.ContainsSingle by @Evangelink in #4756
  • Support conditional tests by @Youssef1313 in #4734
  • MSTEST0030: add codefix by @Evangelink in #4769
  • Add Contains/DoesNotContain assert APIs by @Evangelink in #4799
  • Add GitHubWorkItem by @Evangelink in #4813
  • Add MSTest trace logs when using MTP by @Evangelink in #4833
  • Add string Contains/DoesNotContain assertions by @Evangelink in #4842
  • Add UWP .NET 9 support for MSTest extensions by @Sergio0694 in #3848
  • Add TrxReport dependency to MSTest metapackage by @Youssef1313 in #4956
  • Add TestDataRow class by @Youssef1313 in #4930
  • Add SourceGen + Engine by @Evangelink in #4966
  • Add CodeCoverage to MSTest metapackage by @Youssef1313 in #4962

Fixed

  • Don't consider TestClassAttribute for inheritance when calculating assembly initialize/cleanup by @Youssef1313 in #4318
  • Fix false positive for PreferTestCleanupOverDispose on non-test classes by @Youssef1313 in #4378
  • Report diagnostic if DynamicData is referencing a member that's not method/property (e.g, field) (and some cleanup) by @Youssef1313 in #4383
  • Fix MSTestV2Files msbuild items by @Evangelink in #4405
  • method scope fix by @SimonCropp in #4415
  • Fix analyzer messages not localized by @Youssef1313 in #4434
  • Best effort tracking for properties assigned indirectly via fields for TestContext analyzer by @Youssef1313 in #4439
  • Better handling of CTS and timeout tokens by @Evangelink in #4444
  • Don't report MSTEST0001 when TestAdapter isn't referenced by @Youssef1313 in #4481
  • Don't report diagnostic for DeploymentItem on abstract class by @Youssef1313 in #4538
  • Fix NaN behavior for Assert.AreEqual/AreNotEqual by @Youssef1313 in #4536
  • Fix ExpectedException codefix to handle few edge cases by @Youssef1313 in #4560
  • Fix MSTEST0002 (Test classes should have valid layout) codefix crash on records by @SimonCropp in #4580
  • MSTEST0018: Fix FP with types implementing IEnumerable by @Evangelink in #4924
  • Preserve TestIdGenerationStrategy in the execution AppDomain by @Youssef1313 in #4942
  • Ensure to use the test execution AppDomain for loading the test assembly by @Youssef1313 in #4952
  • MSTEST0029 do not report on implementation of interface by @Evangelink in #4803
  • Reword unhandled TestMethodAttribute.Execute exception message by @Evangelink in #4641
  • Fix bad nullability annotation on CultureInfo by @Evangelink in #4670
  • Remove incorrect isReportedAtCompilationEnd for UseParallelizeAttributeAnalyzer by @Youssef1313 in #4737
  • Disable MSTEST0026 by default by @Evangelink in #4816
  • Ensure all public APIs are documented by @Evangelink in #4920
  • Fix some missing xml docs by @Evangelink in #4841

Housekeeping

  • Move TATF based tests to MSTest by @Evangelink in #4348
  • Reduce alloc in GetStackTraceInformation by @SimonCropp in #4367
  • Remove unused resources in TestAdapter by @Youssef1313 in #4379
  • Improve some flaky tests by @Evangelink in #4381
  • Fix flakiness on test Log_WhenAsyncFlush_StreamWriterIsCalledOnlyWhenLogLevelAllowsIt by @Evangelink in #4394
  • Simplify adapter props and targets by @Evangelink in #4397
  • Fix typo in analyzer message by @Youssef1313 in #4452
  • Hide DataTestMethodAttribute from IntelliSense by @Youssef1313 in #4465
  • Add API docs feedback template by @Youssef1313 in #4687
  • Drop unused source gen related code by @Evangelink in #4662
  • Don't make TestDataSourceDiscoveryOption obsolete by @Evangelink in #4366
  • Drop dependency to System.ValueTuple by @Evangelink in #4398
  • Remove AsyncTestProperty by @Youssef1313 in #4725
  • Cleanup VB entrypoint by @Youssef1313 in #4884
  • Fix doc about supported tfms by @Evangelink in #4825
  • Fix MSTest metapackage README by @Youssef1313 in #4887
  • Many cleanup PRs by @SimonCropp!

New Contributors

  • @aelij made their first contribution in #4754
  • @Sergio0694 made their first contribution in #3848

Artifacts

See full log here

Fixed

  • Fix Could not load type 'System.Threading.Lock' error for WinUI when using net9.0 by @dependabot in #4794

Artifacts

  • MSTest: 3.7.3
  • MSTest.TestFramework: 3.7.3
  • MSTest.TestAdapter: 3.7.3
  • MSTest.Analyzers: 3.7.3
  • MSTest.Sdk: 3.7.3
  • Microsoft.Testing.Extensions.CrashDump: 1.5.3
  • Microsoft.Testing.Extensions.HangDump: 1.5.3
  • Microsoft.Testing.Extensions.HotReload: 1.5.3
  • Microsoft.Testing.Extensions.Retry: 1.5.3
  • Microsoft.Testing.Extensions.TrxReport: 1.5.3

See full log here

Fixed

  • Drop package ref to System.Memory by @Evangelink in #4652
  • Fix Tuple/ValueTuple handling of TRest by @Youssef1313 in #4653

Artifacts

  • MSTest: 3.7.2
  • MSTest.TestFramework: 3.7.2
  • MSTest.TestAdapter: 3.7.2
  • MSTest.Analyzers: 3.7.2
  • MSTest.Sdk: 3.7.2
  • Microsoft.Testing.Extensions.CrashDump: 1.5.2
  • Microsoft.Testing.Extensions.HangDump: 1.5.2
  • Microsoft.Testing.Extensions.HotReload: 1.5.2
  • Microsoft.Testing.Extensions.Retry: 1.5.2
  • Microsoft.Testing.Extensions.TrxReport: 1.5.2

See full log here

Fixed

  • Don't report MSTEST0001 when TestAdapter isn't referenced (#4481) by @Evangelink in #4509
  • Fix MSTEST0017 false positive when both actual/expected are constants (#4460) by @Evangelink in #4510
  • MSTEST0037 (proper assert analyzer): Don't report for user defined eq… by @Evangelink in #4511
  • Fix typo in analyzer message (#4452) by @Evangelink in #4512
  • method scope fix (#4415) by @Evangelink in #4513
  • Fix analyzer messages not localized (#4434) by @Evangelink in #4514
  • Fix "Could not load file or assembly 'Microsoft.Testing.Platform'" exception by @Evangelink in #4537
  • Don't report diagnostic for DeploymentItem on abstract class by @Youssef1313 in #4539
  • Fix DynamicData.GetData regression preventing it to work without adapter by @Youssef1313 in #4626

Artifacts

  • MSTest: 3.7.1
  • MSTest.TestFramework: 3.7.1
  • MSTest.TestAdapter: 3.7.1
  • MSTest.Analyzers: 3.7.1
  • MSTest.Sdk: 3.7.1
  • Microsoft.Testing.Extensions.CrashDump: 1.5.1
  • Microsoft.Testing.Extensions.HangDump: 1.5.1
  • Microsoft.Testing.Extensions.HotReload: 1.5.1
  • Microsoft.Testing.Extensions.Retry: 1.5.1
  • Microsoft.Testing.Extensions.TrxReport: 1.5.1

See full log here

Added

  • MSTEST0029 code fix by @engyebrahim in #3747
  • Add codefix for MSTEST0025 by @engyebrahim in #3756
  • Add codefix for MSTEST0022 by @engyebrahim in #3770
  • Add codefix for MSTEST0020 by @engyebrahim in #3798
  • Add code fix for MSTEST0019 by @engyebrahim in #3812
  • Add support for testconfig.json entries in MSTest by @engyebrahim in #3872
  • Implement method lookup for dynamic data by @nohwnd in #3892
  • Add TestData property to the TestContext by @Evangelink in #4015
  • Add TestException property to the TestContext by @Evangelink in #4018
  • Add code fix for MSTEST0021 by @engyebrahim in #3827
  • Add TestDisplayName property to the TestContext by @Evangelink in #4037
  • Implement codefix for MSTEST0006 (AvoidExpectedException) by @Youssef1313 in #4038
  • Implement 'Use proper Assert methods' analyzer by @Youssef1313 in #4052
  • Support ValueTask-returning test methods for all target frameworks by @Youssef1313 in #4059
  • Support rsp in MTP by @Youssef1313 in #4072
  • Enable UseProperAssertMethodsAnalyzer by default by @Youssef1313 in #4076
  • Add property to SDK for Fakes feature by @Evangelink in #4121
  • Support VS/.NET CLI localization in MTP, and add our own env variable as well by @Youssef1313 in #4122
  • Implement --config for specifying testconfig.json file by @Youssef1313 in #4124
  • Add mac os on pr pipeline by @Evangelink in #4155
  • Implement codefix for MSTEST0037: Use proper 'Assert' methods by @Youssef1313 in #4162
  • Build targeting net9.0 by @Evangelink in #4167
  • Add a MSTest sample with a program.cs by @Evangelink in #4201
  • Obsolete public types that should not be public by @Evangelink in #4208
  • Allow to disable test expansion on implementations of ITestDataSource by @Evangelink in #4269
  • Display an error when '--maximum-failed-tests' is used with a framewo… by @Evangelink in #4326
  • Make MSTest.TestFramework depends upon MSTest.Analyzers (#4351) by @Evangelink in #4361
  • Add support for ValueTuple for all target frameworks (#4360) by @Evangelink in #4364
  • Support 'TestPropertyAttribute' on test classes by @Youssef1313 in #4249
  • Support '--maximum-failed-tests' to abort test run when failure threshold is reached by @Youssef1313 in #4238

Fixed

  • Fix MSTEST0034 doesn't handle ClassCleanupExecutionAttribute by @engyebrahim in #3741
  • fix code format in readme by @SimonCropp in #3750
  • Fix running cleanup after first test method by @nohwnd in #3766
  • Fix timedout test does not fail test run (in ui) by @nohwnd in #3772
  • Fix typo by @engyebrahim in #3797
  • MSTEST0018: fix false positive with data member visibility by @Evangelink in #3866
  • Fix localization of test adapter messages by @nohwnd in #3867
  • Fix localization info to avoid translating workers and scope by @nohwnd in #3869
  • Fix resources included in MSTest.TestAdapter nupkg by @Evangelink in #3874
  • Fix MSTEST0036 is shown for cases where no shadowing happens by @engyebrahim in #3881
  • Fix MSTest hook to be always generated by @Evangelink in #3889
  • Fix CollectionAssert.AreEqual fails for list of strings using IEqualityComparer following by @engyebrahim in #3886
  • Fix CollectionAssert.AreEqual for collection of collections ignores even-items by @engyebrahim in #3893
  • Fix mstest0036 by @engyebrahim in #3895
  • Fix casing for event key value by @MarcoRossignoli in #3915
  • Fix concurrency issue with registering callback on TestRunCancellationToken by @Evangelink in #3958
  • Fix MSTEST0030 to correctly handle all methods by @Evangelink in #3973
  • Fix MSTEST0018 FP with IEnumerable<SomeType[]> by @Evangelink in #3978
  • Handle trivia properly in PreferTestCleanupOverDisposeFixer by @Youssef1313 in #4000
  • Only ship TestAdapter related resources by @nohwnd in #4012
  • Fix IsNonDerived implementation for attribute comparison by @Youssef1313 in #4024
  • Partially improve CollectionAssert message by @Youssef1313 in #4027
  • Respect custom ExpectedExceptionBase attribute implementations by @Youssef1313 in #4045
  • Consider readonly TestContext as valid by @Youssef1313 in #4053
  • Fix DataSourceAttribute not being discovered with TestDataSourceDiscoveryOption.DuringDiscovery by @Youssef1313 in #4058
  • Ensure --minimum-expected-tests description is localized by @Youssef1313 in #4125
  • Improve Regex to Reduce Matching Time by @thomhurst in #4160
  • Refactor WarnOnUnsupportedEntries by @Youssef1313 in #4182
  • Mark IgnoreAttribute as not inherited by @Youssef1313 in #4183
  • Small XML doc refreshing by @Youssef1313 in #4184
  • Fix local warning (and fix typo) by @Youssef1313 in #4185
  • Fix analyzers package to support VB.NET by @Evangelink in #4224
  • Preserve message and parameters in MSTEST0025 fixer by @Youssef1313 in #4301
  • Throw exception if ExpectedExceptionBaseAttribute is applied more than once by @Youssef1313 in #4359
  • Fix false positive for PreferTestCleanupOverDispose on non-test classes by @Youssef1313 in #4380
  • Simplify adapter props and targets by @Evangelink in #4403
  • Don't reference MTP in UWP by @Evangelink in #4402
  • Fix MSTestV2Files msbuild items by @Evangelink in #4406

Housekeeping

  • Avoid nuspec when creating M.T.P.MSBuild package by @ViktorHofer in #4004
  • Move off validate arg from VSTest ObjectModel by @SimonCropp in #4019
  • [main] Bump System.Management from 8.0.0 to 9.0.0 by @dependabot in #4136
  • [main] Bump MicrosoftCodeAnalysisAnalyzersVersion from 3.11.0-beta1.24527.2 to 3.11.0-beta1.24574.2 by @dependabot in #4137
  • Bump version of playwright by @Evangelink in #4140
  • Update Fakes package version by @drognanar in #4143
  • Use Polyfill lock by @Evangelink in #4153
  • Further System.Threading.Lock usages by @thomhurst in #4156
  • Use VS version 17.12 by @Evangelink in #4176
  • Bump version in samples by @Evangelink in #4232
  • Sort UnsupportedRunConfigurationSettings by @Youssef1313 in #4234
  • Fix server mode in playground by @MarcoRossignoli in #4243
  • Cleanup FailedStates in TrxReportEngine by @Youssef1313 in #4247
  • [main] Bump MicrosoftCodeAnalysisAnalyzersVersion from 3.11.0-beta1.24574.2 to 3.11.0-beta1.24605.2 by @dependabot in #4252
  • Use ValidationResult.ValidTask instead of Task.FromResult(ValidationResult.Valid()) by @Youssef1313 in #4262
  • Avoid Linq allocations from usage of Union by @Youssef1313 in #4265
  • Avoid repetitive string.Format call for every character of command-line options by @Youssef1313 in #4264
  • More efficient reflection by @Youssef1313 in #4263
  • [Performance] Avoid System.Action allocations for test context cancellation by @Youssef1313 in #4272
  • [Performance] Avoid TraitCollection.AddRange call with empty array by @Youssef1313 in #4274
  • [Performance] Don't parse the same runsettings for each class in the assembly by @Youssef1313 in #4270
  • Simplify Ignore handling in IsTestMethodRunnable by @Youssef1313 in #4281
  • Simplify AttributeComparer.IsDerived by @Youssef1313 in #4280
  • [Performance] Create dictionary with the right capacity by @Youssef1313 in #4276
  • [Performance] Avoid repetitive string allocations from TestRunDirectories by @Youssef1313 in #4275
  • cleanup SourceGeneratedFileOperations by @SimonCropp in #4285
  • remove some un-used parameters by @SimonCropp in #4283
  • remove redundant ascending by @SimonCropp in #4287
  • remove param values where same as default by @SimonCropp in #4286
  • [Performance] Ensure ReflectionOperations return Attribute[] when possible by @Youssef1313 in #4271
  • leverage out null pattern in IsValidDeploymentItem by @SimonCropp in #4048
  • Refactor GetTestFromMethod by @Youssef1313 in #4279
  • Avoid dictionary resizes when the size is approximately known by @Youssef1313 in #4313
  • Cleanup duplicate logic for timeout handling when creating assembly info by @Youssef1313 in #4317
  • Use List<T> rather than Collection<T> by @Youssef1313 in #4315
  • Cleanup MSTest.Sdk now that analyzers are deps of framework by @Evangelink in #4407

Artifacts

  • MSTest: 3.7.0
  • MSTest.TestFramework: 3.7.0
  • MSTest.TestAdapter: 3.7.0
  • MSTest.Analyzers: 3.7.0
  • MSTest.Sdk: 3.7.0
  • Microsoft.Testing.Extensions.CrashDump: 1.5.0
  • Microsoft.Testing.Extensions.HangDump: 1.5.0
  • Microsoft.Testing.Extensions.HotReload: 1.5.0
  • Microsoft.Testing.Extensions.Retry: 1.5.0
  • Microsoft.Testing.Extensions.TrxReport: 1.5.0

See full log here

Fixed

  • Bump MS CC to 17.13.0 by @Evangelink in #4212
  • Bump vulnerable deps by @Evangelink in [#4218)(#4218)

Artifacts

  • MSTest: 3.6.4
  • MSTest.TestFramework: 3.6.4
  • MSTest.TestAdapter: 3.6.4
  • MSTest.Analyzers: 3.6.4
  • MSTest.Sdk: 3.6.4
  • Microsoft.Testing.Extensions.CrashDump: 1.4.3
  • Microsoft.Testing.Extensions.HangDump: 1.4.3
  • Microsoft.Testing.Extensions.HotReload: 1.4.3
  • Microsoft.Testing.Extensions.Retry: 1.4.3
  • Microsoft.Testing.Extensions.TrxReport: 1.4.3

See full log here

Fixed

  • Only ship TestAdapter related resources by @nohwnd in #4013

Artifacts

  • MSTest: 3.6.3
  • MSTest.TestFramework: 3.6.3
  • MSTest.TestAdapter: 3.6.3
  • MSTest.Analyzers: 3.6.3
  • MSTest.Sdk: 3.6.3
  • Microsoft.Testing.Extensions.CrashDump: 1.4.3
  • Microsoft.Testing.Extensions.HangDump: 1.4.3
  • Microsoft.Testing.Extensions.HotReload: 1.4.3
  • Microsoft.Testing.Extensions.Retry: 1.4.3
  • Microsoft.Testing.Extensions.TrxReport: 1.4.3

See full log here

Fixed

  • Fix localization of test adapter messages by @nohwnd in #3949
  • Fix call to EqtTrace by @nohwnd in #3952
  • Fix concurrency issue with registering callback on TestRunCancellationToken by @Evangelink in #3958
  • Fix MSTEST0030 to correctly handle all methods by @Evangelink in #3974
  • Fix displaying inner exceptions by @Evangelink in #3965
  • Fix MSTEST0018 FP with IEnumerable<SomeType[]> by @Evangelink in #3978

Artifacts

  • MSTest: 3.6.2
  • MSTest.TestFramework: 3.6.2
  • MSTest.TestAdapter: 3.6.2
  • MSTest.Analyzers: 3.6.2
  • MSTest.Sdk: 3.6.2
  • Microsoft.Testing.Extensions.CrashDump: 1.4.2
  • Microsoft.Testing.Extensions.HangDump: 1.4.2
  • Microsoft.Testing.Extensions.HotReload: 1.4.2
  • Microsoft.Testing.Extensions.Retry: 1.4.2
  • Microsoft.Testing.Extensions.TrxReport: 1.4.2

See full log here

Fixed

  • MSTEST0016: Fix typo in rule message and description by @Evangelink in #3808
  • MSTEST0018: fix false positive with data member visibility by @Evangelink in #3866
  • Fix MSTEST0036 is shown for cases where no shadowing happens by @engyebrahim #3881
  • Bump VSTest to v17.11.1 by @Evangelink
  • Fix MSTest hook to be always generated by @Evangelink in #3889
  • Fix CollectionAssert.AreEqual fails for list of strings using IEqualityComparer following by @engyebrahim in #3886
  • Fix CollectionAssert.AreEqual for collection of collections ignores even-items by @engyebrahim in #3893

Artifacts

  • MSTest: 3.6.1
  • MSTest.TestFramework: 3.6.1
  • MSTest.TestAdapter: 3.6.1
  • MSTest.Analyzers: 3.6.1
  • MSTest.Sdk: 3.6.1
  • Microsoft.Testing.Extensions.CrashDump: 1.4.1
  • Microsoft.Testing.Extensions.HangDump: 1.4.1
  • Microsoft.Testing.Extensions.HotReload: 1.4.1
  • Microsoft.Testing.Extensions.Retry: 1.4.1
  • Microsoft.Testing.Extensions.TrxReport: 1.4.1

See full log here

Added

  • Feat: Add code suppressor for CS8618 on TestContext property by @Evangelink in #3271
  • Feature: add support for injecting TestContext in ctor by @Evangelink in #3267
  • Feat: Add [STATestClass] by @Evangelink in #3278
  • Feat: Add [STATestMethod] by @Evangelink in #3286
  • Feat: add support for overloaded parameterized tests by @Evangelink in #3298
  • Improve display name for DynamicDataAttribute by @Evangelink in #3293
  • Feat: allow cooperative timeout by @Evangelink in #3314
  • MSTEST0010: report when class is abstract and inheritance is not set by @engyebrahim in #3347
  • MSTEST0011: report when class is abstract and inheritance is not specified by @engyebrahim in #3352
  • MSTEST0010: report if InheritanceBehavior.BeforeEachDerivedClass is set on a sealed class by @engyebrahim in #3369
  • MSTEST0011: report if InheritanceBehavior.BeforeEachDerivedClass is set on a sealed class by @engyebrahim in #3370
  • MSTEST0018: DynamicData usage should be valid by @Evangelink in #3374
  • Add analyzer for DeploymentItem by @engyebrahim in #3387
  • MSTEST0004: Add code fix by @engyebrahim in #3482
  • MSTEST0003: Add code fix by @engyebrahim in #3493
  • Warn on invalid DisableParallelization configuration entry by @engyebrahim in #3526
  • MSTEST0007: Add code fix by @engyebrahim in #3540
  • MSTEST0002: Add code fix by @engyebrahim in #3554
  • MSTEST0005: Add code fix by @engyebrahim in #3571
  • MSTest.Sdk handles library mode by @Evangelink in #3581
  • MSTest.Sdk warn or error on invalid or untested properties by @Evangelink in #3603
  • MSTEST0036: Add analyzer for when a test member is shadowing another member by @engyebrahim in #3589
  • Allows to cancel at multiple points before test execution by @Evangelink in #3723
  • Add option to order tests by name by @Evangelink in #3796

Fixed

  • Fix timeout message to reflect that 0 is not allowed by @Evangelink in #3279
  • Fix TestInitialize and TestCleanup analyzers to allow generic class by @Evangelink in #3280
  • Fix test case id filtering for server mode by @MarcoRossignoli in #3284
  • Fix collectionAssert.AreEqual fails for list of lists by @engyebrahim in #3275
  • MSTEST0034: Use CleanupBehavior.EndOfClass on ClassCleanupAttribute by @engyebrahim in #3289
  • Fix MSTEST0029 false positive on TestInitialize/TestCleanup by @engyebrahim in #3318
  • Fix passing null to DataRow when signature is object[] by @Evangelink in #3331
  • Fix spelling issues by @Evangelink in #3330
  • Fix: TestCleanup is always called in case of timeout by @Evangelink in #3334
  • Fix cooperative cancellation for TestInit/TestCleanup by @Evangelink in #3333
  • Fix message when step is canceled through TestContext by @Evangelink in #3335
  • Fix: Skip AssemblyInitialize/Cleanup when all tests are skipped by @Evangelink in #3339
  • Fix XmlDataConnection by @Evangelink in #3346
  • Fix class initialization/cleanup calls by @Evangelink in #3362
  • Fix Assert.VerifyThrows to use standard message pattern by @Evangelink in #3363
  • Refactor TestMethod DisplayName by @Evangelink in #3365
  • Fix display name for parameterized tests by @Evangelink in #3366
  • Fix settings parsing ignore invalid values by @engyebrahim in #3338
  • use GetExceptionMessage instead of ex.Message in TestDataSource by @SimonCropp in #3415
  • Fix MSTEST0036 to report only on ordinary methods by @Evangelink in #3711
  • fix: TRLPlusCCancellationTokenSource doesn't cancel current TestRun by @engyebrahim in #3672
  • Fix running cleanup after first test method by @nohwnd in #3764

Housekeeping

  • Perf: avoid creation of tasks by @Evangelink in #3282
  • For fixtures in STA thread, use TCS instead of Task.Run by @Evangelink in #3308
  • Fix typo in initialized by @nohwnd in #3319
  • Highlight C# code in analyzer tests by @Evangelink in #3327
  • MSTest.Sdk use Playwright 1.45.1 by @Evangelink in #3380
  • MSTest.Sdk use aspire 8.1.0 by @Evangelink in #3379
  • Update description for (init/cleanup) analyzers by @engyebrahim in #3391
  • use SupportedOSPlatform from polyfill by @SimonCropp in #3409
  • use Guard from Polyfill by @SimonCropp in #3508
  • Save all code files with UTF8BOM by @nohwnd in #3536
  • Save all project files with UTF8 (NOBOM) by @nohwnd in #3539
  • Reduce verbosity of internal test framework by @Evangelink in #3537

Artifacts

  • MSTest: 3.6.0
  • MSTest.TestFramework: 3.6.0
  • MSTest.TestAdapter: 3.6.0
  • MSTest.Analyzers: 3.6.0
  • MSTest.Sdk: 3.6.0
  • Microsoft.Testing.Extensions.CrashDump: 1.4.0
  • Microsoft.Testing.Extensions.HangDump: 1.4.0
  • Microsoft.Testing.Extensions.HotReload: 1.4.0
  • Microsoft.Testing.Extensions.Retry: 1.4.0
  • Microsoft.Testing.Extensions.TrxReport: 1.4.0

See full log here

Fixed

  • Update dependencies from devdiv/DevDiv/vs-code-coverage by @dotnet-maestro in #3533

Artifacts

  • MSTest: 3.5.2
  • MSTest.TestFramework: 3.5.2
  • MSTest.TestAdapter: 3.5.2
  • MSTest.Analyzers: 3.5.2
  • MSTest.Sdk: 3.5.2
  • Microsoft.Testing.Extensions.CrashDump: 1.3.2
  • Microsoft.Testing.Extensions.HangDump: 1.3.2
  • Microsoft.Testing.Extensions.HotReload: 1.3.2
  • Microsoft.Testing.Extensions.Retry: 1.3.2
  • Microsoft.Testing.Extensions.TrxReport: 1.3.2

See full log here

Fixed

  • Fix XmlDataConnection by @Evangelink in #3346
  • Fix timeout message to reflect that 0 is not allowed by @Evangelink in #3279
  • Fix Fix TestInitialize and TestCleanup analyzers to allow generic classes by @Evangelink in #3280

Artifacts

  • MSTest: 3.5.1
  • MSTest.TestFramework: 3.5.1
  • MSTest.TestAdapter: 3.5.1
  • MSTest.Analyzers: 3.5.1
  • MSTest.Sdk: 3.5.1
  • Microsoft.Testing.Extensions.CrashDump: 1.3.2
  • Microsoft.Testing.Extensions.HangDump: 1.3.2
  • Microsoft.Testing.Extensions.HotReload: 1.3.2
  • Microsoft.Testing.Extensions.Retry: 1.3.2
  • Microsoft.Testing.Extensions.TrxReport: 1.3.2

See full log here

Added

  • Add overloads to CollectionAssert.AreEquivalent/AreNotEquivalent with IEqualityComparer<T> by @engyebrahim in #3130
  • Add code fix for MSTEST0017 by @engyebrahim in #3091
  • Add SDK samples from rel/3.4 by @nohwnd in #3074
  • Add suppressors for VSTHRD200 by @Evangelink in #2926
  • Add code fix for TestInitializeShouldBeValidAnalyzer by @Evangelink in #2890
  • Add code fix for ClassCleanupShouldBeValidAnalyzer by @Evangelink in #2883
  • Add code fix for AssemblyInitializeShouldBeValidAnalyzer by @Evangelink in #2882
  • Add code fix for ClassInitializeShouldBeValidAnalyzer by @Evangelink in #2884
  • Add code fixes for AssemblyCleanupShouldBeValidAnalyzer by @Evangelink in #2866
  • Add sample of MSTest runner for WinUI by @Evangelink in #2834
  • MSTEST0032: Always pass assertions by @engyebrahim in #3238
  • MSTEST0025: add support for Assert.IsNull by @engyebrahim in #3233
  • Update fixture analyzers to report on missing [TestClass] by @Evangelink in #3252
  • Customize MSTest runner banner by @Evangelink in #3235
  • Analyzer: Ensure to use Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute and not System.ComponentModel.DescriptionAttribute by @engyebrahim in #3202
  • MSTEST0030: Type containing [TestMethod] must be a [TestClass] by @engyebrahim in #3199
  • leverage DoesNotReturnIfAttribute for better assertion by @SimonCropp in #3168
  • Assertions: add support for [StringSyntax(CompositeFormat)] by @Evangelink in #3185
  • Display fixture (Assembly/Class Initialize/Cleanup) methods as "test" entries by @fhnaseer in #2904
  • Improve display name for string and char by @MichelZ in #3082
  • Improve display name when DataRow contains arrays by @MichelZ in #3053
  • TestCaseFilter with custom properties by @engyebrahim in #3015
  • MSTEST0029: Public methods should be test methods by @engyebrahim in #3065
  • Avoid conditionals inside assertions analyzer by @fhnaseer in #2848
  • Localize console service by @nohwnd in #2900
  • Code fix for TestCleanupShouldBeValidAnalyzer by @Evangelink in #2887
  • Run and fail tests when ITestDataSource.GetData returns empty IEnumerable by @fhnaseer in #2865
  • Include timeout duration in timeout message by @engyebrahim in #2877
  • Flow execution context across fixture methods when using timeout by @Evangelink in #2843
  • MSTest runner: allow overriding TestRunParameters by @Evangelink in #3106

Housekeeping

  • Fix some IDEXXX warnings by @Evangelink in #2844
  • fix install-windows-sdk path by @SimonCropp in #2930
  • Fix release years in changelog by @Evangelink in #3001
  • Fix some diagnostics happening only in VS by @Evangelink in #3016
  • Add acceptance tests for info with all extensions by @Evangelink in #3119
  • Refactor STA pool code by @MarcoRossignoli in #3231
  • Make IProcess disposable by @Evangekunj in #3120
  • Use GetTypes() instead of DefinedTypes by @SimonCropp in #3112
  • Use ConcurrentDictionary for attribute cache, and avoid func by @nohwnd in #3062
  • Lower reflection overhead by @nohwnd in #2839
  • avoid array alloc in CommandLineParseResult by using IReadOnlyList by @SimonCropp in #3027
  • remove set for toolname on CommandLineParseResult by @SimonCropp in #3028
  • remove redundant array alloc in CommandLineOptionsProviderCache by @SimonCropp in #3026
  • use some StringSyntax Xml by @SimonCropp in #2974
  • Use polyfill package by @Evangelink in #3014
  • Use concurrent dictionary for attribute cache by @nohwnd in #3061
  • MSTest.Sdk: do not use IsImplictlyDefined by @Evangelink in #2880

Fixed

  • Fix ResultFiles placement in TRX report by @nohwnd in #3264
  • Use short date for platform build date on banner by @Evangelink in #3249
  • Skipped tests count as not run by @Evangelink in #3243
  • Fix running parallelized tests in STA thread by @eengyebrahim in #3213
  • Fix Assert.AreEqual using null dynamic by @Evangelink in #3181
  • Fix test run footer color to be red when not successful by @Evangelink in #3180
  • Fix --info and --help when tools are registered by @Evangelink in #3123
  • Fix --info when tools are present by @Evangelink in #3118
  • Fix MSTEST0029 by @engyebrahim in #3090
  • Fix assembly resolution with DeploymentItem (#3034) by @XXX in #3036
  • Fix assembly resolution error by @XXX in #2948
  • Fix property name for enabling aspire in MSTest.Sdk by @XXX in #2888
  • Fix MSTEST0014 FP with arrays by @XXX in #2857
  • Workaround the UWP release mode issue with DataRow data by @XXX in #3240
  • Handle InvalidOperationException when accessing process ID by @XXX in #3250
  • MSTEST0004: Report only on non-abstract, non-static, classes by @XXX in #3230
  • Downgrade some log levels from info to debug by @Evangelink in #3206
  • Retrieve PID inside try/catch by @Evangelink in #3193
  • Shorten pipe names by @Evangelink in #3183
  • dispose of IProcess by @SimonCropp in #3141
  • ClassCleanup are not executed if testclass is ignored by @Evangelink in #3142
  • Ensure ValueTask test methods are awaited by @Evangelink in #3137
  • Print exceptions occurring during Task.WaitAll by @Evangelink in #3128
  • Discriminate MissingMethodException from hot reload by @Evangelink in #3098
  • Check that Reflect Helper caches inherited and non-inherited attributes separately by @nohwnd in #3117
  • Fixes displaying arity for many (N instead of int.Max) by @engyebrahim in #3115

New Contributors

  • @Mertsch made their first contribution in #3045
  • @MichelZ made their first contribution in #3053

Artifacts

  • MSTest: 3.5.0
  • MSTest.TestFramework: 3.5.0
  • MSTest.TestAdapter: 3.5.0
  • MSTest.Analyzers: 3.5.0
  • MSTest.Sdk: 3.5.0
  • Microsoft.Testing.Extensions.CrashDump: 1.3.1
  • Microsoft.Testing.Extensions.HangDump: 1.3.1
  • Microsoft.Testing.Extensions.HotReload: 1.3.0
  • Microsoft.Testing.Extensions.Retry: 1.3.0
  • Microsoft.Testing.Extensions.TrxReport: 1.3.1

See full log here

Fixed

  • Revert version of Code Coverage to 17.10.4 by @Evangelink in #3048

Artifacts

  • MSTest: 3.4.3
  • MSTest.TestFramework: 3.4.3
  • MSTest.TestAdapter: 3.4.3
  • MSTest.Analyzers: 3.4.3
  • MSTest.Sdk: 3.4.3
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Fixed

  • Use latest released version for Playwright and Aspire by @Evangelink in #3024
  • Fix project samples for 3.4 by @Evangelink in #3032
  • Fix assembly resolution with DeploymentItem by @Evangelink in #3034

Artifacts

  • MSTest: 3.4.2
  • MSTest.TestFramework: 3.4.2
  • MSTest.TestAdapter: 3.4.2
  • MSTest.Analyzers: 3.4.2
  • MSTest.Sdk: 3.4.2
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Fixed

  • Fix assembly resolution error by @Evangelink in #2948

Artifacts

  • MSTest: 3.4.1
  • MSTest.TestFramework: 3.4.1
  • MSTest.TestAdapter: 3.4.1
  • MSTest.Analyzers: 3.4.1
  • MSTest.Sdk: 3.4.1
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Added

  • MSTEST0017: Assertion arguments should be passed in the correct order by @Evangelink in #2556
  • Support "Central Package Management" with the MSTest.Sdk by @MarcoRossignoli in #2581
  • MSTEST0019: Prefer TestInitialize over ctor by @Evangelink in #2580
  • MSTEST0020: Prefer ctors over TestInitialize methods by @Evangelink in #2582
  • MSTEST0021: Prefer Dispose over TestCleanup methods by @Evangelink in #2585
  • MSTEST0022: Prefer 'TestCleanup' methods over Dispose by @Evangelink in #2586
  • MSTEST0023: Do not negate boolean assertions by @Evangelink in #2594
  • MSTEST0024: Do not store TestContext in static members by @Evangelink in #2597
  • Use System.Text.Json instead of Jsonite y @mariam-abdulla in #2564
  • Update MSTest.Sdk to handle playwright by @Evangelink in #2598
  • Add support for runner in WinUI mode by @Evangelink in #2617
  • Init and cleanup timeout by @engyebrahim in #2570
  • Add project samples for MSTest.Sdk by @Evangelink in #2675
  • Cache CommandLineOption from the providers by @MarcoRossignoli in #2680
  • Simplify Microsoft.Testing.Platform banner by @Evangelink in #2686
  • Add support for STA thread by @Evangelink in #2682
  • Improve error message when dynamic data source layout is invalid by @Evangelink in #2690
  • Add global using feature in MSTest.Sdk by @Varorbc in #2701
  • Added AssertInstanceOf overloads with out parameter by @Mrxx99 in #2717
  • Improve error message for mismatched data driven test by @Evangelink in #2691
  • SDK: add playwright default using by @Evangelink in #2730
  • SDK: add global usings to VSTest targets by @Evangelink in #2731
  • MSTest.Sdk: add support for Aspire by @Evangelink in #2758
  • Ensure that fixtures also support sta threading by @Evangelink in #2769
  • Add option to consider empty data of DynamicData as inconclusive by @engyebrahim in #2771
  • Add PreferAssertFailOverAlwaysFalseConditionsAnalyzer by @Youssef1313 in #2799

Fixed

  • Get real exception in case of error in AssemblyInitialize by @nohwnd in #2571
  • Fix MSTEST0014 to handle optional parameters by @Evangelink in #2574
  • Get real exception for AssemblyCleanup/ClassInitialize/ClassCleanup by @Evangelink in #2576
  • Fix MSTEST0014 problems with arrays by @Evangelink in #2607
  • Fix MSTest version under testing platform by @Evangelink in #2629
  • Fix MSTEST0005 to report only inside test classes by @Evangelink in #2641
  • Fix TestHostControllersTestHost startup by @MarcoRossignoli in #2659
  • Fix ITestHostEnvironmentVariableProvider tests by @MarcoRossignoli in #2660
  • Simplify added logic for AssemblyResolution in netcore by @Evangelink in #2654
  • add Tests for --list-tests does not work with --filter by @engyebrahim in #2699
  • Fix false positive in TestClassShouldHaveTestMethodAnalyzer (MSTEST0016) for derived class by @engyebrahim in #2715
  • Fix ThreadOperations to handle TaskCanceledException by @Evangelink in #2722
  • Update PackageReferences to be properly defined by @dansiegel in #2727
  • Tests for --info shows incorrect version for MSTest by @engyebrahim in #2745
  • Fix typo by @thomhurst in #2749
  • Fix localappdata folder for Linux and Mac by @Evangelink in #2765
  • Fix deserializers for DiscoveryRequestArgs and RunRequestArgs by @mariam-abdulla in #2768
  • Don't start thread/task when not using timeout for fixture methods by @Evangelink in #2825
  • Fix parameters/arguments check for data driven tests by @nohwnd in #2829
  • Cleaning command line validations and adding unit tests by @fhnaseer in #2847
  • Fix MSTEST0014 FP with arrays by @Evangelink in #2857
  • Flow execution context across fixture methods when using timeout by @Evangelink #2843

Housekeeping

  • Use dotnet-public instead of nuget feed for samples by @Evangelink in #2623
  • Update NativeAOT runner example by @nohwnd in #2634
  • Use Platform.MSBuild to setup nativeAot example by @nohwnd in #2645
  • Remove IsPackable from the DemoMSTestSdk by @Varorbc in #2696
  • allow rollForward of sdk to latestFeature by @SimonCropp in #2714
  • Onboard Central Package Management by @Evangelink in #2728
  • Add dependabot by @Evangelink in #2737
  • perf: reduce allocations and calls to ToArray by @Evangelink in #2747
  • Add test for resource recursion problem by @nohwnd in #2778
  • Opt-out from CPM in samples by @Evangelink in #2805

New Contributors

  • @mariam-abdulla made their first contribution in #2564
  • @Varorbc made their first contribution in #2696
  • @skanda890 made their first contribution in #2706
  • @SimonCropp made their first contribution in #2714
  • @Mrxx99 made their first contribution in #2717
  • @dansiegel made their first contribution in #2727
  • @thomhurst made their first contribution in #2749
  • @Youssef1313 made their first contribution in #2799

Artifacts

  • MSTest: 3.4.0
  • MSTest.TestFramework: 3.4.0
  • MSTest.TestAdapter: 3.4.0
  • MSTest.Analyzers: 3.4.0
  • MSTest.Sdk: 3.4.0
  • Microsoft.Testing.Extensions.CrashDump: 1.2.1
  • Microsoft.Testing.Extensions.HangDump: 1.2.1
  • Microsoft.Testing.Extensions.HotReload: 1.2.1
  • Microsoft.Testing.Extensions.Retry: 1.2.1
  • Microsoft.Testing.Extensions.TrxReport: 1.2.1

See full log here

Fixed

  • Fix MSTest.SDK deps by @MarcoRossignoli in #2650

Artifacts

  • MSTest: 3.3.1
  • MSTest.TestFramework: 3.3.1
  • MSTest.TestAdapter: 3.3.1
  • MSTest.Analyzers: 3.3.1
  • MSTest.Sdk: 3.3.1
  • Microsoft.Testing.Extensions.CrashDump: 1.1.0
  • Microsoft.Testing.Extensions.HangDump: 1.1.0
  • Microsoft.Testing.Extensions.HotReload: 1.1.0
  • Microsoft.Testing.Extensions.Retry: 1.1.0
  • Microsoft.Testing.Extensions.TrxReport: 1.1.0

See full log here

Added

  • MSTEST0007: [<\Test Attributes>] can only be set on methods marked with [TestMethod] by @cvpoienaru in #2221
  • MSTEST0008: [TestInitialize] should be valid by @engyebrahim in #2292
  • MSTEST0009: [TestCleanup] should have valid layout by @cvpoienaru in #2312
  • MSTEST0010: [ClassInitialize] should be valid by @engyebrahim in #2354
  • MSTEST0011: [ClassCleanup] should be valid by @engyebrahim in #2356
  • MSTEST0012: [AssemblyInitialize] should be valid by @engyebrahim in #2328
  • MSTEST0013: [AssemblyCleanup] should be valid by @engyebrahim in #2353
  • MSTEST0014: [DataRow] should be valid by @cvpoienaru in #2352
  • MSTEST0015: Test method should not be ignored by @engyebrahim in #2429
  • MSTEST0016: Test class should have test method by @engyebrahim in #2518
  • Add support for ValueTask return type by @Evangelink in #2208
  • Allow IEnumerable of tuple for DynamicData source by @Evangelink in #2226
  • Add a console logger sample for the runner by @Evangelink in #2246
  • Create preview.md by @nohwnd in #2268
  • Use Task.Run for Assembly/Class init to allow exiting by @Evangelink in #2265
  • Document logging public APIs by @Evangelink in #2290
  • Document test framework public APIs by @Evangelink in #2286
  • Document messages public APIs by @Evangelink in #2287
  • Document command line public APIs by @Evangelink in #2285
  • Document requests public APIs by @Evangelink in #2289
  • Document builder public API by @Evangelink in #2283
  • Document configuration public APIs by @Evangelink in #2291
  • Document testhost related public APIs by @Evangelink in #2284
  • Document extensions/services public APIs by @Evangelink in #2288
  • Document messages public api by @MarcoRossignoli in #2357
  • Complete public api docs by @MarcoRossignoli in #2359
  • Assert.AreEqual allow IEquatable<\T> for actual and expected by @Evangelink in #2381
  • Introduce --exit-on-process-exit by @MarcoRossignoli in #2434
  • Add example for simple framework without VSTest bridge by @nohwnd in #2446
  • Add graph query filtering doc draft by @MarcoRossignoli in #2460

Fixed

  • MSTEST0002: fix false-positive with static TestClass by @Evangelink in #2182
  • Fix code samples by @Evangelink in #2217
  • Fix setup of MSBuild Reference item entry by @Evangelink in #2220
  • Fix support of WinUI for net6+ by @Evangelink in #2222
  • Fix MSTEST0002 - Generic TestClass is valid by @Evangelink in #2428
  • Fix MSTEST0005 to report only inside test classes by @Evangelink in #2642
  • Preserve real exception and fix tests by @MarcoRossignoli in #2272
  • Shorten server pipe name by @MarcoRossignoli in #2302
  • Fix TestMethod should be valid analyzer description by @engyebrahim in #2295
  • Fix command line banner output by @MarcoRossignoli in #2314
  • Workaround harmless MSBuild warning in VS by @Evangelink in #2349
  • Fix analyzers doc link by @Evangelink in #2361
  • Remove the TestingPlatformServer if the runner is disabled by @MarcoRossignoli in #2409
  • Honor request.Complete() by @MarcoRossignoli in #2448
  • Make RootDeploymentDirectory name unique by @MarcoRossignoli in #2456

Housekeeping

  • Reduce calls to GetTypeInfo() by @Evangelink in #2426
  • Improve warning message for generic non-abstract test classes by @Evangelink in #2427
  • Remove the Microsoft.Testing.Extensions.Telemetry from the package by @MarcoRossignoli in #2454

Artifacts

  • MSTest: 3.3.0
  • MSTest.TestFramework: 3.3.0
  • MSTest.TestAdapter: 3.3.0
  • MSTest.Analyzers: 3.3.0
  • Microsoft.Testing.Extensions.CrashDump: 1.1.0
  • Microsoft.Testing.Extensions.HangDump: 1.1.0
  • Microsoft.Testing.Extensions.HotReload: 1.1.0
  • Microsoft.Testing.Extensions.Retry: 1.1.0
  • Microsoft.Testing.Extensions.TrxReport: 1.1.0

See full log here

Fixed

  • [rel/3.2] Workaround harmless MSBuild warning in VS by @Evangelink in #2350
  • [rel/3.2] Fix analyzers doc link by @Evangelink in #2362
  • Assert.AreEqual allow IEquatable<T> for actual and expected by @Evangelink in #2382
  • Fix msbuild integration (#2389) by @MarcoRossignoli in #2395
  • Remove the TestingPlatformServer if the runner is disabled (#2409) by @MarcoRossignoli in #2410

Artifacts

  • MSTest: 3.2.2
  • MSTest.TestFramework: 3.2.2
  • MSTest.TestAdapter: 3.2.2
  • MSTest.Analyzers: 3.2.2
  • Microsoft.Testing.Extensions.CrashDump: 1.0.2
  • Microsoft.Testing.Extensions.HangDump: 1.0.2
  • Microsoft.Testing.Extensions.HotReload: 1.0.2
  • Microsoft.Testing.Extensions.Retry: 1.0.2
  • Microsoft.Testing.Extensions.TrxReport: 1.0.2

See full log here

Fixed

  • MSTEST0002: fix false-positive with static TestClass (#2182) by @Evangelink in #2199
  • Bump version of coverage and platform by @Evangelink in #2280
  • [rel/3.2] Update dependencies from devdiv/DevDiv/vs-code-coverage by @dotnet-maestro in #2315
  • Fix command line output validation (#2314) by @MarcoRossignoli in #2317
  • [rel/3.2] Update dependencies from microsoft/testanywhere by @dotnet-maestro in #2320
  • [rel/3.2] Update dependencies from microsoft/testanywhere by @dotnet-maestro in #2326

Housekeeping

  • Remove unused localization entries by @Evangelink in #2192
  • Remove version fixup workaround (#2209) by @Evangelink in #2212

Artifacts

  • MSTest: 3.2.1
  • MSTest.TestFramework: 3.2.1
  • MSTest.TestAdapter: 3.2.1
  • MSTest.Analyzers: 3.2.1
  • Microsoft.Testing.Extensions.CrashDump: 1.0.1
  • Microsoft.Testing.Extensions.HangDump: 1.0.1
  • Microsoft.Testing.Extensions.HotReload: 1.0.1
  • Microsoft.Testing.Extensions.Retry: 1.0.1
  • Microsoft.Testing.Extensions.TrxReport: 1.0.1

See full log here

Added

  • MSTest runner by @Evangelink in #1775
  • Add analyzers by @Evangelink in #1870
  • Add more analyzers by @Evangelink in #1974
  • Rework MSTEST0002 and MSTEST0003 by @Evangelink in #1985
  • Update description of MSTEST0001 by @Evangelink in #1988
  • MSTEST0004: Public types should be test classes by @Evangelink in #1989
  • Add readme to MSTest.Analyzer package by @Evangelink in #2006
  • Add --ignore-exit-code and TESTINGPLATFORM_EXITCODE_IGNORE by @MarcoRossignoli in #2057
  • Add samples of runner vs dotnet test by @Evangelink in #2063
  • Add mstest runner samples by @nohwnd in #2068
  • Add comparison stats by @MarcoRossignoli in #2069
  • Performance measurements by @jakubch1 in #2071
  • Add protocol documentation by @drognanar in #2073
  • Cache platform command line options by @MarcoRossignoli in #2127

Fixed

  • Don't stop by @nohwnd in #1737
  • Fix DataRowAttribute to be cls compliant by @Evangelink in #1878
  • Workaround issue with managed type name utility by @Evangelink in #1876
  • Fix path normalization by @Evangelink in #1880
  • MSTEST0005: TestContext should be valid by @Evangelink in #2019
  • MSTEST0006: Avoid '[ExpectedException]' by @Evangelink in #2025
  • Hide MissingMethodException when in hot reload mode by @Evangelink in #2028
  • Fix running tests with UWP by @Evangelink in #2047
  • Fix rules help link URL by @Evangelink in #2048
  • Fix short link to telemetry doc by @Evangelink in #2064
  • Avoid some allocations by @MarcoRossignoli in #2079
  • MSTEST0001: Set default severity to Info by @Evangelink in #2077
  • Remove IEnumerable extensions by @MarcoRossignoli in #2090
  • Simplify substring by @Evangelink in #2092
  • Fix mstest runner namespace by @Evangelink in #2078
  • Cleanup ICommandLineOptionsProvider api by @MarcoRossignoli in #2093
  • Update ToHumanReadableDuration by @MarcoRossignoli in #2094
  • [bug] Do not wait timeout duration in case of user cancellation by @Evangelink in #2104
  • TrimStackTrace should handle empty stacktrace by @Evangelink in #2113
  • Update Public API by @Evangelink in #2116
  • Fix issue #2121 DataTestMethodAttribute is missing a constructor by @HannoZ in #2125

Chores

  • Bump and cleanup global versions by @Evangelink in #1754
  • Eng and global.json housekeeping by @Evangelink in #1756
  • Code clean-up by @ViktorHofer in #1757
  • Bump StyleCop analyzers version by @Evangelink in #1761
  • Bump version of test dependencies by @Evangelink in #1762
  • Bump VSTest deps to 17.7.2 by @Evangelink in #1769
  • Pin Moq to 4.18.4 for security by @Evangelink in #1770
  • Clean nuget.config by @Evangelink in #1772
  • Fix warnings and cleanup infra by @Evangelink in #1773
  • Drop ruleset in favor of editorconfig by @Evangelink in #1780
  • Enable CA1001 by @Evangelink in #1811
  • Set analysis level to latest-recommended by @Evangelink in #1816
  • Use modern styles and rules by @Evangelink in #1852
  • Add third-parties licenses by @Evangelink in #1955

New Contributors

  • @ViktorHofer made their first contribution in #1757
  • @jakubch1 made their first contribution in #2071
  • @drognanar made their first contribution in #2073
  • @HannoZ made their first contribution in #2125

Artifacts

  • MSTest: 3.2.0
  • MSTest.TestFramework: 3.2.0
  • MSTest.TestAdapter: 3.2.0
  • MSTest.Analyzers: 3.2.0
  • Microsoft.Testing.Extensions.CrashDump: 1.0.0
  • Microsoft.Testing.Extensions.HangDump: 1.0.0
  • Microsoft.Testing.Extensions.HotReload: 1.0.0
  • Microsoft.Testing.Extensions.Retry: 1.0.0
  • Microsoft.Testing.Extensions.TrxReport: 1.0.0

See full log here

Added

  • Add readme to MSTest.Analyzer package by @Evangelink in #2006
  • Add --ignore-exit-code and TESTINGPLATFORM_EXITCODE_IGNORE by @MarcoRossignoli in #2057
  • Add samples of runner vs dotnet test by @Evangelink in #2063
  • Add mstest runner samples by @nohwnd in #2068
  • Add comparison stats by @MarcoRossignoli in #2069
  • Performance measurements by @jakubch1 in #2071
  • Add protocol documentation by @drognanar in #2073
  • Cache platform command line options by @MarcoRossignoli in #2127

Fixed

  • MSTEST0005: TestContext should be valid by @Evangelink in #2019
  • MSTEST0006: Avoid '[ExpectedException]' by @Evangelink in #2025
  • Hide MissingMethodException when in hot reload mode by @Evangelink in #2028
  • Fix running tests with UWP by @Evangelink in #2047
  • Fix rules help link URL by @Evangelink in #2048
  • Fix short link to telemetry doc by @Evangelink in #2064
  • Avoid some allocations by @MarcoRossignoli in #2079
  • MSTEST0001: Set default severity to Info by @Evangelink in #2077
  • Remove IEnumerable extensions by @MarcoRossignoli in #2090
  • Simplify substring by @Evangelink in #2092
  • Fix mstest runner namespace by @Evangelink in #2078
  • Cleanup ICommandLineOptionsProvider api by @MarcoRossignoli in #2093
  • Update ToHumanReadableDuration by @MarcoRossignoli in #2094
  • [bug] Do not wait timeout duration in case of user cancellation by @Evangelink in #2104
  • TrimStackTrace should handle empty stacktrace by @Evangelink in #2113
  • Update Public API by @Evangelink in #2116
  • Fix issue #2121 DataTestMethodAttribute is missing a constructor by @HannoZ in #2125

New Contributors

  • @jakubch1 made their first contribution in #2071
  • @drognanar made their first contribution in #2073
  • @HannoZ made their first contribution in #2125

Artifacts

See full log here

Fixed

  • Add auto-generated header to generated entry point (through upgrade of Microsoft.Testing.Platform.MSBuild to 1.0.0-preview.23622.9)

Artifacts

See full log here

Added

  • MSTest runner by @Evangelink in #1775
  • Add analyzers by @Evangelink in #1870
  • Add more analyzers by @Evangelink in #1974
  • Rework MSTEST0002 and MSTEST0003 by @Evangelink in #1985
  • Update description of MSTEST0001 by @Evangelink in #1988
  • MSTEST0004: Public types should be test classes by @Evangelink in #1989

Fixed

  • Don't stop by @nohwnd in #1737
  • Fix DataRowAttribute to be cls compliant by @Evangelink in #1878
  • Workaround issue with managed type name utility by @Evangelink in #1876
  • Fix path normalization by @Evangelink in #1880

Chores

  • Bump and cleanup global versions by @Evangelink in #1754
  • Eng and global.json housekeeping by @Evangelink in #1756
  • Code clean-up by @ViktorHofer in #1757
  • Bump StyleCop analyzers version by @Evangelink in #1761
  • Bump version of test dependencies by @Evangelink in #1762
  • Bump VSTest deps to 17.7.2 by @Evangelink in #1769
  • Pin Moq to 4.18.4 for security by @Evangelink in #1770
  • Clean nuget.config by @Evangelink in #1772
  • Fix warnings and cleanup infra by @Evangelink in #1773
  • Drop ruleset in favor of editorconfig by @Evangelink in #1780
  • Enable CA1001 by @Evangelink in #1811
  • Set analysis level to latest-recommended by @Evangelink in #1816
  • Use modern styles and rules by @Evangelink in #1852
  • Add third-parties licenses by @Evangelink in #1955

New Contributors

  • @ViktorHofer made their first contribution in #1757

Artifacts

Fixed

  • Artifact 3.1.0 was corrupted during pipeline and for security reasons we cannot regenerate it.

See full log here

Artifacts

See full log here

Added

  • Add AsyncLocal warning #1710
  • Adding warning that AssemblyResolution works only with .NET Frameworks #1669
  • Onboarding to GitOps.ResourceManagement #1688
  • Document data source configuration #1595
  • Enable TestContext.AddResultFile API for WinUI #1593
  • Add documentation for [DeploymentItem] attribute #1581
  • Docs: add links to MS learning docs #1577
  • Document LegacySettings- support as discontinued delta from MSTestV1 #1571
  • Add link to MSTest element settings in the Documentation page #1552
  • Add TreatDiscoveryWarningsAsErrors setting #1547

Changed

  • Rename Helper.cs into Guard.cs
  • Update Changelog.md
  • Bump TestPlatform to 17.6.0 #1666

Fixed

  • Avoid crash when method is not found using FQN #1714
  • Prevent swallowing inner exception in async error #1712
  • DeploymentItem: add test for file deployment using Windows/Linux path #1710
  • Fix parallel output isolation #1705
  • Fix DeploymentItem to support trailing directory separator #1703
  • Fix Logger.LogMessage to not call string.Format when no arguments are provided #1702
  • Update AreEqual/AreNotEqual XML documentation #1563

New Contributors

  • @unsegnor made their first contribution in #1104
  • @JasonMurrayCole made their first contribution in #1119
  • @engyebrahim made their first contribution in #1172
  • @johnthcall made their first contribution in #1547

Artifacts

See full log here

Fixed

  • Fix out of range exception in deployment tool #1682
  • Fix issue/crash with deployment items and disabled app domains #1681

Artifacts

See full log here

Changed

  • Use Test Platform 17.4.1 instead of 17.4.0

Fixed

  • Revert change for timeout test execution #1675
  • Fix assembly resolution error #1670
  • Revert usage of System.Collections.Immutable for TypeCache
  • Remove DataRowAttribute argument count limitation #1646

Artifacts

See full log here

Fixed

  • Fix issue cannot load Microsoft.TestPlatform.CoreUtilities #1502

Artifacts

See full log here

Fixed

  • Fix some race condition issue #1477
  • Fix cleanup inheritance calls #1475
  • Fix class/assembly cleanups log collect and attachment #1470
  • Allow most APIs to accept nullable values or arguments #1467
  • Add console, trace and debug writeline calls to the lifecycle integration tests #1464
  • Revert Framework.Extension project to be CLSCompliant #1450
  • Fix regressions with DataRow supported arguments #1446
  • Add parent domain assembly resolver for netfx #1443
  • Remove unneeded dash in InformationalVersion for RTM builds
  • Add NotNullAttribute postcondition to Assert APIs #1441

Artifacts

See full log here

Breaking changes announcements #1274

Added

  • Assert.AreEqual/AreNotEqual overloads with IEquatable #1433
  • Add DoesNotReturn attribute for Assert.Inconclusive methods #1422
  • Allow to override GetDisplayName method from DataRowAttribute #1413
  • Add computer name on the test result #1409
  • Add public api analyzers #1318
  • Enable nullable for TestAdapter project #1370
  • Enable nullable for Platform Services #1366
  • Enable nullables for Framework #1365
  • Enable nullable for TestFramework.Extensions #1363
  • [breaking change] Introduce strategies for test ID generation #1306
  • Add support for AsyncDisposable cleanup #1288
  • Add Assert.IsInstanceOfType<T> #1241

Changed

  • [breaking change] Follow supported .NET frameworks:
    • Dropped support for .NET Framework before 4.6.2 (net462)
    • Dropped support for .NET Standard before 2.0 (netstandard2.0)
    • Dropped support for UWP before 16299
    • Dropped support for WinUI before 18362
    • Replaced support of .NET 5 by .NETCore 3.1 and .NET 6.0
  • [breaking change] Assert.AreSame/AreNotSame use generic instead of object #1430
  • Make BeginTimer and EndTimer methods obsolete #1425
  • [breaking change] Unify DeploymentDirectory location across target frameworks #1414
  • [breaking change] Add class/assembly cleanup/init messages to first/last test #1390
  • Document that DeploymentItemAttribute only works for a test class with test method #1399
  • Use NewtonsoftJson v13.0.1 #1361
  • [breaking change] Merge timeout behaviors for .NET Core and .NET Framework #1296
  • Mark exceptions with SerializableAttribute #1186

Removed

  • [breaking change] Remove Assert.AreEqual/AreNotEqual overloads with object object #1429

Fixed

  • Propagate UI culture to appdomain #1401
  • Include localization in Test Framework NuGet #1397
  • [breaking change] Refactor available ctors for DataRowAttribute #1332
  • Fix issue causing null ref when test class has no namespace #1283
  • [breaking change] Unwrap real exception from TargetInvocationException #1254
  • Fixed the case ignoring in AreEqual() with culture parameter #1216

Artifacts

See full log here

Added

  • Enable proper tooling for localization #1393
  • Include localization in Test Framework NuGet #1397
  • Propagate UI culture to appdomain #1401

Changed

  • Visual Studio grouping tests by Traits rendering has changed. To keep something similar to the past, you will have to use group by Traits + Class. #1634
  • Disable again the generation of localization files
  • Cleanup TestFx.Loc.props
  • Update xlf files #1387
  • Reformat scripts
  • Re-enable localization of dlls in CI #1386
  • Move platformservices localization files to the right folder #1384
  • Reformat and simplify build.ps1
  • Replace other instances of Env.CurrentDir with Assembly.GetExecutingA… #1380
  • Update testfx repo detection mechanism #1378
  • Rename folder containing localization dlls in MSTest.TestAdapter NuGet package #1398

Fixed

  • Fix TestContext nullabilities #1382
  • Fix ThrowsException methods return nullability #1381
  • Fix all markdown issues in releases.md
  • Fix some failing debug assertions #1379
  • DeploymentItemAttribute only works for a test class with test method #1399

Removed

  • Remove unused build switch
  • Remove DependsOnTargets="TestFxLocalization" for signing
  • Remove stale xlf.lcl files

Artifacts

See full log here

Added

  • Enable and fix CA1806 violations #1227
  • Enable and fix CA1822 (make member static) violations #1226
  • Enable and fix performance analyzers #1223
  • Id generator logic restored. #1174
  • Enable nullable for TestAdapter project #1370
  • Enable nullable for Platform Services #1366
  • Enable nullables for Framework #1365
  • Enable nullable for TestFramework.Extensions #1363
  • Add tests to document test suite messages #1313
  • Add support for AsyncDisposable cleanup #1288
  • Added version parameter to build script #1264
  • Add WinUI tests to PlatformServices #1234
  • Add net6.0 tests for PlatformServices #1233
  • Add Assert.IsInstanceOfType<T> #1241
  • Add some simple test framwork to allow testing MSTest #1242
  • Merge testfx-docs repo here and update links #1326
  • Install required .NET before build instead of before test #1290
  • Allow mirroring. BYPASS_SECRET_SCANNING
  • List files in case Pdb2Pdb.exe is not found
  • List files in case Pdb2Pdb.exe is not found
  • Align MicrosoftDiaSymReaderPdb2PdbVersion with arcade one
  • Use Foreach-Object to display contents
  • Define and apply field naming conventions #1198

Changed

  • Improve release notes generator #1374
  • Bump version to v3.0.0 #1373
  • Sort lines in public API files
  • Refactor reflection helper to return strongly typed attributes #1369
  • Use NewtonsoftJson v13.0.1 #1361
  • Refactor integration tests to use FluentAssertions #1349
  • Revert temporary hack related to .net 6.0.10 #1346
  • Naming and using cleanup #1347
  • Update links to official MSTest documentation
  • Revisit RFCs #1342
  • Refactor available ctors for DataRowAttribute #1332
  • Refactor solution items to add UnitTests folder
  • Update prerequisites section
  • Bring back stylecop analyzers #1314
  • Update version of Microsoft.CodeAnalysis.PublicApiAnalyzers
  • Update GitHub issues and PR templates #1315
  • Update Install-DotNetCli end to use similar wording as other steps
  • Update PlatformServices.Desktop.Component.Tests to use new test fwk #1252
  • Update comment about assembly version in TestFx.targets
  • Update azure-pipelines.yml
  • Update azure-pipelines.yml
  • Various styling refactoring #1334
  • Merge extension projects into one #1202
  • Merge various PlatformServices.XXX.UnitTests projects together #1232
  • Merge interfaces into PlatformServices #1293
  • Merge all implementations of TestContext #1302
  • Merge timeout behaviors for .NET Core and .NET Framework #1296
  • Merge TFM specific classes together #1209
  • Merge TFM specific PlatformServices into a single PlatformServices #1208
  • Try to simplify automation.cli and support of different TFMs #1312
  • Don't exclude TestAssets from source control #1298
  • Rename projects to better match assembly #1291
  • Convert PlatformServices tests to use new test framework #1249
  • Convert test.core.unit.tests to use local test framework #1259
  • Convert smoke.e2e.tests and DiscoveryAndExecutionTests to use local test framework #1261
  • Ensure we run core tests for all supported TFMs #1268
  • Ensure we run adapter tests for all supported TFMs #1267
  • Cleanup solution and test projects #1282
  • Cleanup on MSTest.CoreAdapter.UnitTests #1257
  • Unwrap real exception from TargetInvocationException #1254
  • Convert MSTest.CoreAdapter.Unit.Tests to use new test framework #1245
  • Revert CallerArgumentExpression attribute changes #1251
  • Do not fail generate release task notes when skipping
  • Display full packages folder
  • Discard auto PRs in write-release-notes.ps1 #1173
  • Split Assert class per group of feature #1238
  • Improve assembly versions and available metadata #1231
  • More project/files simplification for PlatformServices #1221
  • Projects cleanup #1219
  • Factorize out some project properties #1217
  • Find TP package version using Versions.props #1211
  • Simplify Link references in csproj
  • Review compiler directives #1203
  • Ignore commit 4bb533 from revision logs
  • Use newer C# syntaxes #1200
  • Ignore commit "Define and apply field naming conventions"
  • Ignore convert to file-scoped namespace revision
  • Convert to file-scoped namespaces #1197
  • Target .NET 6 instead of .NET 5 #1196
  • Prefer specific tfm over generic ones #1192
  • Simplify projects dependencies and files #1193
  • Target netstandard2.0 as minimal netstandard #1194
  • Simplify UWP projects #1191
  • Make private fields readonly when possible #1188
  • Favor inline initialization over static ctor #1189
  • Mark exceptions with SerializableAttribute #1186
  • Apply modern C# features/syntaxes #1183
  • Rename MSTest.CoreAdapter into MSTest.TestAdapter #1181
  • Move test projects to SDK style #1179

Fixed

  • Fix broken tests and refactor test API #1352
  • Fix issue causing null ref when test class has no namespace #1283
  • Fix localization path
  • Fix .gitignore
  • Fix included package #1280
  • Fix common.lib.ps1 to download latest patched SDKs #1279
  • Fix included package #1280
  • Fix common.lib.ps1 to download latest patched SDKs #1279
  • Fix broken unit tests
  • Fix testasset of ComponentTests
  • Fix some typos in test names
  • Fix some typos
  • Fix NuGet packages content + support netcoreapp3.1 #1228
  • Fix broken tests on main #1265
  • Fixed the case ignoring in AreEqual() with culture parameter #1216
  • Fix behavior for netcore TFMs #1230
  • Fixed package restore.

Removed

  • Remove class/assembly initialization messages from logs. #1339
  • Remove unexpected dll in target #1308

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

Fixed

Artifacts

A list of changes since last release are available here

Parallel output

🙇 Shout out to @SimonCropp, for bringing this functionality to XUnit in his https://github.com/SimonCropp/XunitContext project. And being an inspiration for implementing this.

MSTest 2.2.9 captures all Console output and attaches it to the correct test, even if you are running tests in parallel. This output is captured from your test code as well as from the tested code. And it requires no special setup.

Before

In 2.2.8, test output is scattered among tests, in our example, one unlucky test gets all the output of other tests just mixed together:

image

After

With 2.2.9, each output is correctly attached to the test that produced it:

image image

Also notice that we are also capturing debug, trace and error. And we are not awaiting the FastChild method, and the output is still assigned correctly. Souce code.

Limitations

Due to the way that class and assembly initialize, and cleanup are invoked, their output will end up in the first test that run (or last for cleanup). This is unfortunately not easily fixable.

Artifacts

  • MSTest.TestFramework: 2.2.9
  • MSTest.TestAdapter: 2.2.9

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.8
  • MSTest.TestAdapter: 2.2.8

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.7
  • MSTest.TestAdapter: 2.2.7

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.6
  • MSTest.TestAdapter: 2.2.6

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.5
  • MSTest.TestAdapter: 2.2.5

A list of changes since last release are available here

Artifacts

  • MSTest.TestFramework: 2.2.4
  • MSTest.TestAdapter: 2.2.4

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

A list of changes since last release are available here

Added

Artifacts

  • MSTest.TestFramework: 2.2.3
  • MSTest.TestAdapter: 2.2.3

A list of changes since last release are available here

Added

Fixed

Artifacts

  • MSTest.TestFramework: 2.2.2
  • MSTest.TestAdapter: 2.2.2

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

  • MSTest.TestFramework: 2.2.1
  • MSTest.TestAdapter: 2.2.1

A list of changes since last release are available here

Changed

Fixed

Removed

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.1.2
  • MSTest.TestAdapter: 2.1.2

A list of changes since last release are available here

Added

Changed

Fixed

Removed

Artifacts

  • MSTest.TestFramework: 2.1.1
  • MSTest.TestAdapter: 2.1.1

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.1.0
  • MSTest.TestAdapter: 2.1.0

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Fixed

Artifacts

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 2.0.0
  • MSTest.TestAdapter: 2.0.0

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Added

Changed

Removed

Artifacts

  • MSTest.TestFramework: 1.4.0
  • MSTest.TestAdapter: 1.4.0

A list of changes since last release are available here

Added

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

  • MSTest.TestFramework: 1.3.2
  • MSTest.TestAdapter: 1.3.2

A list of changes since last release are available here

Changed

Artifacts

  • MSTest.TestFramework: 1.3.1
  • MSTest.TestAdapter: 1.3.1

A list of changes since last release are available here

Changed

Fixed

Artifacts

  • MSTest.TestFramework: 1.3.0
  • MSTest.TestAdapter: 1.3.0

A list of changes since last release are available here

Added

Changed

Fixed

Artifacts

Changed

Removed

Artifacts

  • MSTest.TestFramework: 1.2.1
  • MSTest.TestAdapter: 1.2.1

A list of changes since last release are available here

Added

Changed

Artifacts

  • MSTest.TestFramework: 1.2.0
  • MSTest.TestAdapter: 1.2.0

A list of changes since last release are available here

Added

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Artifacts

A list of changes since last release are available here

Changed

Fixed

Artifacts

This is also the first release from GitHub and with source code building against Dev15 tooling.

Changed

Artifacts

Initial release.

Artifacts