Skip to content

Releases: sc-forks/solidity-coverage

v0.8.13

29 Aug 04:53
Compare
Choose a tag to compare

🐛 Bug Fixes

This release fixes a bug that caused the plugin to error when used with hardhat-viem in combination with a forked network.

What's Changed

  • Error if --solcoverjs passed but file is nonexistent by @area in #889
  • Stop overwriting forking config in extendConfig by @cgewecke in #893
  • Misc docs fixes

New Contributors

Full Changelog: v0.8.12...v0.8.13

v0.8.12

05 Apr 23:08
Compare
Choose a tag to compare

What's Changed

  • Adds "work-around" support for the hardhat-viem plugin. If you're using viem, run the coverage task with:
    SOLIDITY_COVERAGE=true npx hardhat coverage
    
  • Adds support for solc v0.4.x
  • Fixes a bug where plugin crashed if the contract sources directory name contained a period.
  • Fixes a bug where instrumentation failed if there was whitespace between require statement and the terminating semi-colon

PRs

Full Changelog: v0.8.11...v0.8.12

v0.8.11

07 Mar 23:13
Compare
Choose a tag to compare

Summary

0.8.11 fixes a(nother) bug that resulted in some line hits remaining undetected when compiling with viaIR=true

What's Changed

  • Check all SWAP opcodes for inst. hashes when viaIR is true by @cgewecke in #873

Full Changelog: v0.8.10...v0.8.11

0.8.10

29 Feb 23:04
Compare
Choose a tag to compare

Summary

0.8.10 fixes a bug that resulted in some line hits remaining undetected when compiling with viaIR=true

What's Changed

  • Check all PUSH opcodes for instr. hashes when viaIR is true by @cgewecke in #871

Full Changelog: v0.8.9...v0.8.10

0.8.9

27 Feb 15:24
Compare
Choose a tag to compare

What's Changed

  • Fix regression introduced in 0.8.7 where modifier branch coverage for modifiers inherited from a dependency was not measured correctly in some cases @cgewecke in #868

Full Changelog: v0.8.8...v0.8.9

0.8.8

21 Feb 19:25
Compare
Choose a tag to compare

What's Changed

  • Fix bug when instrumenting hardhat flattened contracts:
    • Only inject file-level instr. for first pragma in file by @cgewecke in #865
  • Fix 0% coverage when using with hardhat-foundry & foundry.toml is present:
    • Coerce sources path to absolute path if necessary by @cgewecke in #866

Install

npm install --save-dev solidity-coverage@latest
npx hardhat clean

Full Changelog: v0.8.7...v0.8.8

0.8.7

10 Feb 01:16
Compare
Choose a tag to compare

What's Changed

viaIR now allowed

This release (hopefully) fixes a long-running problem solidity-coverage had with solc's viaIR compilation mode - It's now possible to use it without any special configuration. (Please report any ongoing issues with this to issue #861)

If you've been using .solcover.js options like configureYulOptimizer and solcOptimizerDetails as a work around, you should remove them when upgrading. (Don't forget to run the hardhat clean task after updating any coverage config stuff).

--network no longer allowed

Sadly the ganache client has been deprecated. The coverage plugin never worked with its latest major version and the network flag only existed for its sake. Going forward, the network option throws an error notifying the user that coverage only uses the HardhatEVM network.

--sources cli option

You can now select a single file (or folder) at the command line to generate coverage for. This option should speed things up if you've been waiting for the plugin to instrument everything in a large project whenever you run the command.

$ npx hardhat coverage --sources MyFile.sol
$ npx hardhat coverage --sources MyFolder

(Thanks so much @clauBv23 for adding this!)

Funding

OpenZeppelin has very generously funded recent work at solidity-coverage via DRIPS, a public goods protocol which helps you direct money to projects in your dependency tree. Thanks so much! ❤️

Links to relevant PRs

  • Add command option to specify the source files to run the coverage on (#806) by @clauBv23 in #838
  • Remove ganache-cli related code from API & tests by @cgewecke in #849
  • Add missing onPreCompile stage hook by @cgewecke in #851
  • Enable coverage when viaIR compiler flag is true by @cgewecke in #854

Full Changelog: v0.8.6...v0.8.7

v0.8.6

29 Jan 01:49
Compare
Choose a tag to compare

What's Changed

Fixes

  • Perform ternary conditional injections before branch injections (#828) by @cgewecke in #828
  • Fix chained ternary conditionals instrumentation by @cgewecke in #830
  • Fix instrumentation error for virtual modifiers by @cgewecke in #832
  • Throw error when mocha parallel is set to true by @cgewecke in #833

Documentation

  • Update faq.md with another viaIR optimizer config workaround by @remedcu in #822
  • Document Istanbul check-coverage cli command by @cgewecke in #834

Dependencies

Misc

New Contributors

Full Changelog: v0.8.5...v0.8.6

0.8.5

22 Sep 00:02
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.4...v0.8.5

v0.8.4

04 Jul 15:42
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.2...v0.8.4