PackageTrack
Sign in Get early access

coverlet.msbuild

Coverlet is a cross platform code coverage library for .NET, with support for line, branch and method coverage.

10.0.1 257M downloads/mo #223 most downloaded on NuGet coverlet-coverage/coverlet

What this package is like to depend on

Last release 3 months ago

18 May 2026

Release timing varies

gaps range from 3 weeks to 13 months

Some releases are documented

notes for 19 of 42 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

42 releases · first in 2018

4 releases in the last 12 months

see the full history below

Release timeline

42 releases · Mar 2018 to May 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 42
  1. 10.0.1 18 May 2026
    Release notes

    Improvements

    Fixed

    • Fix inconsistent paths in cobertura reports #1723
    • Fix when using "is" with "and" in pattern matching, branch coverage is lower than normal #1313
    • Fix Coverlet flagging a branch for an async functions finally block where none exists #1337
    • Fix Coverlet Tracker Missing CompilerGeneratedAttribute #1828

    Maintenance

    • Add architecture docs and diagrams for all integrations #1927
    • Update NuGet packages and .NET SDK versions #1933

    Diff between 10.0.0 and 10.0.1

    Open source →
  2. 10.0.0 17 Apr 2026
    Release notes

    Improvements

    • Unique Report Filenames (coverlet.MTP and AzDO) #1866
    • Add --coverlet-file-prefix option for unique report files #1869
    • Introduce .NET 10 support #1823

    Fixed

    • Fix [BUG] Wrong branch rate on IAsyncEnumerable for generic type #1836
    • Fix [BUG] Missing Coverage after moving to MTP #1843
    • Fix [BUG] No coverage reported when targeting .NET Framework with 8.0.1 #1842
    • Fix [BUG] Behavior changes between MTP and Legacy (msbuild) #1878
    • Fix [BUG] Coverlet.MTP - Unable to load coverlet.mtp.appsettings.json #1880
    • Fix [BUG] Coverlet.Collector produces empty report when Mediator.SourceGenerator is referenced #1718 by https://github.com/yusyd
    • Fix [BUG] Crash during instrumentation (Methods using LibraryImport/DllImport have no body) #1762

    Maintenance

    • Add comprehensive async method tests and documentation for issue #1864
    • Replace Tmds.ExecFunction Package in coverlet.core.coverage.tests #1833
    • Add net9.0 and net10.0 targets #1822

    Diff between 8.0.1 and 10.0.0

    Open source →
    Release notes

    Improvements

    • Unique Report Filenames (coverlet.MTP and AzDO) #1866
    • Add --coverlet-file-prefix option for unique report files #1869
    • Introduce .NET 10 support #1823

    Fixed

    • Fix [BUG] Wrong branch rate on IAsyncEnumerable for generic type #1836
    • Fix [BUG] Missing Coverage after moving to MTP #1843
    • Fix [BUG] No coverage reported when targeting .NET Framework with 8.0.1 #1842
    • Fix [BUG] Behavior changes between MTP and Legacy (msbuild) #1878
    • Fix [BUG] Coverlet.MTP - Unable to load coverlet.mtp.appsettings.json #1880
    • Fix [BUG] Coverlet.Collector produces empty report when Mediator.SourceGenerator is referenced #1718 by https://github.com/yusyd
    • Fix [BUG] Crash during instrumentation (Methods using LibraryImport/DllImport have no body) #1762

    Maintenance

    • Add comprehensive async method tests and documentation for issue #1864
    • Replace Tmds.ExecFunction Package in coverlet.core.coverage.tests #1833
    • Add net9.0 and net10.0 targets #1822

    Release date 2026-03-17

    Packages

    Open source →
  3. 8.0.1 17 Mar 2026
    Release notes

    Fixed

    • Fix [BUG] TypeInitializationException when targeting .NET Framework #1818
    • Fix [BUG] coverlet.MTP build fails with CS0400 due to developmentDependency=true #1827

    Improvements

    • Additional improvements needed for .NET Framework instrumentation type import #1825

    Diff between 8.0.0 and 8.0.1

    Open source →
    Release notes

    Fixed

    • Fix [BUG] TypeInitializationException when targeting .NET Framework #1818
    • Fix [BUG] coverlet.MTP build fails with CS0400 due to developmentDependency=true #1827

    Improvements

    • Additional improvements needed for .NET Framework instrumentation type import #1825

    Release date 2026-02-15

    Packages

    Open source →
  4. 8.0.0 14 Feb 2026
    Release notes

    Special Thanks: A huge thank you to @Bertk for driving the majority of the work in this release! 🎉

    Fixed

    • Fix System.CommandLine 2.0 release is available #1776
    • Fix Excluding From Coverage bad defaults from given example #1764
    • Fix branchpoint exclusion for sdk 8.0.407 #1741
    • Fix missing copyright information in NuGet #1794
    • Fix bad default values in documentation #1764 by https://github.com/cboudereau

    Improvements

    • Coverlet MTP extension feature #1788
    • Generate SBOM for nuget packages #1752
    • Use multi targets projects for coverlet.collector, coverlet.msbuild.tasks packages #1742
    • Use .NET 8.0 target framework for coverlet.core and remove Newtonsoft.Json #1733
    • Use latest System.CommandLine version #1660
    • Upgraded minimum required .NET SDK and runtime to .NET 8.0 LTS (Long Term Support) (Breaking Change)
    • Use xunit.v3 for tests and example code

    Diff between 6.0.4 and 8.0.0

    Open source →
    Release notes

    Special Thanks: A huge thank you to @Bertk for driving the majority of the work in this release! 🎉

    Fixed

    • Fix System.CommandLine 2.0 release is available #1776
    • Fix Excluding From Coverage bad defaults from given example #1764
    • Fix branchpoint exclusion for sdk 8.0.407 #1741
    • Fix missing copyright information in NuGet #1794
    • Fix bad default values in documentation #1764 by https://github.com/cboudereau

    Improvements

    • Coverlet MTP extension feature #1788
    • Generate SBOM for nuget packages #1752
    • Use multi targets projects for coverlet.collector, coverlet.msbuild.tasks packages #1742
    • Use .NET 8.0 target framework for coverlet.core and remove Newtonsoft.Json #1733
    • Use latest System.CommandLine version #1660
    • Upgraded minimum required .NET SDK and runtime to .NET 8.0 LTS (Long Term Support) (Breaking Change)
    • Use xunit.v3 for tests and example code

    Release date 2025-01-20

    Packages

    Open source →
  5. 6.0.4 19 Jan 2025
    Release notes

    Fixed

    • Fix empty coverage report when using include and exclude filters #1726

    Diff between 6.0.3 and 6.0.4

    Open source →
    Release notes

    Fixed

    • Fix empty coverage report when using include and exclude filters #1726

    Release date 2024-12-31

    Packages

    Open source →
  6. 6.0.3 30 Dec 2024
    Release notes

    Fixed

    • Fix RuntimeConfigurationReader to support self-contained builds #1705 by https://github.com/pfeigl
    • Fix inconsistent filenames with UseSourceLink after .NET 8 #1679
    • Fix hanging tests #989
    • Fix coverlet instrumentation becomes slow after installing dotnet sdk 8.0.200 #1620
    • Fix upgrading v6.0.1 to v6.0.2 increases instrumentation time #1649
    • Fix Unable to instrument module - NET 8 #1631
    • Fix slow modules filtering process #1646 by https://github.com/BlackGad
    • Fix incorrect coverage await using in generic method #1490

    Improvements

    • Cache the regex used in InstrumentationHelper #1693
    • Enable dotnetTool integration tests for linux #660

    Diff between 6.0.2 and 6.0.3

    Open source →
    Release notes

    Fixed

    • Fix RuntimeConfigurationReader to support self-contained builds #1705 by https://github.com/pfeigl
    • Fix inconsistent filenames with UseSourceLink after .NET 8 #1679
    • Fix hanging tests #989
    • Fix coverlet instrumentation becomes slow after installing dotnet sdk 8.0.200 #1620
    • Fix upgrading v6.0.1 to v6.0.2 increases instrumentation time #1649
    • Fix Unable to instrument module - NET 8 #1631
    • Fix slow modules filtering process #1646 by https://github.com/BlackGad
    • Fix incorrect coverage await using in generic method #1490

    Improvements

    • Cache the regex used in InstrumentationHelper #1693
    • Enable dotnetTool integration tests for linux #660

    Release date 2024-03-13

    Packages

    Open source →
  7. 6.0.2 13 Mar 2024
    Release notes

    Fixed

    • Threshold-stat triggers error #1634
    • Fixed coverlet collector 6.0.1 requires dotnet sdk 8 #1625
    • Type initializer errors after updating from 6.0.0 to 6.0.1 #1629
    • Exception when multiple exclude-by-attribute filters specified #1624

    Improvements

    • More concise options to specify multiple parameters in coverlet.console #1624

    Diff between 6.0.1 and 6.0.2

    Open source →
    Release notes

    Fixed

    • Threshold-stat triggers error #1634
    • Fixed coverlet collector 6.0.1 requires dotnet sdk 8 #1625
    • Type initializer errors after updating from 6.0.0 to 6.0.1 #1629
    • Exception when multiple exclude-by-attribute filters specified #1624

    Improvements

    • More concise options to specify multiple parameters in coverlet.console #1624

    Release date 2024-02-19

    Packages

    Open source →
  8. 6.0.1 20 Feb 2024
    Release notes

    Fixed

    • Uncovered lines in .NET 8 for inheriting records #1555
    • Fix record constructors not covered when SkipAutoProps is true #1561
    • Fix .NET 7 Method Group branch coverage issue #1447
    • Fix ExcludeFromCodeCoverage does not exclude method in a partial class #1548
    • Fix ExcludeFromCodeCoverage does not exclude F# task #1547
    • Fix issues where ExcludeFromCodeCoverage ignored #1431
    • Fix issues with ExcludeFromCodeCoverage attribute #1484
    • Fix broken links in documentation #1514
    • Fix problem with coverage for .net5 WPF application #1221 by https://github.com/lg2de
    • Fix unable to instrument module for Microsoft.AspNetCore.Mvc.Razor #1459 by https://github.com/lg2de

    Improvements

    Diff between 6.0.0 and 6.0.1

    Open source →
    Release notes

    Fixed

    • Uncovered lines in .NET 8 for inheriting records #1555
    • Fix record constructors not covered when SkipAutoProps is true #1561
    • Fix .NET 7 Method Group branch coverage issue #1447
    • Fix ExcludeFromCodeCoverage does not exclude method in a partial class #1548
    • Fix ExcludeFromCodeCoverage does not exclude F# task #1547
    • Fix issues where ExcludeFromCodeCoverage ignored #1431
    • Fix issues with ExcludeFromCodeCoverage attribute #1484
    • Fix broken links in documentation #1514
    • Fix problem with coverage for .net5 WPF application #1221 by https://github.com/lg2de
    • Fix unable to instrument module for Microsoft.AspNetCore.Mvc.Razor #1459 by https://github.com/lg2de

    Improvements

    Release date 2023-05-21

    Packages

    Open source →
  9. 6.0.0 21 May 2023
    Release notes

    Fixed
    -Could not write lines to file CoverletSourceRootsMapping - in use by another process #1155
    -Incorrect coverage for methods returning IAsyncEnumerable in generic classes #1383
    -Wrong branch coverage for async methods .NET Standard 1.x #1376
    -Empty path exception in visual basic projects #775
    -Align published nuget package version to github release version #1413
    -Sync nuget and github release versions #1122

    Improvements
    -Migration of the project to .NET 6.0 #1473

    Breaking changes
    New parameter ExcludeAssembliesWithoutSources to control automatic assembly exclusion #1164. The parameter InstrumentModulesWithoutLocalSources has been removed. since it can be handled by setting ExcludeAssembliesWithoutSources to None.
    The default heuristics for determining whether to instrument an assembly has been changed. In previous versions any missing source file was taken as a signal that it was a third-party project that shouldn't be instrumented, with exceptions for some common file name patterns for source generators. Now only assemblies where no source files at all can be found are excluded from instrumentation, and the code for detecting source generator files have been removed. To get back to the behaviour that at least one missing file is sufficient to exclude an assembly, set ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion filters for more fine-grained control.

    Diff between 3.2.0 and 6.0.0

    Open source →
    Release notes

    Fixed

    • Could not write lines to file CoverletSourceRootsMapping - in use by another process #1155
    • Incorrect coverage for methods returning IAsyncEnumerable in generic classes #1383
    • Wrong branch coverage for async methods .NET Standard 1.x #1376
    • Empty path exception in visual basic projects #775
    • Align published nuget package version to github release version #1413
    • Sync nuget and github release versions #1122

    Improvements

    • Migration of the project to .NET 6.0 #1473

    Breaking changes

    • New parameter ExcludeAssembliesWithoutSources to control automatic assembly exclusion 1164. The parameter InstrumentModulesWithoutLocalSources has been removed. since it can be handled by setting ExcludeAssembliesWithoutSources to None.
    • The default heuristics for determining whether to instrument an assembly has been changed. In previous versions any missing source file was taken as a signal that it was a third-party project that shouldn't be instrumented, with exceptions for some common file name patterns for source generators. Now only assemblies where no source files at all can be found are excluded from instrumentation, and the code for detecting source generator files have been removed. To get back to the behavior that at least one missing file is sufficient to exclude an assembly, set ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion filters for more fine-grained control.

    Release date 2022-10-29

    Packages

    Open source →
  10. 3.2.0 29 Oct 2022
    Release notes

    Fixed

    • Fix TypeLoadException when referencing Microsoft.Extensions.DependencyInjection v6.0.1 #1390
    • Source Link for code generators fails #1322
    • Await foreach has wrong branch coverage when method is generic #1210
    • ExcludeFromCodeCoverage attribute on local functions ignores lambda expression #1302

    Added

    • Added InstrumentModulesWithoutLocalSources setting #1360 by @TFTomSun

    Release date 2022-02-06

    Packages

    Open source →
  11. 3.1.2 06 Feb 2022
    Release notes

    Fixed

    • Fix CoreLib's coverage measurement is broken #1286
    • Fix UnloadModule injection 1291

    Release date 2022-01-30

    Packages

    Open source →
  12. 3.1.1 30 Jan 2022
    Release notes

    Fixed

    • Fix wrong branch coverage with EnumeratorCancellation attribute #1275
    • Fix negative coverage exceeding int.MaxValue #1266
    • Fix summary output format for culture de-DE #1263
    • Fix branch coverage issue for finally block with await #1233
    • Fix threshold doesn't work when coverage empty #1205
    • Fix branch coverage issue for il switch #1177
    • Fix branch coverage with using statement and several awaits#1176
    • Fix CopyCoverletDataCollectorFiles to avoid to override user dlls for dotnet publish scenario #1243

    Improvements

    • Improve logging in case of exception inside static ctor of NetstandardAwareAssemblyResolver #1230
    • When collecting open the hitfile with read access #1214 by https://github.com/JamesWTruher
    • Add CompilerGenerated attribute to the tracker #1229

    Release date 2021-07-19

    Packages

    Open source →
  13. 3.1.0 19 Jul 2021
    Release notes

    Fixed

    Added

    Improvements

    Release date 2021-02-21

    Packages

    Open source →
  14. 3.0.3 21 Feb 2021
    Release notes

    Fixed

    • Fix code coverage stops working if assembly contains source generators generated file #1091

    Release date 2021-01-24

    Packages

    Open source →
  15. 3.0.2 24 Jan 2021
    Release notes

    Fixed

    • Fix multi-line lambda coverage regression #1060
    • Opt-in reachability helper to mitigate resolution issue #1061

    Release date 2021-01-16

    Packages

    Open source →
  16. 3.0.1 16 Jan 2021
    Release notes

    Fixed

    Release date 2021-01-09

    Packages

    Open source →
  17. 3.0.0 09 Jan 2021
    Release notes

    Fixed

    Added

    Release date 2020-05-30

    Packages

    Open source →
  18. 2.9.0 30 May 2020

    Nothing published for this version

  19. 2.8.1 02 Apr 2020

    Nothing published for this version

  20. 2.8.0 03 Jan 2020

    Nothing published for this version

  21. 2.7.0 22 Sep 2019

    Nothing published for this version

  22. 2.6.3 01 Jul 2019

    Nothing published for this version

  23. 2.6.2 06 Jun 2019

    Nothing published for this version

  24. 2.6.1 08 May 2019

    Nothing published for this version

  25. 2.6.0 04 Mar 2019

    Nothing published for this version

  26. 2.5.1 17 Jan 2019

    Nothing published for this version

  27. 2.5.0 20 Dec 2018

    Nothing published for this version

  28. 2.4.0 28 Nov 2018

    Nothing published for this version

  29. 2.3.2 19 Nov 2018

    Nothing published for this version

  30. 2.3.1 16 Oct 2018

    Nothing published for this version

  31. 2.3.0 07 Sep 2018

    Nothing published for this version

  32. 2.2.1 11 Aug 2018

    Nothing published for this version

  33. 2.1.1 16 Jul 2018

    Nothing published for this version

  34. 2.1.0 06 Jul 2018

    Nothing published for this version

  35. 2.0.1 12 Jun 2018

    Nothing published for this version

  36. 2.0.0 17 May 2018

    Nothing published for this version

  37. 1.2.0 02 May 2018
    Release notes

    Added

    • Add log to tracker #553
    • Exclude by assembly level System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage #589
    • Allow coverlet integration with other MSBuild test strategies#615 by https://github.com/sharwell

    Fixed

    • Fix and simplify async coverage #549
    • Improve lambda scenario coverage #583
    • Mitigate issue in case of failure in assembly loading by cecil #625
    • Fix ConfigureAwait state machine generated branches #634
    • Fix coverage overwritten if the project has multiple target frameworks #636
    • Fix cobertura Jenkins reporter + source link support #614 by https://github.com/daveMueller
    • Fix pdb file locking during instrumentation #656

    Improvements

    Release date 2019-09-23

    Packages

    Open source →
  38. 1.1.1 17 Apr 2018

    Nothing published for this version

  39. 1.1.0 16 Apr 2018
    Release notes

    Added

    Changed

    • Skip instrumentation of module with embedded pdb without local sources #510, with this today xunit will be skipped in automatic way.

    Fixed

    <!-- markdownlint-configure-file { "MD022": false, "MD024": false, "MD030": false, "MD032": false} -->

    Open source →
  40. 1.0.2 02 Apr 2018

    Nothing published for this version

  41. 1.0.1 26 Mar 2018

    Nothing published for this version

  42. 1.0.0 21 Mar 2018

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive