altcover.api
7.3.806
See the version list below for details.
dotnet add package altcover.api --version 7.3.806
NuGet\Install-Package altcover.api -Version 7.3.806
<PackageReference Include="altcover.api" Version="7.3.806" />
paket add altcover.api --version 7.3.806
#r "nuget: altcover.api, 7.3.806"
// Install altcover.api as a Cake Addin
#addin nuget:?package=altcover.api&version=7.3.806
// Install altcover.api as a Cake Tool
#tool nuget:?package=altcover.api&version=7.3.806
A cross-platform pre-instrumenting code coverage tool set for .net/.net core and Mono
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on altcover.api:
Package | Downloads |
---|---|
altcover.cake
A cross-platform pre-instrumenting code coverage tool set for .net/.net core and Mono |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on altcover.api:
Repository | Stars |
---|---|
IgorBuchelnikov/ObservableComputations
Cross-platform .NET library for computations whose arguments and results are objects that implement INotifyPropertyChanged and INotifyCollectionChanged (ObservableCollection) interfaces.
|
Version | Downloads | Last updated |
---|---|---|
8.8.21 | 91 | 4/15/2024 |
8.8.10 | 97 | 4/6/2024 |
8.7.3 | 163 | 3/14/2024 |
8.6.125 | 4,175 | 1/4/2024 |
8.6.95 | 211 | 11/14/2023 |
8.6.68 | 5,781 | 7/10/2023 |
8.6.61 | 207 | 6/6/2023 |
8.6.45 | 324 | 3/21/2023 |
8.6.40 | 343 | 3/16/2023 |
8.6.14 | 823 | 1/1/2023 |
8.5.842 | 491 | 12/25/2022 |
8.5.841 | 580 | 11/19/2022 |
8.4.840 | 584 | 10/17/2022 |
8.3.839 | 402 | 9/13/2022 |
This build from https://github.com/SteveGilham/altcover/tree/6d2ae4747df461dab22632b4dd8e372058a01845
Q. Never mind the fluff -- how do I get started?
A. Start with the Quick Start guide : https://github.com/SteveGilham/altcover/wiki/QuickStart-Guide
# 7.3.806 (Genbu series release 11a)
* [BUGFIX] Handle concurrent instrumentation in the case `dotnet test [multipletestprojects].sln /p:AltCover="true" --output [commonArtifactsFolder]`
# 7.3.805 (Genbu series release 11)
* Extra detection and removal of compiler generated branches in C# `async`/`await` constructs
* Revise the whole `dotnet test` integration
* Will support SDK versions back at least to v2.1.809, but v2.1.300 is definitely now out of support due to API changes to the `Microsoft.TestPlatform.Build.Tasks.VSTestTask` task in the interim
* Rather than copy/instrument back to `$(TargetDir)`/clean and copy-back, now instrument to a new directory and test there; there are now no worries about instrumented code ever being in the actual build artifact output directory
* `/p:AltCoverForce=true` now simply clears the instrumentation target directory, and gives an informational message only
* Resolve the instrumentation directory once and only once -- prevents inconsistent handling in the case where command line parameter`--output` redirects `$(TargetDir)` part-way through the process
* Some refactoring and other build process improvements
# 7.3.802 (Genbu series release 10)
* Add a `-q`option for AltCover, given once suppresses informational messages, twice also suppresses warnings and thrice also suppresses errors. Away from the command line, the option is called `Verbosity`, and is based on `System.Diagnostics.TraceLevel` -- the default level being `Info`, with `Warning`, `Error` and `Off` equivalent to `-q`, `-qq` and `-qqq` respectively. For the moment `Verbose` is the same as `Info`
* Other minor build process improvements
# 7.2.801 (Genbu series release 9)
* [BUGFIX] Don't `ArgumentNullException` when running the `--callContext` for `async` feature off the build machine
* [BUGFIX] Refactor to avoid "System.ArgumentException: An item with the same key has already been added. Key: AltCover.Recorder.g/7.2.0.0" that could occur in some rare circumstances while instrumenting code.
* Other minor build process improvements
# 7.2.800 (Genbu series release 8)
* [BUGFIX] Don't produce invalid IL when `--callContext` indicates a method with a non-`void` return (issue #105, and probably #26 too)
* [BUGFIX] Restore application icons, even if they only show in the `.exe `forms (lost in 7.1.795 if not before)
* [BUGFIX] Add `AltCover` prefix to MSBuild property names `NetCoreEngine`, `NetStdEngine` (global), `InputDirectory` and `OutputDirectory` (target-scoped) in the injected `.targets` file for `dotnet test` integration.
* [BUGFIX] Let the AvaloniaUI based visualizer roll forwards from netcoreapp2.1 onto later runtimes
* Finer-grained control of the coverage summary output
* When `--callContext` indicates an `async` method, then track all calls within the same async flow, and not just in the direct same-thread call stack. **Note** other out-of-thread calls (`Thread.Start`, `Parallel.Invoke`, explict Async-named method invocation, ...) are not tracked.
* Build with net5.0 SDK (modulo work-round for https://github.com/dotnet/fsharp/issues/10442) in net5-only environments
* Still build `AltCover.exe/.dll` against `net472` for framework support, `netcoreapp2.1` for the global tool and `netcoreapp2.0` for everywhere else
* Still build the GTK2 visualizer against `net472` for consistency
* Still build the recorder at `net20` and use that assembly everywhere (see F# compiler issue noted above) except where a `net46` version is substituted for tracking through `async` calls
* Move unit tests to `net5.0`, as they are not public API
# 7.1.795 (Genbu series release 7)
* [BUGFIX] Make LCov tracefile output follow what is actually generated, and not just what the `man` page says
* As well as interfaces, hide other types with no non-abstract methods (e.g. plain enums) in the coverage
* Show the branch in `public int string Ternary(bool select) => !select ? Left : Right;` just like it is shown in `public int Ternary (bool select, int left, int right) { return select ? left : right; }`.
* For <TrackedMethod /> records, add `entry` and `exit` attributes as semicolon separated lists of the UTC times in ticks at which the method was entered and returns
* For `dotnet test ... /p:AltCoverXmlReport=...` , if the value for the report file path contains one of the following literals
* $(ProjectName)
* $(SolutionDir)
* $([System.Guid]::NewGuid())
then substitute in the actual values of those build parameters where they haven't already been replaced by MSBuild.
Example: Using `/p:AltCoverXmlReport=$(SolutionDir)/_Reports/solution.$(ProjectName).xml` with `dotnet test` of a solution to place distinctly named report files in a common folder.
Also
* Rationalise .net versions to help speed up the build and ease the net5.0 transition
* Clear out some corner case differences between .net core and .net framework builds based on old work-arounds for symbol writing for the instrumented files
* Build the recorder at `net20` only and use the same assembly everywhere
* Move all the core logic from `AltCover.exe/.dll` to `AltCover.Engine.dll`
* Unify the three different entry-point assembly instances into the now shim-like `AltCover.exe/.dll`
* Build everything against `netstandard2.0` except executable shims and unit tests (tests at `netcoreapp3.0` by default)
* Build `AltCover.exe/.dll` against `net472` for framework support, `netcoreapp2.1` for the global tool and `netcoreapp2.0` for everywhere else
* Build the GTK2 visualizer against `net472` for consistency
* `net472` debug builds for published libraries are retained purely for FxCop consumption
* Collect coverage from unit tests at build time too
# 7.1.783 (Genbu series release 6a)
* [Visualizer-global-tool]
* [BUGFIX] Don't NRE when cancelling a File Open dialog when Avalonia uses its GTK binding (Linux)
* Support font selection on Windows natively (monospace fonts only)
* On non-Windows platforms, if Tcl/Tk `wish` is present, use that to perform font selection (choose wisely)
# 7.1.782 (Genbu series release 6)
* [BUGFIX] Don't throw NRE when encountering an interface with a default method implementation
* Omit interfaces without default method implementations from coverage recording, to match the behaviour of OpenCover (Issue #91)
* [Visualizer-global-tool]
* Fix the display of branch information on the second and subsequent coverage file loaded in a session
* Fix the loading of the most recently accessed files list to prune ones that don't now exist
* other minor tidyings
* [Visualizer-GTK]
* Make this look more like the Avalonia version
* Tentative fix for the `About` dialog link-button on non-Windows platforms based partly on the Avalonia code.
* Keep the GTK3 build in step, even though it's not packaged for release
# 7.1.780 (Genbu series release 5a)
* [Visualizer] Rewritten global tool based on the cross-platform AvaloniaUI toolkit (so no need for all the GTK3 set-up, including the `--schemadir[=path]` command-line parameter)
* There's no font selection support yet as AvaloniaUI doesn't offer a cross-platform one
* The colour scheme differs as there's not yet support for selecting a different background brush for text ranges -- covered = blue text
* line numbers are shown, and are coloured according to any sequence point starting that line
# 7.1.778 (Genbu series release 5)
* [BUGFIX] Address problems revealed in issue #87
* The collection process now fails gracefully if the XML report is missing or broken
* `dotnet test` will halt after instrumentation fails, should it do so, rather than continuing to test and process the missing or broken XML report
* Work round F# issue 9255 by replacing Newtonsoft as the JSON processor with one that can static link
# 7.1.777 (Genbu series release 4)
* [BUGFIX] Fix the GTK2/Framework Visualizer (broken since v6.8.761)
* Multi-monitor support for the Visualizer in all versions; the window will restore to its previous location even when placed on non-primary monitors
* Use integrated MSBuild error reporting in the data collector [used by the `dotnet test` integration](https://github.com/SteveGilham/altcover/wiki/The-AltCover-data-collector-and-%60dotnet-test%60).
# 7.1.776 (Genbu series release 3)
* [BUGFIX] Set the `visited` attribute and CRAP score accordingly for methods with no sequence points, if the method is recorded as having been visted at all.
* [BUGFIX] Exclude CRAP score for methods with no sequence points from the min/max summary values for the containing type and above (just as such methods aren't counted for the other roll-up quantities)
* Emit CRAP score values in the OpenCover style summary
* Distinguish between methods with source and no source in the threshold computations, the option to select the alternative measures (AM, AC) that include the no-source methods. Extend the `TypeSafe.Thresholds` record type with the coresponding extra fields.
* On a threshold violation, always report that via return code by preference to any non-zero process value.
# 7.0.773 (Genbu series release 2)
* [BUGFIX] Compute CRAP score for unvisited methods too (and add it to the higher level summary items)
* Add `TypeSafe.Filters.Join` to compute the concatenation of a `TypeSafe.FilterItems seq` to an existing `TypeSafe.Filters` instance. Strict SemVer would bump the minor version at this point, but given the short time since the initial 7.0 release, I doubt the dust has settled fully yet.
# 7.0.770/771 (Genbu series release 1)
* There are functional changes (fixes and enhancements from the previous pre-release)
* [BUGFIX] Don't automatically exclude C# inner functions (and other `[CompilerGenerated]`) from coverage.
* [BREAKING; Command Line] Option `--defer` now takes no arguments; there is no use-case for the `--defer:-` so that and the redundant `--defer:+` are gone
* [BREAKING; MSBuild tasks] `AltCover.Prepare.Defer` defaults to `true`; in `dotnet test`, as the value is overridden (effectively forced true), this has no effect.
* [BREAKING; PowerShell] rename and generalise `Format-FromCoverletOpenCover` as `Write-OpenCoverDerivedState`
* [BREAKING; API] Rationalise and rename across most parts of the API, above and beyond the pre-release; remove `CSApi` as a separate assembly, with the main `AltCover` assembly publishing that part of the C# callable API, and split `FSApi` into `Toolkit` for PowerShell support and `DotNet` for `dotnet test` support.
* Add `--attributetoplevel`, `--typetoplevel` and `--methodtoplevel` command line options (and equivalents) to allow inner classes or functions to be included in coverage independently their containing class or function.
* Revise/update/fix the Wiki API pages, help-text and the like
* Autogenerate more of the documentation
# 7.0.766-pre (Genbu series release pre-1)
* There should not be any functional changes before a full 7.0 release; the pre-release is just to ensure I'm happy with the API before freezing it for 7.x
* [BREAKING] Replace the `--opencover` command line argument and its equivalents with `--reportFormat=...` defaulting to `OpenCover` and currently also accepting `NCover`
* [BREAKING; dotnet tool] Remove the deprecated `altcover.dotnet` package with the old-style `DotNetCliToolReference` Tool
* [BREAKING; API] Rename the `AltCover_Fake` namespace to `AltCoverFake`, because it's simpler that way
* [BREAKING; API] Remove obsolete APIs previously marked as `[Obsolete]`
* [BREAKING; API] Rationalise and rename across most parts of the API
* [BREAKING; API, PowerShell] PowerShell cmdlets and the supporting API are now all `XDocument` based
* [BREAKING; PowerShell] Make the `Invoke-AltCover -ShowStatic` parameter take only the typesafe `enum`
* [Documentation] Completely revise the API documentation in [the wiki](https://github.com/SteveGilham/altcover/wiki)
* [PowerShell]`Add-Accelerator` and `Get-Accelerator` cmdlets to write and read new type accelerators e.g. `[xdoc]` for `System.Xml.Linq.XDocument`
* `--zipfile` command line option (and equivalents) to put the coverage report into a `.zip` archive
* `--methodpoint` command line option (and equivalents) to restrict visit reporting to just the method level
* extend `--threshold` command line option (and equivalents) to allow minimum branch or method coverage, and maximum CRAP score
* [Global tool] `TargetsPath` command line option for the global `altcover` tool to report where the associated `.targets` file is located (as it can't be `dotnet add`ed to a project)
For previous releases (6.x.x and earlier) [go here](https://github.com/SteveGilham/altcover/blob/master/ReleaseNotes%20-%20Previously.md)