Skip to content

V10.1.0/sync to fork - #3

Merged
gimlichael merged 5 commits into
masterfrom
v10.1.0/sync-to-fork
Sep 28, 2026
Merged

gimlichael merged 5 commits into
masterfrom
v10.1.0/sync-to-fork

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request synchronizes the Codebelt.Coverlet.MTP fork with upstream coverlet 10.1.0, selectively porting only relevant fixes and enhancements while preserving the fork's narrowed MTP/core package surface and multi-targeted package layout. The most important changes include honoring the Microsoft Testing Platform --config-file argument, improving assembly resolution to prevent empty coverage, and adding regression tests for these scenarios. Documentation and changelog entries have also been updated to reflect the new release and repository workflow.

Feature and Bug Fixes:

  • The collector now honors the Microsoft Testing Platform --config-file argument, using it to load configuration settings if provided, and only falling back to legacy coverlet.mtp.appsettings.json discovery if not specified.
  • Assembly resolution has been improved: if a required assembly is missing from all *.deps.json compileLibraries, the resolver now falls back to NetCoreSharedFrameworkResolver to locate the assembly in the shared framework, preventing cases of silently empty coverage due to recent .NET SDK changes.

Testing Improvements:

  • Added a regression test to ensure assemblies missing from compileLibraries are correctly resolved from the shared framework, preventing coverage gaps for modules affected by SDK dependency context changes.
  • Added regression coverage for ExcludeByAttribute=CompilerGeneratedAttribute to ensure async state-machine methods remain instrumented.

Documentation and Project Guidance:

  • Updated CHANGELOG.md for the 10.1.0 release, describing the selective sync and the above fixes. [1] [2]
  • Added AGENTS.md with detailed repository guidance and an upstream sync workflow, clarifying how to maintain the fork's narrowed package surface and avoid reintroducing upstream features that were intentionally removed. [1] [2]

Synchronize the changelog with upstream coverlet 10.1.0 fixes that have been ported to this fork's narrowed MTP and core package surface.
Add AGENTS.md with upstream synchronization workflow and fork-specific constraints to guide future maintenance. Update solution file to include this guidance document.
Add support for the Microsoft Testing Platform --config-file command-line argument in the coverlet.MTP collector, falling back to the legacy coverlet.mtp.appsettings.json discovery only when no config file is explicitly specified.
Fix assembly resolution to fall back to NetCoreSharedFrameworkResolver when an assembly is completely absent from all *.deps.json compileLibraries (occurs when FrameworkReference is declared transitively in recent SDK versions). Prevents silently empty coverage reports for modules affected by this dependency context behavior.
Add regression tests for issue coverlet-coverage#1727 to ensure that async state-machine methods remain instrumented when ExcludeByAttribute=CompilerGeneratedAttribute is configured. Includes unit test for shared-framework assembly resolution fallback. Updates test infrastructure to support excludeAttributes parameter.
@gimlichael gimlichael self-assigned this Sep 28, 2026
@gimlichael
gimlichael merged commit 91c8882 into master Sep 28, 2026
30 of 33 checks passed
@gimlichael
gimlichael deleted the v10.1.0/sync-to-fork branch September 28, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants