docs: add missing 4.3.0/2.3.0 changelog entries (ITestFilter, ITestHostLauncher, AzDO logging, PropertyBag)#9529
Conversation
…tHostLauncher, AzDO logging, PropertyBag Missing from MSTest 4.3.0 (docs/Changelog.md): - ITestFilter / [TestFilterProviderAttribute] for programmatic test filtering (#8896) - Fix [ClassCleanup] resource leak when ITestFilter drops last test (#9503) Missing from MTP 2.3.0 (docs/Changelog-Platform.md): - ITestHostLauncher extension point + PackagedApp extension (#9454) - Forward Azure DevOps logging over dotnet test pipe for multi-assembly (#9463) - PropertyBag.FirstOrDefault<TProperty>() (#9488) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds missing release notes entries to the project changelogs so recently merged features/fixes are reflected in the upcoming MSTest 4.3.0 and Microsoft.Testing.Platform 2.3.0 unreleased sections.
Changes:
- Document
ITestFilter/[TestFilterProviderAttribute]as a new experimental filtering extension point for MSTest 4.3.0. - Document a fix for
[ClassCleanup]whenITestFilterdrops the last test of an initialized class. - Add three missing MTP 2.3.0 entries (launcher extension point, AzDO logging forwarding over dotnet test pipe, and
PropertyBag.FirstOrDefault<TProperty>()).
Show a summary per file
| File | Description |
|---|---|
| docs/Changelog.md | Adds the missing MSTest 4.3.0 “Added” and “Fixed” entries for ITestFilter and the related [ClassCleanup] leak fix. |
| docs/Changelog-Platform.md | Adds the missing MTP 2.3.0 “Added” entries for ITestHostLauncher, AzDO logging forwarding, and PropertyBag.FirstOrDefault<TProperty>(). |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Low
Evangelink
left a comment
There was a problem hiding this comment.
Note
🤖 Automated review by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the Expert Code Review workflow. To request a follow-up action, reply by tagging @copilot directly.
Review — 22-Dimension Analysis
This is a pure documentation PR (changelog only). All technical dimensions are N/A. The review focuses on accuracy, placement, style, and completeness.
Dimension Scorecard
| # | Dimension | Result |
|---|---|---|
| 1 | Algorithmic Correctness | N/A |
| 2 | Threading & Concurrency | N/A |
| 3 | Security & IPC Contract Safety | N/A |
| 4 | Public API & Binary Compatibility | N/A |
| 5 | Performance & Allocations | N/A |
| 6 | Cross-TFM Compatibility | N/A |
| 7 | Resource & IDisposable Management | N/A |
| 8 | Defensive Coding at Boundaries | N/A |
| 9 | Error Handling & Diagnostics | N/A |
| 10 | Test Coverage | N/A |
| 11 | Code Style & Formatting | N/A |
| 12 | Localization | N/A |
| 13 | MSBuild & Packaging | N/A |
| 14 | Repository Hygiene | ✅ |
| 15 | Scope Discipline | ✅ |
| 16 | Documentation Accuracy | ✅ |
| 17 | Link Validity | ✅ |
| 18 | File / Section Placement | ✅ |
| 19 | Feature Description Correctness | ✅ |
| 20 | Experimental / Stable Classification | ✅ |
| 21 | Changelog Completeness | ✅ |
| 22 | Style Consistency | ✅ (see observation) |
Findings
No blocking or major issues found. All five entries were verified against their source PRs.
✅ File placement correct
ITestFilter(#8896) and[ClassCleanup]fix (#9503) →Changelog.md(MSTest)ITestHostLauncher(#9454), AzDO forwarding (#9463),PropertyBag.FirstOrDefault(#9488) →Changelog-Platform.md(MTP)
✅ Section placement correct
- #8896 (
ITestFilter) → Added ✅ - #9503 (
[ClassCleanup]cleanup leak) → Fixed ✅ - #9454 (
ITestHostLauncher) → Added ✅ - #9463 (AzDO log forwarding) → Added ✅ (defensible — a new wire protocol version 1.2.0 with serializer id 11 is introduced; "Fixed" could also be argued since AzDO commands were previously swallowed in multi-assembly runs, but the new-protocol-extension framing makes "Added" the right call)
- #9488 (
PropertyBag.FirstOrDefault) → Added ✅
✅ Experimental / stable markers verified
ITestFilter— markedexperimental✅ (PR #8896 does not apply[Experimental]toITestFilteritself; it is in theexperimentalbucket by convention since it hasn't shipped yet, consistent with how other pre-release MSTest APIs are called out)ITestHostLauncher— markedexperimental✅ (PR #9454 confirms all new types are[Experimental("TPEXP")])PropertyBag.FirstOrDefault<TProperty>()— not marked experimental ✅ (PR #9488 adds a stable public API modelled after the existingSingleOrDefault)
✅ Descriptions match source PRs
All five entry descriptions were cross-checked against the corresponding merged PR bodies and titles — no inaccuracies found.
✅ Link validity
All five PR hyperlinks (#8896, #9454, #9463, #9488, #9503) resolve to real, merged pull requests in microsoft/testfx.
Minor Observation (no action required)
The [TestFilterProviderAttribute] form in the Changelog.md entry uses the full class name (with the Attribute suffix). In C# you always write [TestFilterProvider] — you never write [TestFilterProviderAttribute] in source. However, this follows the same convention already established in the same file for [ArchitectureConditionAttribute] (#9233) and [ExecutableConditionAttribute] (#9369), so it is internally consistent and no change is needed.
Summary
All five missing changelog entries are correct, complete, and well-placed. The PR achieves exactly its stated goal: backfilling the five entries that were absent after the 2026-06-29 merge batch. Nothing blocks merging.
Five changelog entries missing after recent merges (2026-06-29):
docs/Changelog.md(MSTest 4.3.0 UNRELEASED — Added):ITestFilter/[TestFilterProviderAttribute]for programmatic per-test filtering —#8896docs/Changelog.md(MSTest 4.3.0 UNRELEASED — Fixed):[ClassCleanup]resource leak whenITestFilterdrops the last test of an initialized class —#9503docs/Changelog-Platform.md(MTP 2.3.0 UNRELEASED — Added):ITestHostLauncherextension point +Microsoft.Testing.Extensions.PackagedAppreference extension —#9454#9463PropertyBag.FirstOrDefault<TProperty>()(new stable public API) —#9488Add this agentic workflows to your repo
To install this agentic workflow, run