# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)

## <a name="2.4.0" />[2.4.0] - UNRELEASED

See full log [of v4.3.3...v4.4.0](https://github.com/microsoft/testfx/compare/v4.3.3...v4.4.0)

### Added

* Add managed-identity authentication to `Microsoft.Testing.Extensions.AzureFoundry`, while keeping `Azure.Identity` optional for consumers that provide their own `TokenCredential`, by @Evangelink in [#9707](https://github.com/microsoft/testfx/pull/9707) and [#9779](https://github.com/microsoft/testfx/pull/9779)
* Add the client-declared `IsStateful` capability to the Microsoft.Testing.Platform server-mode protocol, allowing editor and IDE clients to tell the server whether state must be preserved between requests, by @Evangelink in [#9789](https://github.com/microsoft/testfx/pull/9789)
* Add the public injectable `IArtifactNamingService` for extensions that need platform-consistent artifact names by @Evangelink in [#9783](https://github.com/microsoft/testfx/pull/9783)
* Allow overriding the Unix directory used for IPC named pipes, enabling test execution in sandboxes where the default temporary directory is unavailable, by @Evangelink in [#9846](https://github.com/microsoft/testfx/pull/9846)
* Add `--show-slowest-tests <count>` to the core terminal reporter to list the requested number of slowest completed tests at the end of a run by @Evangelink in [#9894](https://github.com/microsoft/testfx/pull/9894)
* Add code-coverage messages, coverage-threshold checks and an end-of-run coverage summary to the platform's coverage consumer model by @james-newell-forge in [#9896](https://github.com/microsoft/testfx/pull/9896)
* Add artifact post-processing for `dotnet test`, including TRX, JUnit and CTRF merge engines, artifact-kind metadata, provenance for every merged input and an opt-in contract for processors that can accept an incomplete set of complete artifacts from a policy-truncated run. The built-in TRX processor does not opt in, and partially written or malformed artifacts remain invalid inputs, by @Evangelink in [#9805](https://github.com/microsoft/testfx/pull/9805), [#10086](https://github.com/microsoft/testfx/pull/10086), [#10445](https://github.com/microsoft/testfx/pull/10445) and [#10463](https://github.com/microsoft/testfx/pull/10463)
* Add packaged-app identity detection, MSIX registration and AUMID activation to `Microsoft.Testing.Extensions.PackagedApp`, and support unpackaged WinUI test applications under Microsoft.Testing.Platform, by @Evangelink in [#9914](https://github.com/microsoft/testfx/pull/9914), [#9970](https://github.com/microsoft/testfx/pull/9970) and [#10330](https://github.com/microsoft/testfx/pull/10330)
* Enable Microsoft.Testing.Platform test execution on `browser-wasm` and `wasi-wasm`, using HTTP transport for the browser `dotnet test` protocol and cooperative active/slow-test reporting on the single-threaded browser runtime, by @Evangelink in [#9781](https://github.com/microsoft/testfx/pull/9781), [#9857](https://github.com/microsoft/testfx/pull/9857), [#10129](https://github.com/microsoft/testfx/pull/10129), [#10143](https://github.com/microsoft/testfx/pull/10143) and [#10128](https://github.com/microsoft/testfx/pull/10128)
* Add composable test-execution filter providers, so framework and extension filters can participate in one ordered filtering pipeline, by @Evangelink in [#10235](https://github.com/microsoft/testfx/pull/10235)
* Add `--report-azdo-groups <on|off>` and `--report-azdo-annotations <on|off>` toggles to Azure DevOps report extension by @Evangelink in [#9542](https://github.com/microsoft/testfx/pull/9542)
* Re-print errored assemblies in dotnet test end-of-run recap by @Evangelink in [#9545](https://github.com/microsoft/testfx/pull/9545)
* Add server-initiated session cancellation to the dotnet test IPC protocol by @Evangelink in [#9549](https://github.com/microsoft/testfx/pull/9549)
* Add `RetryAttemptProperty`, a `TestNode` property that lets a test framework report several in-process attempts of the same test under one test node uid (`AttemptNumber` plus `IsSuperseded`). The terminal reporter annotates the attempts (`failed (try 1) MyTest`) and counts the test once, the process exit code and the TRX / JUnit / Azure DevOps reports ignore superseded attempts, and the CTRF report collapses them into `retries` / `retryAttempts[]` / `flaky` in [#10292](https://github.com/microsoft/testfx/issues/10292)
* Add `AssertionFailureProperty` and forward structured expected/actual values over the `dotnet test` protocol, allowing IDEs and reporters to consume assertion details without parsing the failure message, by @Evangelink in [#9826](https://github.com/microsoft/testfx/pull/9826) and [#10353](https://github.com/microsoft/testfx/pull/10353)
* Report the Azure DevOps test run URL when `--publish-azdo-test-results` creates the run, so results can be followed while the tests are still running, and clarify that the build's Tests tab only lists the run once it completes in [#10191](https://github.com/microsoft/testfx/issues/10191)
* Allow setting environment variables on the test process launched by the `InvokeTestingPlatform` MSBuild target (`/t:Test`) through the `TestingPlatformEnvironmentVariable` item: `<TestingPlatformEnvironmentVariable Include="DOTNET_ROOT" Value="$(DotNetRoot)" />`. The value is carried by item metadata, which is not subject to MSBuild's `;` splitting, so values containing a `;` reach the test process as authored. The variables are applied on top of the environment inherited from MSBuild, so declaring none keeps the previous behavior in [#10342](https://github.com/microsoft/testfx/issues/10342)
* Pin `Microsoft.Testing.Extensions.GitHubActionsReport` annotations to the test's declared source location (`TestFileLocationProperty`) when the failure's stack trace yields no frame inside the workspace, and use it to place skipped-test `::warning` annotations on the pull request diff gutter instead of emitting them title-only. The property is populated by the MSTest adapter and by the VSTest bridge, so xUnit, NUnit and other bridged frameworks are covered too in [#9003](https://github.com/microsoft/testfx/issues/9003)
* Add opt-in dynamically resolved extensions through JSON manifests. `--enable-dynamic-extensions` allows test applications to discover and load extension assemblies that are not statically referenced, by @Evangelink in [#10406](https://github.com/microsoft/testfx/pull/10406)

### Changed

* Give platform extension packages a `[current major, next major)` dependency range on `Microsoft.Testing.Platform`, preventing NuGet from combining an extension with an unsupported future platform major by @Evangelink in [#9730](https://github.com/microsoft/testfx/pull/9730)
* Stabilize built-in extension UIDs and their naming rules so extension identity remains consistent across releases and hosts by @Evangelink in [#9773](https://github.com/microsoft/testfx/pull/9773)
* Make the CTRF report writer's existing-file behavior match TRX, HTML and JUnit report writers by @Evangelink in [#9782](https://github.com/microsoft/testfx/pull/9782)
* Distinguish individual parameterized-test instances in Azure DevOps and GitHub Actions slow-test output by @Evangelink in [#9940](https://github.com/microsoft/testfx/pull/9940)
* Include the final exit-code verdict and clearer per-assembly results in GitHub Actions job summaries by @Evangelink in [#9974](https://github.com/microsoft/testfx/pull/9974)
* Send `pipelineReference` (stage, phase and job, with their attempt numbers) and `startedDate` when `--publish-azdo-test-results` creates an Azure DevOps test run, so the run is attributed to the stage and job that produced it in multi-stage pipelines instead of only to the build, by @Evangelink in [#10331](https://github.com/microsoft/testfx/pull/10331)
* Expand OpenTelemetry support with testing semantic conventions, environment-driven configuration, resource detection and spans for MSTest tests and fixtures by @Evangelink in [#10358](https://github.com/microsoft/testfx/pull/10358)
* Publish Azure DevOps retry attempts as sub-results of one logical test result, so a test recovered by retry has the final outcome while retaining its attempt history, by @Evangelink in [#10431](https://github.com/microsoft/testfx/pull/10431)

### Fixed

* Emit Azure DevOps logging commands at column zero from the in-process MSBuild node, so Azure Pipelines recognizes them. Multi-node `dotnet test -m` workers cannot forward these commands because their `Console.Out` output is discarded, by @Evangelink in [#9895](https://github.com/microsoft/testfx/pull/9895)
* Fix artifact merge output paths being corrupted by the file-system case-sensitivity probe by @Evangelink in [#10014](https://github.com/microsoft/testfx/pull/10014)
* Include exception messages, in addition to exception types and stack traces, in JUnit failure and error bodies by @Evangelink in [#10286](https://github.com/microsoft/testfx/pull/10286)
* Make the `InvokeTestingPlatform` MSBuild target set `DOTNET_ROOT_<ARCH>` from `DOTNET_HOST_PATH` when launching a compatible apphost, matching `dotnet test` runtime resolution. Set `TestingPlatformDisableAppHostDotnetRoot` to `true` to opt out; an explicit applicable `TestingPlatformEnvironmentVariable` remains authoritative in [#10408](https://github.com/microsoft/testfx/issues/10408)
* Fix `--report-trx` crashing with `PlatformNotSupportedException` on single-threaded WebAssembly runtimes (`browser-wasm` / `wasi-wasm`): the TRX streaming store now serializes records inline instead of starting a dedicated writer thread and draining a `BlockingCollection<T>` in [#2196](https://github.com/microsoft/testfx/issues/2196)
* Keep the Azure DevOps and GitHub Actions slow-test reporters dormant on single-threaded WebAssembly runtimes instead of attempting to start a background scan loop that cannot run there. `ITask.RunLongRunning` throws `PlatformNotSupportedException` on `browser-wasm` / `wasi-wasm`; the reporter caught and logged it to the diagnostic log, then stayed marked active with no scan loop, so the failure was invisible outside `--diagnostic` in [#2196](https://github.com/microsoft/testfx/issues/2196)
* Report test and session file artifacts through the simplified console output used by `browser-wasm` and `wasi-wasm`, including each artifact's display name and virtual file-system path, in [#10311](https://github.com/microsoft/testfx/issues/10311)
* Fix `Microsoft.Testing.Extensions.AzureDevOpsReport` crashing with `ObjectDisposedException` during teardown, after results were already published, when the platform disposes the live test-results publisher more than once in [#10191](https://github.com/microsoft/testfx/issues/10191)
* Report Azure DevOps live-publishing failures (missing configuration, test run creation, unpublished results, attachment uploads and run finalization) on the output device instead of only in the opt-in diagnostic log, so `--publish-azdo-test-results` no longer fails silently in [#10191](https://github.com/microsoft/testfx/issues/10191)
* Fix `Microsoft.Testing.Extensions.AzureDevOpsReport` throwing `PlatformNotSupportedException` on `browser-wasm` (and `wasi-wasm`): the shared `HttpClient` now only opts into `HttpClientHandler.AutomaticDecompression` where the handler supports it, since `fetch` and `wasi:http` already decode `gzip`/`deflate` responses themselves in [#10313](https://github.com/microsoft/testfx/issues/10313)
* Fix `--report-azdo` faulting the test run with `Could not find solution root, .git not found in ... or any parent directory.` when annotating a failing test from an application that does not run inside a git checkout (a published app, a container, or `browser-wasm`, whose virtual filesystem has no `.git`); the reporter now degrades to a message-only annotation, matching the GitHub Actions reporter in [#10313](https://github.com/microsoft/testfx/issues/10313)
* Fix TRX attachments being silently dropped on .NET Framework when the destination path exceeds the Windows `MAX_PATH` limit. Both per-test `ResultFile` entries and session-level `CollectorDataEntries` attachments (crash dumps, hang dumps and other extension artifacts) could disappear from the report while the run still reported success in [#10312](https://github.com/microsoft/testfx/issues/10312)
* Report attachments that could not be copied into the TRX results directory on the output device instead of only in the `RunInfos` section of the generated TRX in [#10312](https://github.com/microsoft/testfx/issues/10312)
* Fix `--publish-azdo-test-results` creating and completing one Azure DevOps test run per `--retry-failed-tests` attempt instead of one run for the build. The run's lifetime now belongs to the retry orchestrator process, which outlives every attempt: it creates the run once, hands its id to the attempts through the inherited `TESTINGPLATFORM_AZUREDEVOPS_TESTRUNID` variable, and completes it once. Orchestrator processes take part in the existing per-build coordination too, so several test projects sharing a results directory still publish into a single run in [#10360](https://github.com/microsoft/testfx/issues/10360)
* Keep an Azure DevOps test run open while a peer test project that is still running has yet to publish into it. The owner previously gave up after a fixed 30 second grace period, so in a multi-project build a project that finished early could complete the run and make every result the remaining projects sent afterwards be rejected. Participants whose process is provably alive are now waited for, bounded by a hard cap so a leaked process cannot stall a build in [#10360](https://github.com/microsoft/testfx/issues/10360)
* Release what an `ITestHostOrchestratorApplicationLifetime` acquired in `BeforeRunAsync` when the orchestration is canceled or fails. `AfterRunAsync` was only invoked when the orchestrator completed normally, so an Azure DevOps test run created before a cancellation — or before `--retry-failed-tests` rejected server mode or hot reload — was left `InProgress` and never appeared in the build's Tests tab in [#10360](https://github.com/microsoft/testfx/issues/10360)
* Surface the underlying error when the diagnostic log file cannot be created instead of reporting only the follow-on logger failure by @Evangelink in [#10374](https://github.com/microsoft/testfx/pull/10374)

## <a name="2.3.3" />[2.3.3] - 2026-07-28

See full log [of v4.3.2...v4.3.3](https://github.com/microsoft/testfx/compare/v4.3.2...v4.3.3)

### Changed

* Produce portable PDBs for official builds so symbols can be published to symbol servers by @Evangelink in [#10006](https://github.com/microsoft/testfx/pull/10006)

### Fixed

* Restore compatibility with the deprecated MSTest.Engine used by source-generated test projects by @Evangelink in [#9938](https://github.com/microsoft/testfx/pull/9938)
* Regenerate source-generated entry points and extension registrations after the Microsoft.Testing.Platform.MSBuild task assembly is updated by @Evangelink in [#10082](https://github.com/microsoft/testfx/pull/10082)
* Fix VSTestBridge throwing `IndexOutOfRangeException` when a UID after the first starts with a filter operator by @azat-msft in [#9771](https://github.com/microsoft/testfx/pull/9771)
* Prevent diagnostic file-logger shutdown from crashing an otherwise successful test run under thread-pool starvation by @Evangelink in [#9802](https://github.com/microsoft/testfx/pull/9802)
* Fix VSTestBridge interpreting a GUID-shaped fully-qualified test name as a test ID by @Evangelink in [#9794](https://github.com/microsoft/testfx/pull/9794)
* Support comments in `testconfig.json` on .NET Framework by @Evangelink in [#10144](https://github.com/microsoft/testfx/pull/10144)
* Fix `Microsoft.Testing.Extensions.AzureDevOpsReport` crashing during teardown from duplicate data-consumer disposal after a successful test run by @Evangelink in [#10195](https://github.com/microsoft/testfx/pull/10195)

## <a name="2.3.2" />[2.3.2] - 2026-07-13

Servicing release to keep Microsoft.Testing.Platform aligned with the MSTest 4.3.2 release. No functional platform changes beyond the localization updates below.

### Changed

* Update localized resources for the Azure DevOps, GitHub Actions and Retry extensions and terminal output by @Evangelink in [#9847](https://github.com/microsoft/testfx/pull/9847)

### Fixed

* Fix localization placeholder in the GitHub Actions report resources by @Evangelink in [#9891](https://github.com/microsoft/testfx/pull/9891)

## <a name="2.3.1" />[2.3.1] - 2026-07-08

### Fixed

* Fix forward-compat crash (`MissingMethodException`) loading old 2.x extensions (Telemetry, TrxReport, VSTestBridge) on .NET Framework by @Evangelink in [#9739](https://github.com/microsoft/testfx/pull/9739)

## <a name="2.3.0" />[2.3.0] - 2026-07-07

See full log [of v4.2.3...v4.3.0](https://github.com/microsoft/testfx/compare/v4.2.3...v4.3.0)

### Added

* Add --crash-report option to the CrashDump extension by @Copilot in [#8191](https://github.com/microsoft/testfx/pull/8191)
* Support placeholders in --report-trx-filename by @Evangelink in [#8223](https://github.com/microsoft/testfx/pull/8223)
* Stream TRX test results to disk and recover partial TRX on test host crash by @Evangelink in [#8263](https://github.com/microsoft/testfx/pull/8263)
* Add --list-tests json for machine-readable test discovery output by @Evangelink in [#8280](https://github.com/microsoft/testfx/pull/8280)
* Add Microsoft.Testing.Extensions.HtmlReport extension by @Evangelink in [#8283](https://github.com/microsoft/testfx/pull/8283)
* Add live Azure DevOps test result publishing by @Evangelink in [#8297](https://github.com/microsoft/testfx/pull/8297)
* Add Microsoft.Testing.Extensions.Logging bridge to Microsoft.Extensions.Logging by @Evangelink in [#8344](https://github.com/microsoft/testfx/pull/8344)
* Add new diagnostic env var names matching renamed CLI options by @Evangelink in [#8388](https://github.com/microsoft/testfx/pull/8388)
* Support environmentVariables section in testconfig.json by @Evangelink in [#8391](https://github.com/microsoft/testfx/pull/8391)
* Allow paths in --report-trx-filename by @Evangelink in [#8406](https://github.com/microsoft/testfx/pull/8406)
* Add --ansi &lt;auto|on|off&gt; CLI option for explicit ANSI control by @Evangelink in [#8493](https://github.com/microsoft/testfx/pull/8493)
* Add --crash-sequence option to MTP CrashDump extension by @Evangelink in [#8526](https://github.com/microsoft/testfx/pull/8526)
* Add two-stage Ctrl+C cancellation UX by @Evangelink in [#8581](https://github.com/microsoft/testfx/pull/8581)
* Add TestInProgressMessages IPC for dotnet test active-test rendering by @Evangelink in [#8652](https://github.com/microsoft/testfx/pull/8652)
* Read CLI options from testconfig.json via IConfiguration by @Evangelink in [#8664](https://github.com/microsoft/testfx/pull/8664)
* Add --crash-report-if-supported and --hangdump-type-if-supported options by @Evangelink in [#8666](https://github.com/microsoft/testfx/pull/8666)
* Suppress banner and default stdout/stderr to `failed` in LLM environments by @Evangelink in [#8771](https://github.com/microsoft/testfx/pull/8771)
* Add AzDO summary, progress and stack-frame filter options (#5951 item 4) by @Evangelink in [#8778](https://github.com/microsoft/testfx/pull/8778)
* Add Azure DevOps result-level attachments and run-level coverage upload by @Evangelink in [#8782](https://github.com/microsoft/testfx/pull/8782)
* Add Microsoft.Testing.Extensions.JUnitReport extension by @Evangelink in [#8850](https://github.com/microsoft/testfx/pull/8850)
* Add Microsoft.Testing.Extensions.CtrfReport extension (CTRF reporter) by @Evangelink in [#8903](https://github.com/microsoft/testfx/pull/8903)
* Add --progress {auto|on|off} and deprecate --no-progress in MTP terminal reporter by @Evangelink in [#9145](https://github.com/microsoft/testfx/pull/9145)
* Add silence-driven progress heartbeat for SimpleAnsi/NoAnsi output modes by @Evangelink in [#9147](https://github.com/microsoft/testfx/pull/9147)
* Add Azure DevOps per-assembly log groups by @Evangelink in [#9177](https://github.com/microsoft/testfx/pull/9177)
* Add Azure DevOps history-driven slow-test threshold enricher by @Evangelink in [#9182](https://github.com/microsoft/testfx/pull/9182)
* Handshake from the test host orchestrator in the dotnet test pipe protocol, advertising the orchestration feature (e.g. retry) by @Copilot in [#9215](https://github.com/microsoft/testfx/pull/9215)
* Add --zero-tests-policy &lt;allow-skipped|strict&gt; and make 'allow-skipped' the default so an all-skipped run no longer fails with exit code 8 (use 'strict' for the previous behavior) by @Evangelink in [#9415](https://github.com/microsoft/testfx/pull/9415)
* Add testconfig.json JSON schema for SchemaStore publication and IDE validation by @Evangelink in [#9405](https://github.com/microsoft/testfx/pull/9405)
* Add experimental `IBlockingDataConsumer` marker interface for synchronous inline data consumption by @Evangelink in [#9426](https://github.com/microsoft/testfx/pull/9426)
* Add experimental `Microsoft.Testing.Extensions.VideoRecorder` extension for screen recording during test runs (requires ffmpeg; `--capture-video` opt-in) by @Evangelink in [#9377](https://github.com/microsoft/testfx/pull/9377)
* Add experimental `ITestHostLauncher` extension point and `Microsoft.Testing.Extensions.PackagedApp` reference extension for packaged app test host deployment by @Evangelink in [#9454](https://github.com/microsoft/testfx/pull/9454)
* Forward Azure DevOps logging commands over the dotnet test pipe for multi-assembly test runs by @Evangelink in [#9463](https://github.com/microsoft/testfx/pull/9463)
* Add `PropertyBag.FirstOrDefault<TProperty>()` for efficient single-property lookup without per-call array allocation by @Evangelink in [#9488](https://github.com/microsoft/testfx/pull/9488)
* Add experimental `Microsoft.Testing.Extensions.GitHubActionsReport` extension emitting GitHub Actions workflow commands (per-assembly log groups, failure annotations, job summary, slow-test notices) by @azat-msft in [#9541](https://github.com/microsoft/testfx/pull/9541)
* Emit `::warning` annotations for skipped tests in `Microsoft.Testing.Extensions.GitHubActionsReport` by @Evangelink in [#9641](https://github.com/microsoft/testfx/pull/9641)
* Let an explicit `--minimum-expected-tests N` govern the zero-tests verdict, so a run of fewer than N tests reports the minimum-expected violation (exit code 9) instead of "zero tests ran" (exit code 8) even when no tests ran. This lets a `dotnet test --test-modules` orchestrator tell a stricter local-minimum violation apart from an empty module (#7457) by @Copilot in [#9709](https://github.com/microsoft/testfx/pull/9709)

### Fixed

* Clarify TreeNodeFilter OR-pattern diagnostics for unsupported parenthesized full-path expressions by @Evangelink in [#7415](https://github.com/microsoft/testfx/pull/7415)
* Fix TRX result attachment layout to include per-test relative results directory by @Copilot in [#8188](https://github.com/microsoft/testfx/pull/8188)
* Prevent telemetry host termination on boolean MSTest setting payloads by @Copilot in [#8189](https://github.com/microsoft/testfx/pull/8189)
* Avoid duplicate async cleanup for test host lifecycle callbacks by @Copilot in [#8254](https://github.com/microsoft/testfx/pull/8254)
* Include full command line in MTP validation errors by @Copilot in [#8255](https://github.com/microsoft/testfx/pull/8255)
* Stop forcing verbose createdump diagnostics in CrashDump extension by @Evangelink in [#8350](https://github.com/microsoft/testfx/pull/8350)
* Fix HangDump GetParentPidLinux mis-parsing /proc/&lt;pid&gt;/stat when comm contains spaces by @Evangelink in [#8381](https://github.com/microsoft/testfx/pull/8381)
* Fix RetryOrchestrator leaking CancellationTokenSource and Process.Exited handler per attempt by @Evangelink in [#8382](https://github.com/microsoft/testfx/pull/8382)
* Report unclosed quotes in response files by @Copilot in [#8448](https://github.com/microsoft/testfx/pull/8448)
* Reject negative minimum expected test counts by @Copilot in [#8450](https://github.com/microsoft/testfx/pull/8450)
* Preserve supplementary Unicode in TRX reports by @Copilot in [#8451](https://github.com/microsoft/testfx/pull/8451)
* Validate retry option numeric ranges by @Copilot in [#8494](https://github.com/microsoft/testfx/pull/8494)
* Reject negative timeout values during command-line validation by @Copilot in [#8496](https://github.com/microsoft/testfx/pull/8496)
* Validate client port range during command-line parsing by @Copilot in [#8497](https://github.com/microsoft/testfx/pull/8497)
* Fail on conflicting TestingPlatformBuilderHook IDs by @Copilot in [#8508](https://github.com/microsoft/testfx/pull/8508)
* Fix HangDump artifact paths for Windows directories with spaces by @Copilot in [#8513](https://github.com/microsoft/testfx/pull/8513)
* Fix AzureDevOpsReport suppressing failures without reporting stack frame by @Copilot in [#8525](https://github.com/microsoft/testfx/pull/8525)
* Fix InvalidOperationException in BuildServerTestHostAsync when telemetry is enabled by @Evangelink in [#8553](https://github.com/microsoft/testfx/pull/8553)
* Add \[UnsupportedOSPlatform("wasi")] to HangDump / Console / Process surface by @Evangelink in [#8564](https://github.com/microsoft/testfx/pull/8564)
* Use args passed to CreateBuilderAsync in GetCurrentExecutableInfo by @Evangelink in [#8570](https://github.com/microsoft/testfx/pull/8570)
* Improve diagnostic logging across MTP crash and IPC paths by @Evangelink in [#8584](https://github.com/microsoft/testfx/pull/8584)
* IPC: handle disconnects and protocol corruption gracefully by @Evangelink in [#8602](https://github.com/microsoft/testfx/pull/8602)
* Reject invalid runId in JSON-RPC requests with InvalidParams error by @Evangelink in [#8665](https://github.com/microsoft/testfx/pull/8665)
* Make AOT-incompatible code paths a no-op at runtime in MTP/Native AOT mode by @Evangelink in [#8688](https://github.com/microsoft/testfx/pull/8688)
* Strip --minimum-expected-tests on retry attempts in RetryOrchestrator by @Evangelink in [#8719](https://github.com/microsoft/testfx/pull/8719)
* Honor NO_COLOR env var in TerminalOutputDevice by @Evangelink in [#8831](https://github.com/microsoft/testfx/pull/8831)
* Auto-promote scalar JSON values for arg-bearing CLI options (fixes #8830) by @Evangelink in [#8836](https://github.com/microsoft/testfx/pull/8836)
* Use deterministic `<asm>_<tfm>_<arch>` default for report and log file names by @Evangelink in [#8971](https://github.com/microsoft/testfx/pull/8971)
* Remove non-conforming top-level 'code' from JSON-RPC error envelope by @Evangelink in [#9050](https://github.com/microsoft/testfx/pull/9050)
* Flag bootstrap-only CLI options when set in testconfig.json by @Evangelink in [#9055](https://github.com/microsoft/testfx/pull/9055)
* Fix report file-name collision between net8.0 and net8.0-windows builds by @Evangelink in [#9121](https://github.com/microsoft/testfx/pull/9121)
* Harden report TFM resolution for custom/non-OS platforms (browserwasm) by @Evangelink in [#9137](https://github.com/microsoft/testfx/pull/9137)
* Fix --list-tests json output under --server mode by streaming discovered tests to the SDK over the dotnet-test pipe by @Evangelink in [#9192](https://github.com/microsoft/testfx/pull/9192)
* Make AzureDevOps summary report file name unique per assembly by @Evangelink in [#9264](https://github.com/microsoft/testfx/pull/9264)
* Fix `--treenode-filter` + `--filter-uid` mutual exclusion: validated during command-line validation (proper `InvalidCommandLine` exit code) instead of a late `NotSupportedException`; documentation gaps for the `!` NOT operator and property-filter semantics addressed by @Evangelink in [#9458](https://github.com/microsoft/testfx/pull/9458)

### Artifacts

* Microsoft.Testing.Platform: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.3.0)
* Microsoft.Testing.Platform.MSBuild: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.3.0)
* Microsoft.Testing.Extensions.AzureDevOpsReport: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/2.3.0)
* Microsoft.Testing.Extensions.CrashDump: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.3.0)
* Microsoft.Testing.Extensions.HangDump: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.3.0)
* Microsoft.Testing.Extensions.HotReload: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.3.0)
* Microsoft.Testing.Extensions.HtmlReport: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HtmlReport/2.3.0)
* Microsoft.Testing.Extensions.Retry: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.3.0)
* Microsoft.Testing.Extensions.Telemetry: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.3.0)
* Microsoft.Testing.Extensions.TrxReport: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.3.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.3.0)
* Microsoft.Testing.Extensions.VSTestBridge: [2.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/2.3.0)
* Microsoft.Testing.Extensions.CtrfReport: [1.0.0-alpha.26357.13](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CtrfReport/1.0.0-alpha.26357.13)
* Microsoft.Testing.Extensions.GitHubActionsReport: [1.0.0-alpha.26357.13](https://www.nuget.org/packages/Microsoft.Testing.Extensions.GitHubActionsReport/1.0.0-alpha.26357.13)
* Microsoft.Testing.Extensions.JUnitReport: [1.0.0-alpha.26357.13](https://www.nuget.org/packages/Microsoft.Testing.Extensions.JUnitReport/1.0.0-alpha.26357.13)
* Microsoft.Testing.Extensions.Logging: [1.0.0-alpha.26357.13](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Logging/1.0.0-alpha.26357.13)
* Microsoft.Testing.Extensions.PackagedApp: [1.0.0-alpha.26357.13](https://www.nuget.org/packages/Microsoft.Testing.Extensions.PackagedApp/1.0.0-alpha.26357.13)
* Microsoft.Testing.Extensions.VideoRecorder: [1.0.0-alpha.26357.13](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VideoRecorder/1.0.0-alpha.26357.13)

## <a name="2.2.3" />[2.2.3] - 2026-05-14

See full log [of v4.2.2...v4.2.3](https://github.com/microsoft/testfx/compare/v4.2.2...v4.2.3)

### Artifacts

* Microsoft.Testing.Platform: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.2.3)
* Microsoft.Testing.Platform.MSBuild: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.2.3)
* Microsoft.Testing.Extensions.CrashDump: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.2.3)
* Microsoft.Testing.Extensions.HangDump: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.2.3)
* Microsoft.Testing.Extensions.HotReload: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.2.3)
* Microsoft.Testing.Extensions.Retry: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.2.3)
* Microsoft.Testing.Extensions.Telemetry: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.2.3)
* Microsoft.Testing.Extensions.TrxReport: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.2.3)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.2.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.2.3)

## <a name="2.2.2" />[2.2.2] - 2026-04-30

See full log [of v4.2.1...v4.2.2](https://github.com/microsoft/testfx/compare/v4.2.1...v4.2.2)

### Artifacts

* Microsoft.Testing.Platform: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.2.2)
* Microsoft.Testing.Platform.MSBuild: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.2.2)
* Microsoft.Testing.Extensions.CrashDump: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.2.2)
* Microsoft.Testing.Extensions.HangDump: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.2.2)
* Microsoft.Testing.Extensions.HotReload: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.2.2)
* Microsoft.Testing.Extensions.Retry: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.2.2)
* Microsoft.Testing.Extensions.Telemetry: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.2.2)
* Microsoft.Testing.Extensions.TrxReport: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.2.2)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.2.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.2.2)

## <a name="2.2.1" />[2.2.1] - 2026-04-07

See full log [of v4.1.0...v4.2.1](https://github.com/microsoft/testfx/compare/v4.1.0...v4.2.1)

### Added

* Open up orchestrator experimentally by @Evangelink in [#7409](https://github.com/microsoft/testfx/pull/7409)
* Display TFM and test name in Azure DevOps report by @Evangelink in [#7412](https://github.com/microsoft/testfx/pull/7412)
* Print out-of-process artifacts by @Youssef1313 in [#7534](https://github.com/microsoft/testfx/pull/7534)
* Add `--show-stdout` and `--show-stderr` command-line options by @Youssef1313 in [#7637](https://github.com/microsoft/testfx/pull/7637)
* Stabilize StdOut/StdErr MTP properties by @Youssef1313 in [#7640](https://github.com/microsoft/testfx/pull/7640)
* Avoid ANSI and progress output when running in LLM environment by @Youssef1313 in [#7649](https://github.com/microsoft/testfx/pull/7649)

### Fixed

* Fix cursor positioning when Console.BufferWidth exceeds Console.WindowWidth by @Copilot in [#7305](https://github.com/microsoft/testfx/pull/7305)
* HangDump should trigger even after test session finish by @Youssef1313 in [#7392](https://github.com/microsoft/testfx/pull/7392)
* Make tracing environment variable case insensitive by @Evangelink in [#7407](https://github.com/microsoft/testfx/pull/7407)
* Ensure post-session display runs after cancellation by @Evangelink in [#7410](https://github.com/microsoft/testfx/pull/7410)
* Fix TestMethod/name value in generated TRX by @Youssef1313 in [#7491](https://github.com/microsoft/testfx/pull/7491)
* Fix ArgumentException in `TestApplicationResult.ConsumeAsync` by @Youssef1313 in [#7496](https://github.com/microsoft/testfx/pull/7496)
* Fix MTP TRX handling of result files by @Youssef1313 in [#7516](https://github.com/microsoft/testfx/pull/7516)
* Guard MTP test targets with `IsTestingPlatformApplication` to prevent interference with VSTest projects by @Copilot in [#7539](https://github.com/microsoft/testfx/pull/7539)
* Fix test definition names in TRX to correspond to test case display names by @Youssef1313 in [#7595](https://github.com/microsoft/testfx/pull/7595)
* Avoid IndexOutOfRangeException in command-line parsing by @Youssef1313 in [#7648](https://github.com/microsoft/testfx/pull/7648)
* Fix TRX fully qualified type name to use TestMethodIdentifierProperty by @Youssef1313 in [#7650](https://github.com/microsoft/testfx/pull/7650)

### Changed

* Use the actual process exit code instead of IPC TestHostProcessExitRequest by @Youssef1313 in [#7430](https://github.com/microsoft/testfx/pull/7430)
* Improve ordering of `ITestSessionLifetimeHandler.OnTestSessionFinishingAsync` by @Youssef1313 in [#7520](https://github.com/microsoft/testfx/pull/7520)
* Make MSBuild extension more strict by @Youssef1313 in [#7525](https://github.com/microsoft/testfx/pull/7525)

### Artifacts

* Microsoft.Testing.Platform: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.2.1)
* Microsoft.Testing.Platform.MSBuild: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.2.1)
* Microsoft.Testing.Extensions.CrashDump: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.2.1)
* Microsoft.Testing.Extensions.HangDump: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.2.1)
* Microsoft.Testing.Extensions.HotReload: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.2.1)
* Microsoft.Testing.Extensions.Retry: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.2.1)
* Microsoft.Testing.Extensions.Telemetry: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.2.1)
* Microsoft.Testing.Extensions.TrxReport: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.2.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.2.1)
* Microsoft.Testing.Extensions.VSTestBridge: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/2.2.1)
* Microsoft.Testing.Extensions.AzureDevOpsReport: [2.2.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/2.2.1)
* Microsoft.Testing.Platform.AI: [1.0.0-alpha.26202.7](https://www.nuget.org/packages/Microsoft.Testing.Platform.AI/1.0.0-alpha.26202.7)
* Microsoft.Testing.Extensions.AzureFoundry: [1.0.0-alpha.26202.7](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureFoundry/1.0.0-alpha.26202.7)
* Microsoft.Testing.Extensions.OpenTelemetry: [1.0.0-alpha.26202.7](https://www.nuget.org/packages/Microsoft.Testing.Extensions.OpenTelemetry/1.0.0-alpha.26202.7)

## <a name="2.1.0" />[2.1.0] - 2026-02-03

See full log [of v4.0.2...v4.1.0](https://github.com/microsoft/testfx/compare/v4.0.2...v4.1.0)

### Added

* Add AI support to the `Microsoft.Testing.Platform` by @MarcoRossignoli in [#6777](https://github.com/microsoft/testfx/pull/6777)
  * this is currently a prototype only.
* Avoid BlockingCollection in AsyncConsumerDataProcessor by @Youssef1313 in [#6887](https://github.com/microsoft/testfx/pull/6887)
* \[MTP] Add initial support for OTel by @Evangelink in [#6511](https://github.com/microsoft/testfx/pull/6511)
* Remove experimental attr from NopFilter by @mariam-abdulla in [#7169](https://github.com/microsoft/testfx/pull/7169)
* Obsolete AddTestSessionLifetimeHandle in favor of AddTestSessionLifetimeHandler by @Youssef1313 in [#7200](https://github.com/microsoft/testfx/pull/7200)
* Allow none for --hangdump-type by @Youssef1313 in [#7213](https://github.com/microsoft/testfx/pull/7213)

### Fixed

* VSTestBridge: Don't add TRX properties when TRX not enabled by @Youssef1313 in [#6872](https://github.com/microsoft/testfx/pull/6872)
* Obsolete CancelledTestNodeStateProperty by @Copilot in [#6828](https://github.com/microsoft/testfx/pull/6828)
* Fix hangdump not working under dotnet test with .NET 10 SDK by @Copilot in [#6968](https://github.com/microsoft/testfx/pull/6968)
* Remove incorrect DefaultHangTimeSpanTimeout in HangDumpActivityIndicator by @Youssef1313 in [#7006](https://github.com/microsoft/testfx/pull/7006)
* Fix hangdump on macOS by @Youssef1313 in [#7005](https://github.com/microsoft/testfx/pull/7005)
* Include test display name in AzDO error reports by @Copilot in [#7026](https://github.com/microsoft/testfx/pull/7026)
* Fix race in HangDumpProcessLifetimeHandler for pipe server field read/write by @Youssef1313 in [#7048](https://github.com/microsoft/testfx/pull/7048)
* Fix MTP command-line parsing by @Youssef1313 in [#7044](https://github.com/microsoft/testfx/pull/7044)
* Fix TRX not produced under `dotnet test` when using `--crashdump` and crash happens by @Copilot in [#7040](https://github.com/microsoft/testfx/pull/7040)
* Fix: runsettings environment variables ignored during test discovery by @Copilot in [#7078](https://github.com/microsoft/testfx/pull/7078)
* Fix Jsonite implementation to handle surrogates correctly by @Youssef1313 in [#7201](https://github.com/microsoft/testfx/pull/7201)
* Fix MTP Trx handling of the final outcome by @Youssef1313 in [#7234](https://github.com/microsoft/testfx/pull/7234)
* Avoid duplicating exception message when running with dotnet test by @Youssef1313 in [#7250](https://github.com/microsoft/testfx/pull/7250)
* Disable progress on non-capable terminals by @Youssef1313 in [#7248](https://github.com/microsoft/testfx/pull/7248)
* Report discovered telemetry events correctly for MTP by @Youssef1313 in [#7219](https://github.com/microsoft/testfx/pull/7219)

### Housekeeping

* Cleanup TestApplication by @Youssef1313 in [#6728](https://github.com/microsoft/testfx/pull/6728)
* Cleanup Dispose implementations by @Youssef1313 in [#6730](https://github.com/microsoft/testfx/pull/6730)
* Clarify --retry-failed-tests requires a numeric argument by @Copilot in [#6830](https://github.com/microsoft/testfx/pull/6830)
* Cleanup vstest.TestCase.StandardError/vstest.TestCase.StandardOutput by @Youssef1313 in [#6870](https://github.com/microsoft/testfx/pull/6870)

### Artifacts

* Microsoft.Testing.Platform: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.1.0)
* Microsoft.Testing.Platform.MSBuild: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.1.0)
* Microsoft.Testing.Extensions.CrashDump: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.1.0)
* Microsoft.Testing.Extensions.HangDump: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.1.0)
* Microsoft.Testing.Extensions.HotReload: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.1.0)
* Microsoft.Testing.Extensions.Retry: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.1.0)
* Microsoft.Testing.Extensions.Telemetry: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.1.0)
* Microsoft.Testing.Extensions.TrxReport: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.1.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.1.0)
* Microsoft.Testing.Extensions.VSTestBridge: [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/2.1.0)
* Microsoft.Testing.Extensions.AzureDevOpsReport [2.1.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/2.1.0)
* Microsoft.Testing.Platform.AI: [1.0.0-alpha.26103.11](https://www.nuget.org/packages/Microsoft.Testing.Platform.AI/1.0.0-alpha.26103.11)
* Microsoft.Testing.Extensions.AzureFoundry: [1.0.0-alpha.26103.11](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureFoundry/1.0.0-alpha.26103.11)
* Microsoft.Testing.Extensions.OpenTelemetry: [1.0.0-alpha.26103.11](https://www.nuget.org/packages/Microsoft.Testing.Extensions.OpenTelemetry/1.0.0-alpha.26103.11)

## <a name="2.0.2" />[2.0.2] - 2025-11-11

See full log [of v4.0.1...v4.0.2](https://github.com/microsoft/testfx/compare/v4.0.1...v4.0.2)

* No change, released to keep version aligned with MSTest.

### Artifacts

* Microsoft.Testing.Platform: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.0.2)
* Microsoft.Testing.Platform.MSBuild: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.0.2)
* Microsoft.Testing.Extensions.CrashDump: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.0.2)
* Microsoft.Testing.Extensions.HangDump: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.0.2)
* Microsoft.Testing.Extensions.HotReload: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.0.2)
* Microsoft.Testing.Extensions.Retry: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.0.2)
* Microsoft.Testing.Extensions.Telemetry: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.0.2)
* Microsoft.Testing.Extensions.TrxReport: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.0.2)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.0.2)
* Microsoft.Testing.Extensions.VSTestBridge: [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/2.0.2)
* Microsoft.Testing.Extensions.AzureDevOpsReport [2.0.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/2.0.2)

## <a name="2.0.1" />[2.0.1] - 2025-10-14

See full log [of v4.0.0...v4.0.1](https://github.com/microsoft/testfx/compare/v4.0.0...v4.0.1)

### Fixed

* Fix _MTPTestTarget condition by @Youssef1313 in [#6672](https://github.com/microsoft/testfx/pull/6672)

### Artifacts

* Microsoft.Testing.Platform: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.0.1)
* Microsoft.Testing.Platform.MSBuild: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.0.1)
* Microsoft.Testing.Extensions.CrashDump: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.0.1)
* Microsoft.Testing.Extensions.HangDump: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.0.1)
* Microsoft.Testing.Extensions.HotReload: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.0.1)
* Microsoft.Testing.Extensions.Retry: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.0.1)
* Microsoft.Testing.Extensions.Telemetry: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.0.1)
* Microsoft.Testing.Extensions.TrxReport: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.0.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.0.1)
* Microsoft.Testing.Extensions.VSTestBridge: [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/2.0.1)
* Microsoft.Testing.Extensions.AzureDevOpsReport [2.0.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/2.0.1)

## <a name="2.0.0" />[2.0.0] - 2025-10-07

See full log [of v3.11.0...v4.0.0](https://github.com/microsoft/testfx/compare/v3.11.0...v4.0.0)

### Changed

* Breaking changes: see <https://github.com/microsoft/testfx/issues/5762> for information.

### Artifacts

* Microsoft.Testing.Platform: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/2.0.0)
* Microsoft.Testing.Platform.MSBuild: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/2.0.0)
* Microsoft.Testing.Extensions.CrashDump: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/2.0.0)
* Microsoft.Testing.Extensions.HangDump: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/2.0.0)
* Microsoft.Testing.Extensions.HotReload: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/2.0.0)
* Microsoft.Testing.Extensions.Retry: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/2.0.0)
* Microsoft.Testing.Extensions.Telemetry: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/2.0.0)
* Microsoft.Testing.Extensions.TrxReport: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/2.0.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/2.0.0)
* Microsoft.Testing.Extensions.VSTestBridge: [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/2.0.0)
* Microsoft.Testing.Extensions.AzureDevOpsReport [2.0.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/2.0.0)

## <a name="1.9.1" />[1.9.1] - 2025-11-11

See full log [of v4.0.1...v4.0.2](https://github.com/microsoft/testfx/compare/v4.0.1...v4.0.2)

* No change, released to keep version aligned with MSTest.

### Artifacts

* Microsoft.Testing.Platform: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.9.1)
* Microsoft.Testing.Platform.MSBuild: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.9.1)
* Microsoft.Testing.Extensions.CrashDump: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.9.1)
* Microsoft.Testing.Extensions.HangDump: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.9.1)
* Microsoft.Testing.Extensions.HotReload: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.9.1)
* Microsoft.Testing.Extensions.Retry: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.9.1)
* Microsoft.Testing.Extensions.Telemetry: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.9.1)
* Microsoft.Testing.Extensions.TrxReport: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.9.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.9.1)
* Microsoft.Testing.Extensions.VSTestBridge: [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.9.1)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.9.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.9.1)

## <a name="1.9.0" />[1.9.0] - 2025-10-01

See full log [of v3.10.5...v3.11.0](https://github.com/microsoft/testfx/compare/v3.10.5...v3.11.0)

### Added

* Make azdo extension stable by @Evangelink in [#6252](https://github.com/microsoft/testfx/pull/6252)
* Cleanup TerminalTestReporter by @Evangelink in [#6281](https://github.com/microsoft/testfx/pull/6281)
* Add missing pipe protocol features by @Youssef1313 in [#6342](https://github.com/microsoft/testfx/pull/6342) and [#6564](https://github.com/microsoft/testfx/pull/6564)
* Add `--debug` option to MTP by @Evangelink in [#6499](https://github.com/microsoft/testfx/pull/6499) and [#6516](https://github.com/microsoft/testfx/pull/6516)
* Dump child process on hang by @nohwnd in [#6574](https://github.com/microsoft/testfx/pull/6574)
* \[MTP] Support Trx Description by @Youssef1313 in [#6464](https://github.com/microsoft/testfx/pull/6464)
* \[MTP] Warn when VSTest arguments are passed via dotnet test when they will be ignored by @Copilot in #5698 (backport to rel/3.11) by @youssef-backport-bot in [#6634](https://github.com/microsoft/testfx/pull/6634)

### Fixed

* Fix terminal reporter when architecture is null by @Evangelink in [#6284](https://github.com/microsoft/testfx/pull/6284)
* Fix escape character handling in test display names with multi-target framework optimization by @Copilot in [#6174](https://github.com/microsoft/testfx/pull/6174)
* Fix handshake serialization if properties dictionary is null or empty by @Youssef1313 in [#6532](https://github.com/microsoft/testfx/pull/6532)
* Implement discovery indicator fixes - show neutral progress colors and error for zero tests by @Copilot in [#6579](https://github.com/microsoft/testfx/pull/6579)
* Add localized resource strings for TerminalTestReporter summary output by @Copilot in [#6602](https://github.com/microsoft/testfx/pull/6602)
* Add DiagnosticSource 6.0.0 to MTP telemetry by @Youssef1313 in [#6638](https://github.com/microsoft/testfx/pull/6638)
* Avoid unnecessary `List<string>` allocations in ObjectModelConverters by @Youssef1313 in [#6396](https://github.com/microsoft/testfx/pull/6396)

### Housekeeping

* Remove unused JsonRpc protocol properties by @Youssef1313 in [#6395](https://github.com/microsoft/testfx/pull/6395)
* Rename ReadShort and WriteShort to ReadUShort and WriteUShort by @Youssef1313 in [#6530](https://github.com/microsoft/testfx/pull/6530)

### Artifacts

* Microsoft.Testing.Platform: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.9.0)
* Microsoft.Testing.Platform.MSBuild: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.9.0)
* Microsoft.Testing.Extensions.CrashDump: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.9.0)
* Microsoft.Testing.Extensions.HangDump: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.9.0)
* Microsoft.Testing.Extensions.HotReload: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.9.0)
* Microsoft.Testing.Extensions.Retry: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.9.0)
* Microsoft.Testing.Extensions.Telemetry: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.9.0)
* Microsoft.Testing.Extensions.TrxReport: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.9.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.9.0)
* Microsoft.Testing.Extensions.VSTestBridge: [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.9.0)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.9.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.9.0)

## <a name="1.8.5" />[1.8.5] - 2025-09-30

See full log [of v3.10.4...v3.10.5](https://github.com/microsoft/testfx/compare/v3.10.4...v3.10.5)

### Fixed

* Avoid long path issues for pipes by @Youssef1313 in [#6536](https://github.com/microsoft/testfx/pull/6536)
* Clean TestProgressState on TestExecutionCompleted to fix HotReload by @Youssef1313 in [#6505](https://github.com/microsoft/testfx/pull/6551)

### Artifacts

* Microsoft.Testing.Platform: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.8.5)
* Microsoft.Testing.Platform.MSBuild: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.8.5)
* Microsoft.Testing.Extensions.CrashDump: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.8.5)
* Microsoft.Testing.Extensions.HangDump: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.8.5)
* Microsoft.Testing.Extensions.HotReload: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.8.5)
* Microsoft.Testing.Extensions.Retry: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.8.5)
* Microsoft.Testing.Extensions.Telemetry: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.8.5)
* Microsoft.Testing.Extensions.TrxReport: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.8.5)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.8.5)
* Microsoft.Testing.Extensions.VSTestBridge: [1.8.5](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.8.5)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25480.6](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25480.6)

## <a name="1.8.4" />[1.8.4] - 2025-09-02

See full log [of v3.10.3...v3.10.4](https://github.com/microsoft/testfx/compare/v3.10.3...v3.10.4)

### Fixed

* Fix command-line arguments escaping when retry and test host controllers start child processes by @Youssef1313 in [#6462](https://github.com/microsoft/testfx/pull/6462)
* Don't keep MTP process alive if pipe disconnects by @Youssef1313 in [#6477](https://github.com/microsoft/testfx/pull/6477)

### Artifacts

* Microsoft.Testing.Platform: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.8.4)
* Microsoft.Testing.Platform.MSBuild: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.8.4)
* Microsoft.Testing.Extensions.CrashDump: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.8.4)
* Microsoft.Testing.Extensions.HangDump: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.8.4)
* Microsoft.Testing.Extensions.HotReload: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.8.4)
* Microsoft.Testing.Extensions.Retry: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.8.4)
* Microsoft.Testing.Extensions.Telemetry: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.8.4)
* Microsoft.Testing.Extensions.TrxReport: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.8.4)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.8.4)
* Microsoft.Testing.Extensions.VSTestBridge: [1.8.4](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.8.4)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25452.8](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25452.8)

## <a name="1.8.3" />[1.8.3] - 2025-08-26

See full log [of v3.10.2...v3.10.3](https://github.com/microsoft/testfx/compare/v3.10.2...v3.10.3)

### Fixed

* Unify reading runsettings by @Youssef1313 in [#6434](https://github.com/microsoft/testfx/pull/6434)

### Artifacts

* Microsoft.Testing.Platform: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.8.3)
* Microsoft.Testing.Platform.MSBuild: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.8.3)
* Microsoft.Testing.Extensions.CrashDump: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.8.3)
* Microsoft.Testing.Extensions.HangDump: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.8.3)
* Microsoft.Testing.Extensions.HotReload: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.8.3)
* Microsoft.Testing.Extensions.Retry: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.8.3)
* Microsoft.Testing.Extensions.Telemetry: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.8.3)
* Microsoft.Testing.Extensions.TrxReport: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.8.3)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.8.3)
* Microsoft.Testing.Extensions.VSTestBridge: [1.8.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.8.3)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25425.9](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25425.9)

## <a name="1.8.2" />[1.8.2] - 2025-08-12

See full log [of v3.10.1...v3.10.2](https://github.com/microsoft/testfx/compare/v3.10.1...v3.10.2)

* No change, released to keep version aligned with MSTest.

### Artifacts

* Microsoft.Testing.Platform: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.8.2)
* Microsoft.Testing.Platform.MSBuild: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.8.2)
* Microsoft.Testing.Extensions.CrashDump: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.8.2)
* Microsoft.Testing.Extensions.HangDump: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.8.2)
* Microsoft.Testing.Extensions.HotReload: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.8.2)
* Microsoft.Testing.Extensions.Retry: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.8.2)
* Microsoft.Testing.Extensions.Telemetry: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.8.2)
* Microsoft.Testing.Extensions.TrxReport: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.8.2)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.8.2)
* Microsoft.Testing.Extensions.VSTestBridge: [1.8.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.8.2)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25411.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25411.2)

## <a name="1.8.1" />[1.8.1] - 2025-08-05

See full log [of v3.10.0...v3.10.1](https://github.com/microsoft/testfx/compare/v3.10.0...v3.10.1)

* No change, released to keep version aligned with MSTest.

### Artifacts

* Microsoft.Testing.Platform: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.8.1)
* Microsoft.Testing.Platform.MSBuild: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.8.1)
* Microsoft.Testing.Extensions.CrashDump: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.8.1)
* Microsoft.Testing.Extensions.HangDump: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.8.1)
* Microsoft.Testing.Extensions.HotReload: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.8.1)
* Microsoft.Testing.Extensions.Retry: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.8.1)
* Microsoft.Testing.Extensions.Telemetry: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.8.1)
* Microsoft.Testing.Extensions.TrxReport: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.8.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.8.1)
* Microsoft.Testing.Extensions.VSTestBridge: [1.8.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.8.1)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25405.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25405.1)

## <a name="1.8.0" />[1.8.0] - 2025-07-29

See full log [of v3.9.3...v3.10.0](https://github.com/microsoft/testfx/compare/v3.9.3...v3.10.0)

### Added

* Enable filtering with `TestMetadataProperty` in the treenode filter by @thomhurst in [#5679](https://github.com/microsoft/testfx/pull/5679)
* Show colors in AzDo and GH actions by @nohwnd in [#5535](https://github.com/microsoft/testfx/pull/5535)
* Handle metadata properties in TrxReport by @Youssef1313 in [#5891](https://github.com/microsoft/testfx/pull/5891)
* Obsolete `ITestApplicationLifecycleCallbacks` and add `ITestHostApplicationLifetime` by @Youssef1313 in [#5889](https://github.com/microsoft/testfx/pull/5889)
* Fix TrxReport not including test ignore reason by @Youssef1313 in [#5896](https://github.com/microsoft/testfx/pull/5896)
* Support `--filter-uid` on console by @Youssef1313 in [#6002](https://github.com/microsoft/testfx/pull/6002)
* Support unary not operator in TreeNodeFilter by @Youssef1313 in [#6127](https://github.com/microsoft/testfx/pull/6127)

### Fixed

* Fix MTP timeout parsing to use invariant culture instead of current culture by @Copilot in [#5705](https://github.com/microsoft/testfx/pull/5705)
* Add lifecycle callbacks to test host orchestrator by @Youssef1313 in [#5717](https://github.com/microsoft/testfx/pull/5717)
* Avoid potential clash with default TRX file name by @Youssef1313 in [#5939](https://github.com/microsoft/testfx/pull/5939)
* Ensure TestRun id for retries is the same in TRX by @Youssef1313 in [#5945](https://github.com/microsoft/testfx/pull/5945)
* Do not create TestResults dir for help and info options by @Evangelink in [#6020](https://github.com/microsoft/testfx/pull/6020)

### Housekeeping

* remove redundant Empty constructor and mark as warning by @SimonCropp in [#5378](https://github.com/microsoft/testfx/pull/5378)
* use char based APIs in TryUnescape by @SimonCropp in [#5608](https://github.com/microsoft/testfx/pull/5608)
* attribute param nullability in TryUnescape by @SimonCropp in [#5609](https://github.com/microsoft/testfx/pull/5609)
* Cleanup TestApplicationResult by @Youssef1313 in [#5615](https://github.com/microsoft/testfx/pull/5615)
* remove redundant fields by @SimonCropp in [#5610](https://github.com/microsoft/testfx/pull/5610)
* Rename RegisterTestFramework adapterFactory parameter to frameworkFactory by @Copilot in [#5691](https://github.com/microsoft/testfx/pull/5691)
* prefer specific scoped variables by @SimonCropp in [#5611](https://github.com/microsoft/testfx/pull/5611)
* \[VSTestBridge] Avoid creating Uri instance for every test case. by @Youssef1313 in [#5743](https://github.com/microsoft/testfx/pull/5743)
* avoid redundant string builder instance in ValidateTestHostEnvironmentVariablesAsync by @SimonCropp in [#5905](https://github.com/microsoft/testfx/pull/5905)
* remove redundant assignment in TryGetOptionArgumentList by @SimonCropp in [#5908](https://github.com/microsoft/testfx/pull/5908)
* remove redundant environment instance in TestHostBuilder by @SimonCropp in [#5914](https://github.com/microsoft/testfx/pull/5914)
* Avoid keeping instance of process in DotnetMuxerLocator by @SimonCropp in [#5911](https://github.com/microsoft/testfx/pull/5911)
* Add ProcessId to IEnvironment by @SimonCropp in [#5913](https://github.com/microsoft/testfx/pull/5913)
* CrashDumpEnvironmentVariableProvider prefixes can be static by @SimonCropp in [#5909](https://github.com/microsoft/testfx/pull/5909)
* remove unused SystemProcessHandler parameter by @SimonCropp in [#5918](https://github.com/microsoft/testfx/pull/5918)
* missing using in AttachDebuggerIfNeeded by @SimonCropp in [#5919](https://github.com/microsoft/testfx/pull/5919)
* redundant null checks in TrxProcessLifetimeHandler by @SimonCropp in [#5960](https://github.com/microsoft/testfx/pull/5960)
* remove redundant BuildConsumerProducersAsync by @SimonCropp in [#5962](https://github.com/microsoft/testfx/pull/5962)
* remove non generic ActionResult by @SimonCropp in [#5959](https://github.com/microsoft/testfx/pull/5959)
* fix nullablity in FromFailedTest by @SimonCropp in [#5971](https://github.com/microsoft/testfx/pull/5971)
* make dicts in NamedPipeBase strong typed by @SimonCropp in [#5973](https://github.com/microsoft/testfx/pull/5973)
* simplify reading installLocation content by @SimonCropp in [#5968](https://github.com/microsoft/testfx/pull/5968)
* update Polyfill and use Process.Kill by @SimonCropp in [#5943](https://github.com/microsoft/testfx/pull/5943)
* Simplify IProcess.MainModule by @SimonCropp in [#5955](https://github.com/microsoft/testfx/pull/5955)
* use ReadExactly from Polyfill by @SimonCropp in [#5972](https://github.com/microsoft/testfx/pull/5972)
* suppress TPEXP warning for solution by @SimonCropp in [#5984](https://github.com/microsoft/testfx/pull/5984)
* use ReadAllTextAsync from polyfill by @SimonCropp in [#5953](https://github.com/microsoft/testfx/pull/5953)
* use TryAdd instead of TryGetValue and Add in Async MessageBus by @SimonCropp in [#5963](https://github.com/microsoft/testfx/pull/5963)
* use XElement.LoadAsync in TrxCompareTool by @SimonCropp in [#5975](https://github.com/microsoft/testfx/pull/5975)
* fix RunSettingsEnvironmentVariableProvider file name by @SimonCropp in [#6007](https://github.com/microsoft/testfx/pull/6007)
* fix nullability of TestProgressState.DiscoveredTests by @SimonCropp in [#6011](https://github.com/microsoft/testfx/pull/6011)
* remove Uid from DiscoveredTests by @SimonCropp in [#6019](https://github.com/microsoft/testfx/pull/6019)
* remove predicate from RetryHelper by @SimonCropp in [#6027](https://github.com/microsoft/testfx/pull/6027)
* update Polyfill and simplify SHA256 usage by @SimonCropp in [#6029](https://github.com/microsoft/testfx/pull/6029)
* simplify TrxCompareTool using an inner type instead of tuples by @SimonCropp in [#6024](https://github.com/microsoft/testfx/pull/6024)
* reduce some linq alloc in AppendTestDiscoverySummary by @SimonCropp in [#6025](https://github.com/microsoft/testfx/pull/6025)
* fix Syncronous typo by @SimonCropp in [#6048](https://github.com/microsoft/testfx/pull/6048)

### Artifacts

* Microsoft.Testing.Platform: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.8.0)
* Microsoft.Testing.Platform.MSBuild: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.8.0)
* Microsoft.Testing.Extensions.CrashDump: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.8.0)
* Microsoft.Testing.Extensions.HangDump: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.8.0)
* Microsoft.Testing.Extensions.HotReload: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.8.0)
* Microsoft.Testing.Extensions.Retry: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.8.0)
* Microsoft.Testing.Extensions.Telemetry: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.8.0)
* Microsoft.Testing.Extensions.TrxReport: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.8.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.8.0)
* Microsoft.Testing.Extensions.VSTestBridge: [1.8.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.8.0)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25379.8](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25379.8)

## <a name="1.7.3" />[1.7.3] - 2025-06-17

See full log [of v3.9.2...v3.9.3](https://github.com/microsoft/testfx/compare/v3.9.2...v3.9.3)

### Fixed

* Simpler fix for dotnet test when using retry by @Youssef1313 in [#5731](https://github.com/microsoft/testfx/pull/5684)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.7.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.7.3)
* Microsoft.Testing.Extensions.HangDump: [1.7.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.7.3)
* Microsoft.Testing.Extensions.HotReload: [1.7.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.7.3)
* Microsoft.Testing.Extensions.Retry: [1.7.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.7.3)
* Microsoft.Testing.Extensions.TrxReport: [1.7.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.7.3)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25317.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25317.1)

## <a name="1.7.2" />[1.7.2] - 2025-06-10

See full log [of v3.9.1...v3.9.2](https://github.com/microsoft/testfx/compare/v3.9.1...v3.9.2)

### Fixed

* Allow framework authors to use TestCase.FullyQualifiedName as the TestNodeUid by @Youssef1313 in [#5658](https://github.com/microsoft/testfx/pull/5658)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.7.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.7.2)
* Microsoft.Testing.Extensions.HangDump: [1.7.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.7.2)
* Microsoft.Testing.Extensions.HotReload: [1.7.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.7.2)
* Microsoft.Testing.Extensions.Retry: [1.7.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.7.2)
* Microsoft.Testing.Extensions.TrxReport: [1.7.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.7.2)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25310.6](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25310.6)

## <a name="1.7.1" />[1.7.1] - 2025-05-27

See full log [of v3.9.0...v3.9.1](https://github.com/microsoft/testfx/compare/v3.9.0...v3.9.1)

### Fixed

* VSTestBridge: Handle TestPropertyAttributes.Trait instead of special casing specific properties by @Youssef1313 in [#5644](https://github.com/microsoft/testfx/pull/5644)

### Artifacts

* MSTest: [3.9.1](https://www.nuget.org/packages/MSTest/3.9.1)
* MSTest.TestFramework: [3.9.1](https://www.nuget.org/packages/MSTest.TestFramework/3.9.1)
* MSTest.TestAdapter: [3.9.1](https://www.nuget.org/packages/MSTest.TestAdapter/3.9.1)
* MSTest.Analyzers: [3.9.1](https://www.nuget.org/packages/MSTest.Analyzers/3.9.1)
* MSTest.Sdk: [3.9.1](https://www.nuget.org/packages/MSTest.Sdk/3.9.1)
* Microsoft.Testing.Extensions.CrashDump: [1.7.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.7.1)
* Microsoft.Testing.Extensions.HangDump: [1.7.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.7.1)
* Microsoft.Testing.Extensions.HotReload: [1.7.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.7.1)
* Microsoft.Testing.Extensions.Retry: [1.7.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.7.1)
* Microsoft.Testing.Extensions.TrxReport: [1.7.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.7.1)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25277.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25277.3)
* MSTest.SourceGeneration: [1.0.0-alpha.25277.3](https://www.nuget.org/packages/MSTest.SourceGeneration/1.0.0-alpha.25277.3)
* MSTest.Engine: [1.0.0-alpha.25277.3](https://www.nuget.org/packages/MSTest.Engine/1.0.0-alpha.25277.3)

## <a name="1.7.0" />[1.7.0] - 2025-05-20

See full log [of v3.8.3...v3.9.0](https://github.com/microsoft/testfx/compare/v3.8.3...v3.9.0)

### Added

* [Source Breaking (only for framework authors)]: Support test artifacts in VS by @Youssef1313 in [#5323](https://github.com/microsoft/testfx/pull/5323)
* Add (alpha) Azure DevOps extension to report errors by @nohwnd in [#5260](https://github.com/microsoft/testfx/pull/5260)
* Add banner for MSTest.Engine by @Youssef1313 in [#5051](https://github.com/microsoft/testfx/pull/5051)
* Use terminal logger for discovery by @nohwnd in [#4907](https://github.com/microsoft/testfx/pull/4907)
* Add RetryContext.FirstRunResults by @Youssef1313 in [#5314](https://github.com/microsoft/testfx/pull/5314)
* VSTestBridge: Add traits as TestMetadataProperty by @Youssef1313 in [#5316](https://github.com/microsoft/testfx/pull/5316)
* Mark APIs not supported in wasi by @Youssef1313 in [#5367](https://github.com/microsoft/testfx/pull/5367)
* Show disk info when hang dump fails by @Youssef1313 in [#5404](https://github.com/microsoft/testfx/pull/5404)
* Implement analyzer for RetryAttribute to be present on test methods by @Youssef1313 in [#5437](https://github.com/microsoft/testfx/pull/5437)
* Add TestMethodIdentifierProperty constructor with arity parameter by @Youssef1313 in [#5528](https://github.com/microsoft/testfx/pull/5528)

### Fixed

* Kill testhost if writing hang dump fails by @Youssef1313 in [#5538](https://github.com/microsoft/testfx/pull/5538)
* Simplify generated file name by using DefaultLanguageSourceExtension by @Youssef1313 in [#5026](https://github.com/microsoft/testfx/pull/5026)
* Fix handling of unsupported platforms of CancelKeyPress by @Youssef1313 in [#5038](https://github.com/microsoft/testfx/pull/5038)
* Refactor logic around GetCurrentTestApplicationFullPath by @Youssef1313 in [#5037](https://github.com/microsoft/testfx/pull/5037)
* Enable platform compatibility warnings for android, ios, tvos, and browser by @Youssef1313 in [#5046](https://github.com/microsoft/testfx/pull/5046)
* Improve MSTest.SourceGeneration incrementality by @Youssef1313 in [#5053](https://github.com/microsoft/testfx/pull/5053)
* remove redundant IPlatformOutputDeviceManager by @SimonCropp in [#4848](https://github.com/microsoft/testfx/pull/4848)
* Avoid using unsupported APIs by @Youssef1313 in [#5057](https://github.com/microsoft/testfx/pull/5057)
* Fix binlog base name for .NET Framework tests by @Youssef1313 in [#5102](https://github.com/microsoft/testfx/pull/5102)
* Improve ExecutionContext propagation by @Youssef1313 in [#5156](https://github.com/microsoft/testfx/pull/5156)
* use StringBuilder AppendJoin by @SimonCropp in [#5167](https://github.com/microsoft/testfx/pull/5167)
* Update README.md with MSTest.Sdk information by @stan-sz in [#5214](https://github.com/microsoft/testfx/pull/5214)
* Add assembly name by @nohwnd in [#5235](https://github.com/microsoft/testfx/pull/5235)
* Correct branding as Microsoft.Testing.Platform by @Youssef1313 in [#5240](https://github.com/microsoft/testfx/pull/5240)
* Remove extra space by @nohwnd in [#5238](https://github.com/microsoft/testfx/pull/5238)
* Fix Retry for dotnet test by @Youssef1313 in [#5261](https://github.com/microsoft/testfx/pull/5261)
* Onboard to new dotnet test experience by @Evangelink in [#5111](https://github.com/microsoft/testfx/pull/5111)
* Add InstanceId to communication with dotnet test by @mariam-abdulla in [#5279](https://github.com/microsoft/testfx/pull/5279)
* Add instance id to dotnet test protocol by @mariam-abdulla in [#5287](https://github.com/microsoft/testfx/pull/5287)
* Use FileAccess.Read when reading testconfig.json file by @Youssef1313 in [#5264](https://github.com/microsoft/testfx/pull/5264)
* Fix double empty line by @nohwnd in [#5317](https://github.com/microsoft/testfx/pull/5317)
* Remove SessionUid from FileArtifactProperty by @Youssef1313 in [#5347](https://github.com/microsoft/testfx/pull/5347)
* Fix typo in DotnetTestDataConsumer causes only first artifact to be sent by @Youssef1313 in [#5349](https://github.com/microsoft/testfx/pull/5349)
* fix nullability in GetRepoRoot by @SimonCropp in [#5392](https://github.com/microsoft/testfx/pull/5392)
* remove redundant null check in FormatInnerExceptions by @SimonCropp in [#5397](https://github.com/microsoft/testfx/pull/5397)
* fix nullability of CreateBindCtx by @SimonCropp in [#5385](https://github.com/microsoft/testfx/pull/5385)
* remove redundant control flow statements by @SimonCropp in [#5403](https://github.com/microsoft/testfx/pull/5403)
* fix nullability of InvokeTestingPlatformTask _outputFileName by @SimonCropp in [#5394](https://github.com/microsoft/testfx/pull/5394)
* fix nullability of argument in GetProcessExitCodeAsync_IgnoreExitCodes by @SimonCropp in [#5386](https://github.com/microsoft/testfx/pull/5386)
* remove redundant null check for OpenBaseKey return by @SimonCropp in [#5395](https://github.com/microsoft/testfx/pull/5395)
* remove redundant null check in GetStringFromIndexOrDefault by @SimonCropp in [#5396](https://github.com/microsoft/testfx/pull/5396)
* fix nullability in FileLoggerProvider by @SimonCropp in [#5398](https://github.com/microsoft/testfx/pull/5398)
* remove un-used TestNodeProcessor by @SimonCropp in [#5430](https://github.com/microsoft/testfx/pull/5430)
* Rename MTP entrypoint to MicrosoftTestingPlatformEntryPoint by @Youssef1313 in [#5423](https://github.com/microsoft/testfx/pull/5423)
* use null propagation and mark as warning in editorconfig by @SimonCropp in [#5383](https://github.com/microsoft/testfx/pull/5383)
* FindNode cant return null by @SimonCropp in [#5448](https://github.com/microsoft/testfx/pull/5448)
* remove un-used methods in UnicodeCharacterUtilities by @SimonCropp in [#5444](https://github.com/microsoft/testfx/pull/5444)
* remove ServerLogMessageInMemoryStore by @SimonCropp in [#5456](https://github.com/microsoft/testfx/pull/5456)
* Remove some redundant casts and mark as a warning for rider and R# by @SimonCropp in [#5459](https://github.com/microsoft/testfx/pull/5459)
* Use GetFileNameWithoutExtension for crashdump file name to be consistent with hangdump by @Youssef1313 in [#5454](https://github.com/microsoft/testfx/pull/5454)
* Remove dead --internal-vstest-adapter by @Youssef1313 in [#5450](https://github.com/microsoft/testfx/pull/5450)
* Consistent command-line options provider properties by @Youssef1313 in [#5452](https://github.com/microsoft/testfx/pull/5452)
* Update Fakes dependency by @stan-sz in [#5482](https://github.com/microsoft/testfx/pull/5482)
* Use PlatformVersion.Version as the server version by @Youssef1313 in [#5486](https://github.com/microsoft/testfx/pull/5486)
* Handle DebugOrTraceTrxMessage in TrxReportEngine by @Youssef1313 in [#5510](https://github.com/microsoft/testfx/pull/5510)
* Few improvements to AzDO extension by @Youssef1313 in [#5513](https://github.com/microsoft/testfx/pull/5513)
* VSTestBridge+MSTest: Use TestMethodIdentifierProperty and stop sending VSTest-specifics by @Youssef1313 in [#5409](https://github.com/microsoft/testfx/pull/5409)
* Add vstest.TestCase.CodeFilePath and vstest.TestCase.LineNumber by @Youssef1313 in [#5539](https://github.com/microsoft/testfx/pull/5539)

### Artifacts

* MSTest: [3.9.0](https://www.nuget.org/packages/MSTest/3.9.0)
* MSTest.TestFramework: [3.9.0](https://www.nuget.org/packages/MSTest.TestFramework/3.9.0)
* MSTest.TestAdapter: [3.9.0](https://www.nuget.org/packages/MSTest.TestAdapter/3.9.0)
* MSTest.Analyzers: [3.9.0](https://www.nuget.org/packages/MSTest.Analyzers/3.9.0)
* MSTest.Sdk: [3.9.0](https://www.nuget.org/packages/MSTest.Sdk/3.9.0)
* Microsoft.Testing.Extensions.CrashDump: [1.7.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.7.0)
* Microsoft.Testing.Extensions.HangDump: [1.7.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.7.0)
* Microsoft.Testing.Extensions.HotReload: [1.7.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.7.0)
* Microsoft.Testing.Extensions.Retry: [1.7.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.7.0)
* Microsoft.Testing.Extensions.TrxReport: [1.7.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.7.0)
* Microsoft.Testing.Extensions.AzureDevOpsReport [1.0.0-alpha.25256.6](https://www.nuget.org/packages/Microsoft.Testing.Extensions.AzureDevOpsReport/1.0.0-alpha.25256.6)
* MSTest.SourceGeneration: [1.0.0-alpha.25256.6](https://www.nuget.org/packages/MSTest.SourceGeneration/1.0.0-alpha.25256.6)
* MSTest.Engine: [1.0.0-alpha.25256.6](https://www.nuget.org/packages/MSTest.Engine/1.0.0-alpha.25256.6)

## <a name="1.6.3" />[1.6.3] - 2025-03-17

See full log [of v3.8.2...v3.8.3](https://github.com/microsoft/testfx/compare/v3.8.2...v3.8.3)

### Fixed

* Fix typo in determining `_TestArchitecture` by @Youssef1313 in [#5115](https://github.com/microsoft/testfx/pull/5115)
* Update InvokeTestingPlatformTask to prefer running Exe over `dotnet exec dll` by @Youssef1313 in [#5128](https://github.com/microsoft/testfx/pull/5128)
* Fix serializing special characters in Jsonite by @nohwnd in [#5125](https://github.com/microsoft/testfx/pull/5125)
* Fix TestingPlatformSelfRegisteredExtensions to allow empty RootNamespace by @Youssef1313 in [#5162](https://github.com/microsoft/testfx/pull/5162)
* Fix possible deadlock when writing to console by @Youssef1313 in [#5183](https://github.com/microsoft/testfx/pull/5183)
* Consider `--results-directory` before configuration by @Youssef1313 in [#5204](https://github.com/microsoft/testfx/pull/5204)
* Refactor MSBuild props/targets by @Youssef1313 in [#5219](https://github.com/microsoft/testfx/pull/5219)
* Move logic relevant to core MTP out of MTP.MSBuild by @Youssef1313 in [#5223](https://github.com/microsoft/testfx/pull/5223)
* Add assembly name to test run summary by @nohwnd in [#5247](https://github.com/microsoft/testfx/pull/5247)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.6.3)
* Microsoft.Testing.Extensions.HangDump: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.6.3)
* Microsoft.Testing.Extensions.HotReload: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.6.3)
* Microsoft.Testing.Extensions.Retry: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.6.3)
* Microsoft.Testing.Extensions.Telemetry: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.6.3)
* Microsoft.Testing.Extensions.TrxReport: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.6.3)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.6.3)
* Microsoft.Testing.Extensions.VSTestBridge: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.6.3)
* Microsoft.Testing.Platform: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.6.3)
* Microsoft.Testing.Platform.MSBuild: [1.6.3](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.6.3)

## <a name="1.6.2" />[1.6.2] - 2025-02-19

See full log [of v3.8.1...v3.8.2](https://github.com/microsoft/testfx/compare/v3.8.1...v3.8.2)

### Fixed

* Handle if RootNamespace contains invalid identifier characters by @Youssef1313 in [#5069](https://github.com/microsoft/testfx/pull/5069)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.6.2)
* Microsoft.Testing.Extensions.HangDump: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.6.2)
* Microsoft.Testing.Extensions.HotReload: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.6.2)
* Microsoft.Testing.Extensions.Retry: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.6.2)
* Microsoft.Testing.Extensions.Telemetry: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.6.2)
* Microsoft.Testing.Extensions.TrxReport: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.6.2)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.6.2)
* Microsoft.Testing.Extensions.VSTestBridge: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.6.2)
* Microsoft.Testing.Platform: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.6.2)
* Microsoft.Testing.Platform.MSBuild: [1.6.2](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.6.2)

## <a name="1.6.1" />[1.6.1] - 2025-02-18

See full log [of v3.8.0...v3.8.1](https://github.com/microsoft/testfx/compare/v3.8.0...v3.8.1)

### Fixed

* Revert _IncludeGenerateAutoRegisteredExtensionsIntoCompilation target rename by @Youssef1313 in [#5045](https://github.com/microsoft/testfx/pull/5045)
* Use `global::` prefix for generated code by @Youssef1313 in [#5033](https://github.com/microsoft/testfx/pull/5033)
* Fix breaking change with telemetry by @Evangelink in [#5050](https://github.com/microsoft/testfx/pull/5050)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.6.1)
* Microsoft.Testing.Extensions.HangDump: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.6.1)
* Microsoft.Testing.Extensions.HotReload: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.6.1)
* Microsoft.Testing.Extensions.Retry: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.6.1)
* Microsoft.Testing.Extensions.Telemetry: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.6.1)
* Microsoft.Testing.Extensions.TrxReport: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.6.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.6.1)
* Microsoft.Testing.Extensions.VSTestBridge: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.6.1)
* Microsoft.Testing.Platform: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.6.1)
* Microsoft.Testing.Platform.MSBuild: [1.6.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.6.1)

## <a name="1.6.0" />[1.6.0] - 2025-02-12

See full log [of v3.7.3...v3.8.0](https://github.com/microsoft/testfx/compare/v3.7.3...v3.8.0)

### Added

* Implement != operator for filtering by @Youssef1313 in [#4494](https://github.com/microsoft/testfx/pull/4494)
* VSTestBridge: support filter at discovery + runsettings TestCaseFilter by @Youssef1313 in [#4921](https://github.com/microsoft/testfx/pull/4921)
* Add ability to wait for debugger attach by @Evangelink in [#4829](https://github.com/microsoft/testfx/pull/4829)
* Open experimentally Configuration and Logging by @Evangelink in [#4795](https://github.com/microsoft/testfx/pull/4795)

### Fixed

* Fix outputting of unhandled exception through OutputDevice by @Youssef1313 in [#4926](https://github.com/microsoft/testfx/pull/4926)
* Remove wrong closing double quotes in diag messages by @Evangelink in [#4826](https://github.com/microsoft/testfx/pull/4826)
* TestHost controller support mono by @Evangelink in [#4831](https://github.com/microsoft/testfx/pull/4831)
* Fix MTP MSBuild targets to run before BeforeCompile and XamlPreCompile by @Youssef1313 in [#4777](https://github.com/microsoft/testfx/pull/4777)
* Don't inject Test target when `TestingPlatformDisableCustomTestTarget` is true by @Youssef1313 in [#4838](https://github.com/microsoft/testfx/pull/4838)
* Make SelfRegisteredExtensions and EntryPoint types part of namespace by @Evangelink in [#4814](https://github.com/microsoft/testfx/pull/4814)
* Fix InvokeTestingPlatformTask to handle running with msbuild.exe and 'Test' target by @Youssef1313 in [#4840](https://github.com/microsoft/testfx/pull/4840)
* Fix ordering in server mode data consume by @Evangelink in [#4953](https://github.com/microsoft/testfx/pull/4953)
* Overwrite trx when file name is explicitly provided by @Youssef1313 in [#4654](https://github.com/microsoft/testfx/pull/4654)
* pass some missing cancellationTokens by @SimonCropp in [#4857](https://github.com/microsoft/testfx/pull/4857)
* avoid 2x string allocs in TerminalOutputDevice by @SimonCropp in [#4894](https://github.com/microsoft/testfx/pull/4894)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.6.0)
* Microsoft.Testing.Extensions.HangDump: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.6.0)
* Microsoft.Testing.Extensions.HotReload: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.6.0)
* Microsoft.Testing.Extensions.Retry: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.6.0)
* Microsoft.Testing.Extensions.Telemetry: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.6.0)
* Microsoft.Testing.Extensions.TrxReport: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.6.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.6.0)
* Microsoft.Testing.Extensions.VSTestBridge: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.6.0)
* Microsoft.Testing.Platform: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.6.0)
* Microsoft.Testing.Platform.MSBuild: [1.6.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.6.0)

## <a name="1.5.3" />[1.5.3] - 2025-01-27

See full log [of v3.7.2...v3.7.3](https://github.com/microsoft/testfx/compare/v3.7.2...v3.7.3)

### Fixed

* Fix `MissingMethodException` for init-only properties when code is compiled against netstandard2.0 and runs on net9.0 at runtime by @dependabot in [#4794](https://github.com/microsoft/testfx/pull/4794)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.5.3)
* Microsoft.Testing.Extensions.HangDump: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.5.3)
* Microsoft.Testing.Extensions.HotReload: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.5.3)
* Microsoft.Testing.Extensions.Retry: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.5.3)
* Microsoft.Testing.Extensions.Telemetry: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.5.3)
* Microsoft.Testing.Extensions.TrxReport: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.5.3)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.5.3)
* Microsoft.Testing.Extensions.VSTestBridge: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.5.3)
* Microsoft.Testing.Platform: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.5.3)
* Microsoft.Testing.Platform.MSBuild: [1.5.3](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.5.3)

## <a name="1.5.2" />[1.5.2] - 2025-01-21

See full log [of v3.7.1...v3.7.2](https://github.com/microsoft/testfx/compare/v3.7.1...v3.7.2)

### Fixed

* Ensure IProperty record implementation have nice array display by @Evangelink in [#4659](https://github.com/microsoft/testfx/pull/4659)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.5.2)
* Microsoft.Testing.Extensions.HangDump: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.5.2)
* Microsoft.Testing.Extensions.HotReload: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.5.2)
* Microsoft.Testing.Extensions.Retry: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.5.2)
* Microsoft.Testing.Extensions.Telemetry: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.5.2)
* Microsoft.Testing.Extensions.TrxReport: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.5.2)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.5.2)
* Microsoft.Testing.Extensions.VSTestBridge: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.5.2)
* Microsoft.Testing.Platform: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.5.2)
* Microsoft.Testing.Platform.MSBuild: [1.5.2](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.5.2)

## <a name="1.5.1" />[1.5.1] - 2025-01-13

See full log [of v3.7.0...v3.7.1](https://github.com/microsoft/testfx/compare/v3.7.0...v3.7.1)

### Fixed

* Fix match all filter not working when property expression is present (#4495) by @Evangelink in [#4507](https://github.com/microsoft/testfx/pull/4507)
* Fix "Found multiple properties of type 'Microsoft.Testing.Platform.Ex… by @Evangelink in [#4563](https://github.com/microsoft/testfx/pull/4563)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.5.1)
* Microsoft.Testing.Extensions.HangDump: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.5.1)
* Microsoft.Testing.Extensions.HotReload: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.5.1)
* Microsoft.Testing.Extensions.Retry: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.5.1)
* Microsoft.Testing.Extensions.Telemetry: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.5.1)
* Microsoft.Testing.Extensions.TrxReport: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.5.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.5.1)
* Microsoft.Testing.Extensions.VSTestBridge: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.5.1)
* Microsoft.Testing.Platform: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.5.1)
* Microsoft.Testing.Platform.MSBuild: [1.5.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.5.1)

## <a name="1.5.0" />[1.5.0] - 2024-12-20

See full log [of v1.4.3...v1.5.0](https://github.com/microsoft/testfx/compare/v1.4.3...v1.5.0)

### Added

* Expose `ExecuteRequestContext` ctor for testability by @MarcoRossignoli in [#3717](https://github.com/microsoft/testfx/pull/3717)
* Add `StandardOutputProperty` and `StandardErrorProperty` by @MarcoRossignoli in [#3748](https://github.com/microsoft/testfx/pull/3748)
* Optimize the server mode discovery workflow by @MarcoRossignoli in [#3877](https://github.com/microsoft/testfx/pull/3877)
* Add yy/mm to the log filename for better ordering by @MarcoRossignoli in [#3894](https://github.com/microsoft/testfx/pull/3894)
* Add logic to read env var for runsettings path in VSTestBridge by @mariam-abdulla in [#3909](https://github.com/microsoft/testfx/pull/3909)
* Support runsettings environment variables by @MarcoRossignoli in [#3918](https://github.com/microsoft/testfx/pull/3918)
* Write standard output and error, and respect execution id by @nohwnd in [#3934](https://github.com/microsoft/testfx/pull/3934)
* Add key only overload to TestMetadataProperty by @Evangelink in [#4041](https://github.com/microsoft/testfx/pull/4041)
* Pass multiple errors by @nohwnd in [#4054](https://github.com/microsoft/testfx/pull/4054)
* Introduce and use warning and error output messages by @Evangelink in [#4217](https://github.com/microsoft/testfx/pull/4217)
* Show running tests by @drognanar in [#4221](https://github.com/microsoft/testfx/pull/4221)

### Fixed

* Ensure correct exit code in case of cancellation and add `OnExit` phase for for `IPushOnlyProtocol` by @MarcoRossignoli in [#3820](https://github.com/microsoft/testfx/pull/3820)
* Fix writing dark colors by @nohwnd in [#3825](https://github.com/microsoft/testfx/pull/3825)
* Fix: do not show telemetry banner if no telemetry provider is registered by @Evangelink in [#3862](https://github.com/microsoft/testfx/pull/3862)
* Fix RunSettings/RunConfiguration/ResultsDirectory by @MarcoRossignoli in [#3902](https://github.com/microsoft/testfx/pull/3902)
* Fix concurrency issue in TerminalTestReporter by @mariam-abdulla in [#4229](https://github.com/microsoft/testfx/pull/4229)
* Only push output device messages to Test Explorer, don't push logs by @Youssef1313 in [#4178](https://github.com/microsoft/testfx/pull/4178)
* Fix missing skip reason by @MarcoRossignoli in [#3754](https://github.com/microsoft/testfx/pull/3754)
* Fix skipped Test isn't shown as skipped/not executed in Trx Report  by @engyebrahim in [#3773](https://github.com/microsoft/testfx/pull/3773)
* Fix Timed Out Test isn't shown under timeout counter in Trx Report by @engyebrahim in [#3788](https://github.com/microsoft/testfx/pull/3788)
* Fix trx in case of exit code != 0 by @MarcoRossignoli in [#3887](https://github.com/microsoft/testfx/pull/3887)
* Fix SelfRegisteredExtensions type to be internal by @Evangelink in [#3891](https://github.com/microsoft/testfx/pull/3891)
* Display inner exceptions by @Evangelink in [#3920](https://github.com/microsoft/testfx/pull/3920)
* Fix publishing as docker image via /t:PublishContainer by @nohwnd in [#3929](https://github.com/microsoft/testfx/pull/3929)
* Fix conflict with Microsoft.Win32.Registry by @Evangelink in [#3988](https://github.com/microsoft/testfx/pull/3988)
* Fix live output with HotReload (#3983) by @nohwnd in [#3993](https://github.com/microsoft/testfx/pull/3993)
* Fix hangdump not showing tests in progress (#3992) by @nohwnd in [#3999](https://github.com/microsoft/testfx/pull/3999)
* Fix hangdump space in dump path (#3994) by @nohwnd in [#4001](https://github.com/microsoft/testfx/pull/4001)
* Improve error message for incompatible architecture by @Youssef1313 in [#4144](https://github.com/microsoft/testfx/pull/4144)
* StopUpdate in Finally Block by @thomhurst in [#4147](https://github.com/microsoft/testfx/pull/4147)
* Set IsTestingPlatformApplication to true in ClassicEngine.targets by @mariam-abdulla in [#4151](https://github.com/microsoft/testfx/pull/4151)
* Fix displaying progress in non-ansi terminal by @Evangelink in [#4320](https://github.com/microsoft/testfx/pull/4320)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.5.0)
* Microsoft.Testing.Extensions.HangDump: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.5.0)
* Microsoft.Testing.Extensions.HotReload: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.5.0)
* Microsoft.Testing.Extensions.Retry: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.5.0)
* Microsoft.Testing.Extensions.Telemetry: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.5.0)
* Microsoft.Testing.Extensions.TrxReport: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.5.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.5.0)
* Microsoft.Testing.Extensions.VSTestBridge: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.5.0)
* Microsoft.Testing.Platform: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.5.0)
* Microsoft.Testing.Platform.MSBuild: [1.5.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.5.0)

## <a name="1.4.3" />[1.4.3] - 2024-11-12

See full log [of v1.4.2...v1.4.3](https://github.com/microsoft/testanywhere/compare/v1.4.2...v1.4.3)

### Fixed

* Fix live output with HotReload by @nohwnd in [#3983](https://github.com/microsoft/testfx/pull/3983)
* Fix hangdump space in dump path by @nohwnd in [#3994](https://github.com/microsoft/testfx/pull/3994)
* Fix hangdump not showing tests in progress by @nohwnd in [#3992](https://github.com/microsoft/testfx/pull/3992)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.4.3)
* Microsoft.Testing.Extensions.HangDump: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.4.3)
* Microsoft.Testing.Extensions.HotReload: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.4.3)
* Microsoft.Testing.Extensions.Retry: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.4.3)
* Microsoft.Testing.Extensions.Telemetry: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.4.3)
* Microsoft.Testing.Extensions.TrxReport: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.4.3)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.4.3)
* Microsoft.Testing.Extensions.VSTestBridge: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.4.3)
* Microsoft.Testing.Platform: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.4.3)
* Microsoft.Testing.Platform.MSBuild: [1.4.3](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.4.3)

## <a name="1.4.2" />[1.4.2] - 2024-10-31

See full log [of v1.4.1...v1.4.2](https://github.com/microsoft/testanywhere/compare/v1.4.1...v1.4.2)

### Fixed

* Fix casing for event key value by @MarcoRossignoli in [#3915](https://github.com/microsoft/testfx/pull/3915)
* Fix publishing as docker image via /t:PublishContainer by @nohwnd in [#3929](https://github.com/microsoft/testfx/pull/3929)
* Fix displaying inner exceptions in output by @Evangelink in [#3965](https://github.com/microsoft/testfx/pull/3965)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.4.2)
* Microsoft.Testing.Extensions.HangDump: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.4.2)
* Microsoft.Testing.Extensions.HotReload: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.4.2)
* Microsoft.Testing.Extensions.Retry: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.4.2)
* Microsoft.Testing.Extensions.Telemetry: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.4.2)
* Microsoft.Testing.Extensions.TrxReport: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.4.2)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.4.2)
* Microsoft.Testing.Extensions.VSTestBridge: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.4.2)
* Microsoft.Testing.Platform: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.4.2)
* Microsoft.Testing.Platform.MSBuild: [1.4.2](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.4.2)

## <a name="1.4.1" />[1.4.1] - 2024-10-03

See full log [of v1.4.0...v1.4.1](https://github.com/microsoft/testanywhere/compare/v1.4.0...v1.4.1)

### Fixed

* Fix writing dark colors by @nohwnd in [#3828](https://github.com/microsoft/testfx/pull/3828)
* Fix: do not show telemetry banner if no telemetry provider is registered by @Evangelink in [#3862](https://github.com/microsoft/testfx/pull/3862)
* Fix SelfRegisteredExtensions type to be internal by @Evangelink in [#3891](https://github.com/microsoft/testfx/pull/3891)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.4.1)
* Microsoft.Testing.Extensions.HangDump: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.4.1)
* Microsoft.Testing.Extensions.HotReload: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.4.1)
* Microsoft.Testing.Extensions.Retry: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.4.1)
* Microsoft.Testing.Extensions.Telemetry: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.4.1)
* Microsoft.Testing.Extensions.TrxReport: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.4.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.4.1)
* Microsoft.Testing.Extensions.VSTestBridge: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.4.1)
* Microsoft.Testing.Platform: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.4.1)
* Microsoft.Testing.Platform.MSBuild: [1.4.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.4.1)

## <a name="1.4.0" />[1.4.0] - 2024-09-11

See full log [of v1.3.2...v1.4.0](https://github.com/microsoft/testanywhere/compare/v1.3.2...v1.4.0)

### Added

* Handle `--` for msbuild dotnet test integration by @MarcoRossignoli in [#3309](https://github.com/microsoft/testfx/pull/3309)
* Support StandardOutput/StandardError for TA in VS by @MarcoRossignoli in [#3486](https://github.com/microsoft/testfx/pull/3486)
* Interactive display for terminals by @nohwnd in [#3292](https://github.com/microsoft/testfx/pull/3292)
* Add --? alias for --help by @engyebrahim in [#3522](https://github.com/microsoft/testfx/pull/3522)
* Platform.MSBuild should allow generating a helper for registration of extensions by @MarcoRossignoli in [#3525](https://github.com/microsoft/testfx/pull/3525)
* Humanize progress time, and reduce update to 500ms by @nohwnd in [#3535](https://github.com/microsoft/testfx/pull/3535)
* Add `--no-progress` and `--no-ansi` by @nohwnd in [#3550](https://github.com/microsoft/testfx/pull/3550)
* Add `--output` option by @nohwnd in [#3565](https://github.com/microsoft/testfx/pull/3565)
* Warn about unsupported runsettings entries by @Evangelink in [#3647](https://github.com/microsoft/testfx/pull/3647)
* Allow digit inside option name by @MarcoRossignoli in [#3651](https://github.com/microsoft/testfx/pull/3651)
* Expose `TestFrameworkCapabilitiesExtensions` in experimental mode by @MarcoRossignoli in [#3653](https://github.com/microsoft/testfx/pull/3653)
* Platform should expose a timeout option by @engyebrahim in [#3642](https://github.com/microsoft/testfx/pull/3642)
* Bridge message logger also forward info to output by @Evangelink in [#3712](https://github.com/microsoft/testfx/pull/3712)
* Add `StandardOutputProperty` and `StandardErrorProperty` (#3748) by @MarcoRossignoli in [#3749](https://github.com/microsoft/testfx/pull/3749)
* Fix missing skip reason (#3754) by @MarcoRossignoli in [#3755](https://github.com/microsoft/testfx/pull/3755)

### Fixed

* Fix ResultFiles placement in TRX report by @nohwnd in [#3265](https://github.com/microsoft/testfx/pull/3265)
* Fix: VSTest bridge - use TestCase.Id for the TestNodeUID by @Evangelink in [#3270](https://github.com/microsoft/testfx/pull/3270)
* Fix test case id filtering for server mode by @MarcoRossignoli in [#3284](https://github.com/microsoft/testfx/pull/3284)
* Fix TE tests execution for TA mode by @MarcoRossignoli in [#3290](https://github.com/microsoft/testfx/pull/3290)
* Fix MessageBusProxy.InitAsync to be proxying _messageBus.InitAsync by @SimonCropp in [#3300](https://github.com/microsoft/testfx/pull/3300)
* Fix shutdown order for server mode by @MarcoRossignoli in [#3306](https://github.com/microsoft/testfx/pull/3306)
* Fix possible deadlock inside MSBuild task by @MarcoRossignoli in [#3307](https://github.com/microsoft/testfx/pull/3307)
* avoid marshing async to sync when there is a sync alternative by @SimonCropp in [#3383](https://github.com/microsoft/testfx/pull/3383)
* pass cancellationToken where possible by @SimonCropp in [#3465](https://github.com/microsoft/testfx/pull/3465)
* reuse TestRun node in AddArtifactsAsync and throw a more accurate exception by @SimonCropp in [#3463](https://github.com/microsoft/testfx/pull/3463)
* Remove Condition=" '$(GenerateTestingPlatformEntryPoint)' == 'True' " from extensions  by @engyebrahim in [#3524](https://github.com/microsoft/testfx/pull/3524)
* Exclude tool-related options in help option by @mariam-abdulla in [#3542](https://github.com/microsoft/testfx/pull/3542)
* Fix shortening TFM and architecture by @nohwnd in [#3583](https://github.com/microsoft/testfx/pull/3583)
* Fix `Content-Length` by @MarcoRossignoli in [#3641](https://github.com/microsoft/testfx/pull/3641)
* Fix `CommandLineHandler` duplication check message by @MarcoRossignoli in [#3660](https://github.com/microsoft/testfx/pull/3660)
* Localize proxies exceptions by @MarcoRossignoli in [#3678](https://github.com/microsoft/testfx/pull/3678)
* Manual resolution of the muxer for `dotnet test` MSBuild extension by @MarcoRossignoli in [#3703](https://github.com/microsoft/testfx/pull/3703)
* Fix the usage of the DOTNET_HOST_PATH by @MarcoRossignoli in [#3707](https://github.com/microsoft/testfx/pull/3707)
* Fix timedout test does not fail test run (in ui) by @nohwnd in [#3774](https://github.com/microsoft/testfx/pull/3774)
* Cherry-pick fix skipped Test isn't shown as skipped/not executed in Trx Report by @engyebrahim in [#3787](https://github.com/microsoft/testfx/pull/3787)

### Housekeeping

* improve perf of PropertyBag.SingleOrDefault by @SimonCropp in [#3302](https://github.com/microsoft/testfx/pull/3302)
* Modulename is never empty by @nohwnd in [#3328](https://github.com/microsoft/testfx/pull/3328)
* dont attach callback if there is no OnExit configured by @SimonCropp in [#3438](https://github.com/microsoft/testfx/pull/3438)
* missing process using in DebuggerUtility by @SimonCropp in [#3434](https://github.com/microsoft/testfx/pull/3434)
* remove triple enumeration evaluation and linq usage in CollectEntriesAndErrors by @SimonCropp in [#3451](https://github.com/microsoft/testfx/pull/3451)
* use XDocument.SaveAsync from polyfill by @SimonCropp in [#3448](https://github.com/microsoft/testfx/pull/3448)
* Save all code files with UTF8BOM by @nohwnd in [#3536](https://github.com/microsoft/testfx/pull/3536)
* Save all project files with UTF8 (NOBOM) by @nohwnd in [#3539](https://github.com/microsoft/testfx/pull/3539)
* Give to json default protocol a name `--server jsonrpc` by @MarcoRossignoli in [#3655](https://github.com/microsoft/testfx/pull/3655)
* Change --help formatting (and fix --info) by @nohwnd in [#3649](https://github.com/microsoft/testfx/pull/3649)
* Disable out of process extensions in case of `--list-tests` by @MarcoRossignoli in [#3722](https://github.com/microsoft/testfx/pull/3722)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.4.0)
* Microsoft.Testing.Extensions.HangDump: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.4.0)
* Microsoft.Testing.Extensions.HotReload: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.4.0)
* Microsoft.Testing.Extensions.Retry: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.4.0)
* Microsoft.Testing.Extensions.Telemetry: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.4.0)
* Microsoft.Testing.Extensions.TrxReport: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.4.0)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.4.0)
* Microsoft.Testing.Extensions.VSTestBridge: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.4.0)
* Microsoft.Testing.Platform: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.4.0)
* Microsoft.Testing.Platform.MSBuild: [1.4.0](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.4.0)

## <a name="1.3.2" />[1.3.2] - 2024-08-05

See full log [of v1.3.1...v1.3.2](https://github.com/microsoft/testfx/compare/v1.3.1...v1.3.2)

### Fixed

* Fix accessing PID in TestHostControllersTestHost by @Evangelink in [637e764](https://github.com/microsoft/testfx/commit/637e7647b805ea9a1c3121beced3c6a726ca0e16)
* Fix MessageBusProxy.InitAsync to be proxying _messageBus.InitAsync by @SimonCropp in [#3300](https://github.com/microsoft/testfx/pull/3300)
* Fix shutdown order for server mode by @MarcoRossignoli in [#3306](https://github.com/microsoft/testfx/pull/3306)
* Fix possible deadlock inside MSBuild task by @MarcoRossignoli in [#3307](https://github.com/microsoft/testfx/pull/3307)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.3.2)
* Microsoft.Testing.Extensions.HangDump: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.3.2)
* Microsoft.Testing.Extensions.HotReload: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.3.2)
* Microsoft.Testing.Extensions.Retry: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.3.2)
* Microsoft.Testing.Extensions.Telemetry: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.3.2)
* Microsoft.Testing.Extensions.TrxReport: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.3.2)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.3.2)
* Microsoft.Testing.Extensions.VSTestBridge: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.3.2)
* Microsoft.Testing.Platform: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.3.2)
* Microsoft.Testing.Platform.MSBuild: [1.3.2](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.3.2)

## <a name="1.3.1" />[1.3.1] - 2024-07-15

See full log [of v1.2.1...v1.3.1](https://github.com/microsoft/testfx/compare/v1.2.1...v1.3.1)

### Added

* Make NopFilter public and experimental by @Evangelink in [#3035](https://github.com/microsoft/testfx/pull/3035)
* Return the pid during the handshake inside the InitializeResponseArgs by @MarcoRossignoli in [#3212](https://github.com/microsoft/testfx/pull/3212)
* Open-source platform extensions and tooling by @Evangelink in [#3133](https://github.com/microsoft/testfx/pull/3133)
* Make tree node filter public and experimental by @Evangelink in [#3052](https://github.com/microsoft/testfx/pull/3052)
* Send the full module name to dotnet test by @mariam-abdulla in [#3085](https://github.com/microsoft/testfx/pull/3085)
* Support dotnet test Help Option Through Pipes by @mariam-abdulla in [#2923](https://github.com/microsoft/testfx/pull/2923)

### Artifacts

* Microsoft.Testing.Extensions.CrashDump: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.CrashDump/1.3.1)
* Microsoft.Testing.Extensions.HangDump: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HangDump/1.3.1)
* Microsoft.Testing.Extensions.HotReload: [1.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.HotReload/1.3.0)
* Microsoft.Testing.Extensions.Retry: [1.3.0](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.3.0)
* Microsoft.Testing.Extensions.Telemetry: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.Telemetry/1.3.1)
* Microsoft.Testing.Extensions.TrxReport: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport/1.3.1)
* Microsoft.Testing.Extensions.TrxReport.Abstractions: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.TrxReport.Abstractions/1.3.1)
* Microsoft.Testing.Extensions.VSTestBridge: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Extensions.VSTestBridge/1.3.1)
* Microsoft.Testing.Platform: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Platform/1.3.1)
* Microsoft.Testing.Platform.MSBuild: [1.3.1](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild/1.3.1)
