Skip to content

Releases: SteveGilham/altcover

Habu series release 15

13 Sep 13:01
Compare
Choose a tag to compare

8.3.839

  • [BUGFIX] -- Issue #161: Add retry logic to ContingentCopy task
  • [BUGFIX] -- Issue #165: Work around Cecil issue #873 by omitting debug information for constants that cause that issue. N.B. will not catch cases in methods that are not instrumented.

Habu series release 14

30 Jun 12:28
Compare
Choose a tag to compare

8.3.838

  • [GTK-VISUALIZER] Fix off-by-one error in markup for the very last line of the file
  • [BUGFIX] -- Out-of-process APIs generating dotnet test: fix to allow activating ZipFile, MethodPoint, SingleVisit and SourceLink
  • [BUGFIX] -- Issue #156: Out-of-process APIs generating dotnet test: fix /p:AltCoverDependencyList to work around the behaviour of dotnet test with an argument ending .dll or .exe. Users rolling their own command lines, note that the assembly list is separated and terminated with '|' characters. The --dependency command line argument for the tool is not affected.
  • [BUGFIX] -- Issue #156: Make explicit dependencies through --dependency have priority over other assembly resolution lookup. This works around a Mono.Cecil misfeature (Mono.Cecil issue #863) where the netstandard2.0 Cecil binaries do not consider the GAC for Framework system assemblies, but instead will find stubs in dotnet/shared/Microsoft.NETCore.App for e.g. .net Framework WPF related assemblies
  • [BUGFIX] -- Improve selection of non-embedded symbol files (between location in assembly debug header, the same directory as the assembly and any --symbolDirectory values) to avoid symbol mismatch when there are multiple possible files on offer
  • Add a --verboseoption for AltCover, the converse of -q. Away from the command line, adds meaning to the Verbosity option value System.Diagnostics.TraceLevel.Verbose. Currently Verbose output shows more of the selection of files for instrumentation, noting when files are excluded from the process, symbol file selection etc.
  • Add a matching field, ILoggingOptions.Verbose, to the API as a sink to capture verbose output.
  • Other minor build process adjustments for SDK 6.0.300/F# 6.0.4, 6.0.5

Habu series release 13

10 Mar 17:35
Compare
Choose a tag to compare

8.2.837

  • [VISUALIZER] Critical bug fixes for GTK and Avalonia : mismatched new icon names causing crashes
  • [VISUALIZER] Use new coverage data icon for the coverage report file, not a generic report icon

Habu series release 12

10 Mar 16:28
Compare
Choose a tag to compare

8.2.836

  • [BUGFIX] Fix project file path handling in Cake support
  • [BUGFIX] Improve heuristic to recognise (and ignore) state-machine injected branches in async methods; this may cause subtle changes, up or down, in branch detection for other generated code ("hidden" sequence points) contexts with branches
  • Use VS2022 icons in the Visualizer

Habu series release 11

29 Jan 10:49
Compare
Choose a tag to compare

8.2.835

  • [BUGFIX] Fix tracked methods in the Merge-OpenCover cmdlet
  • [BUGFIX] Fix blocking issue in Cake support; and add operational test
  • Move Fake.Build support to 5.21 as minimum; updating other supporting libraries

Habu series release 10

12 Dec 19:09
Compare
Choose a tag to compare

