Releases: NomicFoundation/hardhat
Hardhat v3.9.0
This release adds support for excluding files from test coverage instrumentation and reporting (i.e. npx hardhat test --coverage).
Changes
-
#8380
0fd498dThanks @kanej! - Added support forcoverage.skipFiles, a list of globs of Solidity files to exclude from coverage instrumentation and reporting during a--coveragerun. -
#8383
1660f1eThanks @schaable! - Fixed an intermittent "Provider for provided chain type does not exist" error that could occur when multiple network connections were created concurrently. -
#8371
287620eThanks @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
931a5f0Thanks @schaable! - Suppressed the solc initcode size warning for Solidity test contracts and when running under--coverage. -
#8372
5f6aff2Thanks @gultekinmakif! - Improved validation forinitialDatenetwork configuration. InvalidDateobjects and unparseable datestrings 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
Changes
- #8374
c67a5bbThanks @gultekinmakif! - Runningverifyagainst local development networks (chain IDs 31337 and 1337) now fails with a clearNETWORK_NOT_SUPPORTEDerror.
💡 The Nomic Foundation is hiring! Check our open positions.
Hardhat v3.8.0
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
f21390fThanks @alcuadrado! - AddeddefinePlugin, a new helper exported fromhardhat/plugins. Plugin authors should wrap their plugin literal with it so the default export of theirindexmodule becomes:import type { HardhatPlugin } from "hardhat/types/plugins"; import { definePlugin } from "hardhat/plugins"; const hardhatPlugin: HardhatPlugin = definePlugin({ id: "my-plugin", // ... }); export default hardhatPlugin;
definePluginreturns 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'spluginsarray. -
#8339
19c6927Thanks @alcuadrado! - Hardhat now warns when a plugin is imported in your Hardhat config file but missing from thepluginsarray. 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.jsonmust enableverbatimModuleSyntax: true. Without it, TypeScript deletes unused default-value imports, so an unused plugin can't be detected. -
#8336
86bfe66Thanks @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
9d5b96cThanks @alcuadrado! - Add.solidityStackproperty to theSolidityErrorexceptions generated by EDR -
#8365
dbb689bThanks @kanej! - Suppress the solc contract size warning for Solidity test files. -
#8368
2e2ba99Thanks @kanej! - Fixed thebuildtask attempting to download a compiler even though apathto a local compiler is configured. -
#8339
25cea9fThanks @alcuadrado! - The sample projects initialized withhardhat --initnow setverbatimModuleSyntax: truein theirtsconfig.json. This ensures that plugin imports inhardhat.config.tsare 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
Changes
-
#8355
40bd474Thanks @kanej! - Fixedm.readEventArgumentby 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
Changes
-
#8339
00720e8Thanks @alcuadrado! - The plugin now usesdefinePluginfromhardhat/pluginsin itsindex.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project'spluginsarray. -
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
Changes
-
#8339
00720e8Thanks @alcuadrado! - The plugin now usesdefinePluginfromhardhat/pluginsin itsindex.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project'spluginsarray. -
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
Changes
-
#8339
00720e8Thanks @alcuadrado! - The plugin now usesdefinePluginfromhardhat/pluginsin itsindex.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project'spluginsarray. -
#8349
af31a41Thanks @schaable! - Improvedhardhat verifyto 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
Changes
-
#8339
00720e8Thanks @alcuadrado! - The plugin now usesdefinePluginfromhardhat/pluginsin itsindex.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project'spluginsarray. -
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
Changes
-
#8339
00720e8Thanks @alcuadrado! - The plugin now usesdefinePluginfromhardhat/pluginsin itsindex.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project'spluginsarray. -
Updated dependencies:
- hardhat@3.8.0
💡 The Nomic Foundation is hiring! Check our open positions.
@nomicfoundation/hardhat-toolbox-mocha-ethers@3.0.7
Changes
-
#8339
00720e8Thanks @alcuadrado! - The plugin now usesdefinePluginfromhardhat/pluginsin itsindex.ts, so it participates in Hardhat's new "imported but unused plugin" warning when omitted from a project'spluginsarray. -
Updated dependencies:
- hardhat@3.8.0
💡 The Nomic Foundation is hiring! Check our open positions.