Skip to content

Releases: SteveGilham/altcover

Habu series release 6b

05 Sep 21:05
Compare
Choose a tag to compare

8.2.823

  • [VISUALIZER] Fixes and updates
    • [REGRESSION] Fix where multiple source file support broke methods with no source file
    • [BUGFIX] Fix where some types were erroneously shown as functions (ƒₓ)
    • Allow for TAB characters (which occupy 1 column only in the .PDB), and display → rather than ◻ in the global tool (TAB expands to 8 spaces in the GTK# build)
    • Update icons to VS2019 from VS2017 (except where taken from GTK in the GTK# build), which means slightly more colours in the tree view, and a small change to the branch indicator.

[DEPRECATED] Habu series release 6a

02 Sep 20:08
Compare
Choose a tag to compare

8.2.822

  • [VISUALIZER] Support OpenCover's output from C++/CLI assemblies compiled /Zi (line information only, zero column values)
    • account for (& simplify) the C++/CLI attribute decorations in method names
    • allow for (& simplify) gcroot<type::with::Cpp::namespacing ^> types in method names
    • allow source file selection for methods with code inlined from multiple source files

Habu series release 6

21 May 15:12
Compare
Choose a tag to compare

8.2.821

  • Support deterministic builds /p:ContinuousIntegrationBuild=true, with or without --sourcelink//p:AltCoverSourceLink=true. Note that assemblies created by deterministic builds will be excluded by -l//p:AltCoverLocalSource=true.
  • Experiment with the ReadMe feature recently added to NuGet
  • Internal refactoring of the JSON processing following the replacement of System.Text.Encodings.Web in the previous release.

Habu series release 5

26 Apr 13:10
Compare
Choose a tag to compare

8.2.820

  • Replace System.Text.Encodings.Web for JSON-escaping module, class and method names
  • [BUGFIX] issue #125 -- prevent an NullReferenceException is some cases of computing cyclomatic complexity (a failure to exactly copy the algorithm from Mono.Gendarme)
  • [ENHANCEMENT; API] issue #126 -- further generalise the relative-directory support for CopyAlways/CopyIfNewer from v7.4; extends the ContingentCopy MSBuild task

Habu series release 4

14 Apr 08:11
Compare
Choose a tag to compare

8.1.819

  • Adapt to recent F# compiler optimizations that make function objects static if they don't close over their environment -- properly detect their owner functions for exclusion and for JSON format output
  • If the report format is JSON, ensure that the coverage file doesn't end .xml, and if not JSON, that it doesn't end .json (case-blind comparison)

Habu series release 3

01 Mar 16:57
Compare
Choose a tag to compare

8.1.817

  • Merge-OpenCover cmdlet and OpenCover.Merge API. It should handle both strict (OpenCover, AltCover --reportFormat=OpenCover) and more relaxed (coverlet, ConvertFrom-CoverageJson, Write-OpenCoverDerivedState -Coverlet) interpretations
  • When --callContext indicates a method returning an F# async computation, then track all calls within the same async flow, just as with C# async methods from v7.2.800

Habu series release 2

19 Feb 17:46
Compare
Choose a tag to compare

8.0.816

  • Move to Cake 1.0 as baseline for Cake support
  • [VISUALIZER] Support for LCov and Cobertura format reports
  • [VISUALIZER] For formats with only line-level information (e.g. LCov, Covertura or from coverlet), colour the whole line, and not just the line number gutter

Habu series release 1

16 Feb 11:16
Compare
Choose a tag to compare

8.0.815

  • [BUGFIX] Issue 122 -- rework the method name tokenization for extracting the returnType (argumentList) signature extraction in the Cobertura output, fixing an off-by-one error that generated returnType argumentList) without the ( as well as the headline exception.
  • [NEW] Native JSON report formatting (--reportFormat=Json or equivalents), a superset of coverlet's JSON
    • AltCover classic mode -- just running the instrumented code and collecting results in the ProcessExit handler -- is not supported with --reportFormat=Json
    • ConvertFrom-CoverageJson cmdlet to convert from coverlet or AltCover JSON to a miminal OpenCover format
    • Preparing as Native JSON, to generate an LCov or Cobertura report at collection is supported
  • [VISUALIZER] Both versions will now consume and display from coverlet and AltCover JSON output
  • [BREAKING] the -x, --xmlReport argument or equivalent becomes just -r, --report since not all reports are XML
  • [BREAKING] the stop-gap --jsonReport collection option from v7.6 is withdrawn, and the related ConvertTo-CoverageJson cmdlet now produces the AltCover native JSON format
  • For both LCov and Cobertura output, coalesce cases of multiple sequence points per line into one entry per line
  • Extensions to coverlet's JSON format are as follows
    • Method has optional fields
      • SeqPnts (array of SeqPnt)
      • TId (integer tracking ID)
      • Entry and
      • Exit (arrays of timestamps)
    • BranchInfo has optional fields
      • Id (integer unique ID)
      • Times (array of timestamps) and
      • Tracks (array of tracking IDs)
    • SeqPnt is VC (visit count), SL (start line), SC (start column), EL, EC (ditto for end), Offset, Id, all integers, and optional Times and Tracks as for BranchInfo
    • Because int64 doesn't fit as a double, tracking-related timestamps are represented as Base64Encoded strings of the ticks count as a network byte order quantity Convert.ToBase64String(BitConverter.GetBytes(IPAddresss.HostToNetworkOrder(ticks)))

Genbu series release 15

24 Jan 18:38
Compare
Choose a tag to compare

7.6.812

  • [VISUALIZER] Move the global tool to the new 0.10 AvaloniaUI release
  • Monitor API
    • [BUGFIX] Harden the monitor API TryGetVisitTotals against race conditions in multi-threaded tests
    • Publish the AltCover.Monitor API as API (i.e. under lib/) in the main package altcover as well as in altcover.api (but not in altcover.global; global tools aren't library compatible to be accessed through a package add reference). It's there next to the PowerShell assembly (per altcover ImportModule) if you want to manually link to it, though
    • Support writing unit tests involving the API back to net20 as well as netstandard2.0
  • Add --jsonReport option (and equivalents) to output the NCover or OpenCover data in a minified JSON format, like the existing --lcovReport option does for that format. The JSON is a direct map of the XML, with values appropriately typed.
  • Add a ConvertTo-CoverageJson cmdlet and a ConvertToJson toolkit API to post-precess existing NCover/OpenCover reports

Genbu series release 14

17 Jan 18:09
Compare
Choose a tag to compare

7.5.809

  • [NEW] AltCover.Monitor API to track current coverage from running unit tests. Current implementation requires dotnet test, or other command-line testing with --defer set, in which the cumulative visit numbers are available, rather than everything having been dumped to file instead.
  • [BUGFIX] In OpenCover format output, only emit <File /> records relevant to the respective module, not for all source files encountered so far.