8.2.833

  • [BUGFIX] Work-round more (problems with ill-formed debug data)[https://github.com/jbevain/cecil/issues/816] (issue #135)
  • [BUGFIX] An infinite loop while instrumenting when faced with an inner function that is also a closure (also issue #135)
  • [BUGFIX] Address issue #71 by pre-allocating storage for each instrumented assembly; rather than allocating on demand, with any timing related issues not adequately dealt with subject to catch-and-ignore
  • For instrumented assemblies, write embedded debug symbols, independent of the input choice.
  • Improved release note formatting
  • Some overhaul and updating of neglected parts of the build and test script
  • Reduce to a minimum the differences in the source between the net20 and net46-for-async versions of the recorder; then just rewrite the net20 version with the delta on demand.
  • Some minor improvements to the data collector for dotnet test use, with example of how to employ explicitly in AltCover "classic" mode in the "UnitTestWithAltCoverCore" fake build target

Habu series release 9

27 Nov 17:15
Compare
Choose a tag to compare

8.2.831

  • [BUGFIX] Make the static-linked parts of the recorder assembly internal, so only the AltCover instrumentation API is exposed -- removes type duplications from the environment that may confuse run-time assembly creation e.g. by Marten (issue #133)
  • For CallContext, add async-aware tracking for all methods returning Task or Task<T> not just ones with the C# async shape. This includes functions returning the new F#6 task{} computation expression.
    • Note there is a support gap : running this under .net Framework less than v4.6 (i.e. a test machine with a pre-2015-JUL-20 environment) will not work, even though Task is a .net 4.0 feature, as the tracking support relies on .net 4.6 async features.
  • Emit (a warning)[https://stevegilham.github.io/altcover/AltCover.Engine/AltCover/AltCover.LoggingOptions/Warn-apidoc] if any of the files input to the instrumentations have previously been instrumented, leaving those files untouched (apart from any Recorder assembly, which will still be overwritten). For dotnet test this is an MSBuild warning, for powershell, it is delivered via Cmdlet.WriteWarning.
    • This behaviour is subject to change in future releases
  • Rework of the build process to keep artifacts out of the tracked directories

Habu series release 8

13 Nov 13:16
Compare
Choose a tag to compare

8.2.828

  • Absorb .net 6 release into build tooling (awaiting a non-preview updated release of (fake.build)[https://fake.build/] to be able to upgrade to FSharp.Core 6.x -- still have to target the v5.x library even if the build uses the F#6 compiler)
  • Where the debug symbols used in the instrumentation contain embedded source (e.g. from source generators), represent that within the generated report --
    • for OpenCover format, as an altcover.embed attribute added to the File element
    • for NCover classic, altcover.file elements are added after the method records in a module, with attributes document and embed
    • and for the extended coverlet JSON format, as a type «AltCover.embed» with an empty method with name being the embedded text.
  • [VISUALIZER] Support the extended formats for display, using the embedded source in preference to the file system whenever present
  • Support these extensions in conversions between formats -- conversion to Lcov and Cobertura currently lose this information
  • Other fixes/enhancements to these conversions, esp. in the cases of partial classes and inlined code
  • Compute summary data correctly in the output from Json to OpenCover
  • Carry both recorder versions (net20 and net46) as resources to simplify self-test behaviour
  • Move baseline Cake support to v1.1.0 and Fake to v5.20.4

Habu series release 7

22 Oct 11:13
Compare
Choose a tag to compare

8.2.825

  • Next release will be post .net 6 release to accommodate its impact, barring show-stoppers
  • [BUGFIX] As noted in Q&A discussion (#107), satellite assemblies, and in issue #47 platform specific library subfolders, were not being copied appropriately relative to the instrumented location; this is now resolved.
  • [BUGFIX] Prevent --localSource possibly excluding locally built assemblies using source generators.
  • [VISUALIZER] Fixes and updates
    • On the global tool, don't put expander icons (˃) on leaf nodes, i.e. most methods, all source -- such icons are an automatic feature in GTK, but are manual in Avalonia.
    • Don't throw while trying to determine if a file that doesn't exist is outdated

Habu series release 6c

09 Sep 18:01
Compare
Choose a tag to compare

8.2.824

  • [VISUALIZER] Fixes and updates
    • [REGRESSION] Fix where multiple source file support broke JSON coverage support
    • Not all coverage reports are XML -- fix root node icon
    • Add more icons indicating non-default states (files missing, changed, via sourcelink &c)
    • Replace most of the annoying pop-ups with tool-tips