All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- 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
coverlet.msbuild 6.0.2 coverlet.console 6.0.2 coverlet.collector 6.0.2
- 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
- More concise options to specify multiple parameters in coverlet.console #1624
coverlet.msbuild 6.0.1 coverlet.console 6.0.1 coverlet.collector 6.0.1
- 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
- Extended exclude by attribute feature to work with fully qualified name #1589
- Use System.CommandLine instead of McMaster.Extensions.CommandLineUtils #1474 by https://github.com/Bertk
- Fix deadlog in Coverlet.Integration.Tests.BaseTest #1541 by https://github.com/Bertk
- Add coverlet.msbuild.tasks unit tests #1534 by https://github.com/Bertk
coverlet.msbuild 6.0.0 coverlet.console 6.0.0 coverlet.collector 6.0.0
- 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
- Allign published nuget package version to github release version #1413
- Sync nuget and github release versions #1122
- Migration of the project to .NET 6.0 #1473
- New parameter
ExcludeAssembliesWithoutSources
to control automatic assembly exclusion 1164. The parameterInstrumentModulesWithoutLocalSources
has been removed. since it can be handled by settingExcludeAssembliesWithoutSources
toNone
. - 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
toMissingAny
, or use assembly exclusion filters for more fine-grained control.
coverlet.msbuild 3.2.0 coverlet.console 3.2.0 coverlet.collector 3.2.0
- 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 InstrumentModulesWithoutLocalSources setting #1360 by @TFTomSun
coverlet.msbuild 3.1.2 coverlet.console 3.1.2 coverlet.collector 3.1.2
coverlet.msbuild 3.1.1 coverlet.console 3.1.1 coverlet.collector 3.1.1
- 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 fordotnet publish
scenario #1243
- 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
coverlet.msbuild 3.1.0 coverlet.console 3.1.0 coverlet.collector 3.1.0
- Fix branch coverage for targetframework net472 #1167
- Fix F# projects with
unkown
source #1145 - Fix SkipAutoProps for inline assigned properties #1139
- Fix partially covered throw statement #1144
- Fix coverage threshold not failing when no coverage #1115
- Fix partially covered
await foreach
statement #1107 by https://github.com/alexthornton1 - Fix
System.MissingMethodException
(TryGetIntArgFromDict) #1101 - Fix ExcludeFromCodeCoverage on props #1114
- Fix incorrect branch coverage with await using #1111 by https://github.com/alexthornton1
- Support deterministic reports #1113
- Specifying threshold level for each threshold type #1123 by https://github.com/pbmiguel
- Implementation of Npath complexity for the OpenCover reports #1058 by https://github.com/benjaminZale
coverlet.msbuild 3.0.3 coverlet.console 3.0.3 coverlet.collector 3.0.3
- Fix code coverage stops working if assembly contains source generators generated file #1091
coverlet.msbuild 3.0.2 coverlet.console 3.0.2 coverlet.collector 3.0.2
- Fix multi-line lambda coverage regression #1060
- Opt-in reachability helper to mitigate resolution issue #1061
coverlet.msbuild 3.0.1 coverlet.console 3.0.1 coverlet.collector 3.0.1
- Fix severe loss in coverage #1043 by https://github.com/daveMueller
coverlet.msbuild 3.0.0 coverlet.console 3.0.0 coverlet.collector 3.0.0
- Attribute exclusion does not work if attribute name does not end with "Attribute" #884 by https://github.com/bddckr
- Fix deterministic build+source link bug #895
- Fix anonymous delegate compiler generate bug #896
- Fix incorrect branch coverage with await ValueTask #949 by https://github.com/alexthornton1
- Fix switch pattern coverage #1006
- Skip autoprops feature #912
- Exclude code that follows [DoesNotReturn] from code coverage #904 by https://github.com/kevin-montrose
CoverletReport
MSBuild variable containing coverage filenames #932 by https://github.com/0xced- Add Visual Studio Add-In #954 by https://github.com/FortuneN
- Remove workaround for deterministic build for sdk >= 3.1.100 #965
- Allow standalone coverlet usage for integration/end-to-end tests using .NET tool driver #991
- Support .NET Framework(>= net461) for in-process data collectors #970
coverlet.msbuild 2.9.0 coverlet.console 1.7.2 coverlet.collector 1.3.0
- Fix for code complexity not being generated for methods for cobertura reporter #738 by https://github.com/dannyBies
- Fix coverage, skip branches in generated
MoveNext()
for singleton iterators #813 by https://github.com/bert2 - Fix 'The process cannot access the file...because it is being used by another process' due to double flush for collectors driver #https://github.com/coverlet-coverage/coverlet/pull/835
- Fix skip [ExcludefromCoverage] for generated async state machine #849
- Added support for deterministic build for msbuild/collectors driver #802 #796 with the help of https://github.com/clairernovotny and https://github.com/tmat
- Refactore DependencyInjection #728 by https://github.com/daveMueller
coverlet.msbuild 2.8.1 coverlet.console 1.7.1 coverlet.collector 1.2.1
- Fix ExcludeFromCodeCoverage attribute bugs #129 and #670 with #671 by https://github.com/matteoerigozzi
- Fix bug with nested types filtering #689
- Fix Coverage Issue - New Using + Async/Await + ConfigureAwait #669
- Improve branch detection for lambda functions and async/await statements #702 by https://github.com/matteoerigozzi
- Improve coverage, hide compiler generated branches for try/catch blocks inside async state machine #716 by https://github.com/matteoerigozzi
- Improve coverage, skip lambda cached field #753
- Trim whitespace between values when reading from configuration from runsettings #679 by https://github.com/EricStG
- Code improvement, flow ILogger to InstrumentationHelper #727 by https://github.com/daveMueller
- Add support for line branch coverage in OpenCover format #772 by https://github.com/costin-zaharia
coverlet.msbuild 2.8.0 coverlet.console 1.7.0 coverlet.collector 1.2.0
- 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
- 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
- Improve exception message for unsupported runtime [#569](https://github.com/tonerdo/ coverlet/pull/569) by https://github.com/daveMueller
- Improve cobertura absolute/relative path report generation #661 by https://github.com/daveMueller
coverlet.msbuild 2.7.0 coverlet.console 1.6.0 coverlet.collector 1.1.0
- Output multiple formats for vstest integration #533 by https://github.com/daveMueller
- Different exit codes to indicate particular failures #412 by https://github.com/sasivishnu
- Skip instrumentation of module with embedded ppbd without local sources #510, with this today xunit will be skipped in automatic way.
- Fix exclude by files #524
- Changed to calculate based on the average coverage of the module #479 by https://github.com/dlplenin
- Fix property attribute detection #477 by https://github.com/amweiss
- Fix instrumentation serialization bug #458
- Fix culture for cobertura xml report #464