Skip to content

Releases: NomicFoundation/hardhat

Hardhat v3.9.0

08 Jun 19:04
a87dd19

Choose a tag to compare

This release adds support for excluding files from test coverage instrumentation and reporting (i.e. npx hardhat test --coverage).

Changes

  • #8380 0fd498d Thanks @kanej! - Added support for coverage.skipFiles, a list of globs of Solidity files to exclude from coverage instrumentation and reporting during a --coverage run.

  • #8383 1660f1e Thanks @schaable! - Fixed an intermittent "Provider for provided chain type does not exist" error that could occur when multiple network connections were created concurrently.

  • #8371 287620e Thanks @gultekinmakif! - Account overrides that share an address with the network's built-in genesis accounts are now correctly merged into a single genesis entry.

  • #8375 931a5f0 Thanks @schaable! - Suppressed the solc initcode size warning for Solidity test contracts and when running under --coverage.

  • #8372 5f6aff2 Thanks @gultekinmakif! - Improved validation for initialDate network configuration. Invalid Date objects and unparseable date strings are now rejected during config loading rather than causing a runtime error later.


💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/hardhat-verify@3.0.20

08 Jun 19:02
a87dd19

Choose a tag to compare

Changes

  • #8374 c67a5bb Thanks @gultekinmakif! - Running verify against local development networks (chain IDs 31337 and 1337) now fails with a clear NETWORK_NOT_SUPPORTED error.

💡 The Nomic Foundation is hiring! Check our open positions.


Hardhat v3.8.0

04 Jun 16:27
c62b654

Choose a tag to compare

This release includes two improvements: a warning is now printed if a plugin is imported in hardhat.config.ts but not included in the plugins array and node:test now more cleanly displays Solidity errors.

Changes

  • #8339 f21390f Thanks @alcuadrado! - Added definePlugin, a new helper exported from hardhat/plugins. Plugin authors should wrap their plugin literal with it so the default export of their index module becomes:

    import type { HardhatPlugin } from "hardhat/types/plugins";
    
    import { definePlugin } from "hardhat/plugins";
    
    const hardhatPlugin: HardhatPlugin = definePlugin({
      id: "my-plugin",
      // ...
    });
    
    export default hardhatPlugin;

    definePlugin returns its argument unchanged and, as a side effect, registers the plugin's id in a process-wide registry of loaded plugins. Hardhat's CLI uses that registry to warn when a plugin is imported but missing from the user's plugins array.

  • #8339 19c6927 Thanks @alcuadrado! - Hardhat now warns when a plugin is imported in your Hardhat config file but missing from the plugins array. The warning is printed to stderr after the runtime environment is created, listing the offending plugins and pointing the user at the fix.

    If your Hardhat config file is written in TypeScript, for the warning to be reliable your project's tsconfig.json must enable verbatimModuleSyntax: true. Without it, TypeScript deletes unused default-value imports, so an unused plugin can't be detected.

  • #8336 86bfe66 Thanks @Wodann! - - Fixed default gas limit of Solidity test runner when a custom transaction gas cap (EIP-7825) or block gas limit is specified

    • Fixed process deadlock/hang when dropping a provider with interval mining and logging enabled
    • Print more detailed error descriptions for EVM, invariant fuzz, and cheatcode errors
  • #8345 9d5b96c Thanks @alcuadrado! - Add .solidityStack property to the SolidityError exceptions generated by EDR

  • #8365 dbb689b Thanks @kanej! - Suppress the solc contract size warning for Solidity test files.

  • #8368 2e2ba99 Thanks @kanej! - Fixed the build task attempting to download a compiler even though a path to a local compiler is configured.

  • #8339 25cea9f Thanks @alcuadrado! - The sample projects initialized with hardhat --init now set verbatimModuleSyntax: true in their tsconfig.json. This ensures that plugin imports in hardhat.config.ts are actually evaluated at runtime, which is required for the new "imported but unused plugin" warning to work reliably.

  • Updated dependencies:

    • @nomicfoundation/hardhat-errors@3.0.15

💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/ignition-core@3.1.7

04 Jun 15:46
c62b654

Choose a tag to compare

Changes

  • #8355 40bd474 Thanks @kanej! - Fixed m.readEventArgument by tolerating indexed dynamic siblings when decoding event args (#8338)

  • Updated dependencies:

    • @nomicfoundation/hardhat-errors@3.0.15

💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/hardhat-viem@3.0.9

04 Jun 15:46
c62b654

Choose a tag to compare

Changes

  • #8339 00720e8 Thanks @alcuadrado! - The plugin now uses definePlugin from hardhat/plugins in its index.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project's plugins array.

  • Updated dependencies:

    • hardhat@3.8.0
    • @nomicfoundation/hardhat-errors@3.0.15

💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/hardhat-viem-assertions@3.1.1

04 Jun 15:46
c62b654

Choose a tag to compare

Changes

  • #8339 00720e8 Thanks @alcuadrado! - The plugin now uses definePlugin from hardhat/plugins in its index.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project's plugins array.

  • Updated dependencies:

    • hardhat@3.8.0
    • @nomicfoundation/hardhat-errors@3.0.15

💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/hardhat-verify@3.0.19

04 Jun 15:46
c62b654

Choose a tag to compare

Changes

  • #8339 00720e8 Thanks @alcuadrado! - The plugin now uses definePlugin from hardhat/plugins in its index.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project's plugins array.

  • #8349 af31a41 Thanks @schaable! - Improved hardhat verify to fail faster when the block explorer reports that the constructor arguments are incorrect.

    Thanks to @gultekinmakif for the original idea and implementation in #8333.

  • Updated dependencies:

    • hardhat@3.8.0
    • @nomicfoundation/hardhat-errors@3.0.15

💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/hardhat-typechain@3.1.1

04 Jun 15:46
c62b654

Choose a tag to compare

Changes

  • #8339 00720e8 Thanks @alcuadrado! - The plugin now uses definePlugin from hardhat/plugins in its index.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project's plugins array.

  • Updated dependencies:

    • hardhat@3.8.0
    • @nomicfoundation/hardhat-errors@3.0.15

💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/hardhat-toolbox-viem@5.0.7

04 Jun 15:46
c62b654

Choose a tag to compare

Changes

  • #8339 00720e8 Thanks @alcuadrado! - The plugin now uses definePlugin from hardhat/plugins in its index.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project's plugins array.

  • Updated dependencies:

    • hardhat@3.8.0

💡 The Nomic Foundation is hiring! Check our open positions.


@nomicfoundation/hardhat-toolbox-mocha-ethers@3.0.7

04 Jun 15:46
c62b654

Choose a tag to compare

Changes

  • #8339 00720e8 Thanks @alcuadrado! - The plugin now uses definePlugin from hardhat/plugins in its index.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project's plugins array.

  • Updated dependencies:

    • hardhat@3.8.0

💡 The Nomic Foundation is hiring! Check our open positions.