Skip to content

Releases: NomicFoundation/hardhat

Hardhat v2.17.0

14 Jul 09:34
Compare
Choose a tag to compare

This new minor version of Hardhat drops support for Node.js v14 and adds support for Node v20. To learn about which versions of Node we support, check our Stability guarantees page.

This version also adds support for solc 0.8.19 and 0.8.20 and fixes two bugs:

  • A long-standing issue related to our compilation pipeline (see #1117).
  • A problem when forking other local development networks whose latest block number has a low value (issue #1568).

@nomicfoundation/[email protected]

14 Jul 09:35
Compare
Choose a tag to compare

This version adds support for verifying contracts in Base Goerli.

@nomicfoundation/[email protected]

14 Jul 09:36
Compare
Choose a tag to compare

This version reduces the impact that hardhat-ethers has in Hardhat initial load time.

Besides that, we fixed to issues related to listening for events with contract.on (see #4098).

Hardhat v2.16.1

27 Jun 19:32
Compare
Choose a tag to compare

This release fixes an issue in the compiler download that happens when Hardhat is used with node v18.16.x (the latest versions of node v18).

@nomicfoundation/[email protected]

27 Jun 19:48
Compare
Choose a tag to compare

This release removes the rinkeby, ropsten and kovan deprecated test networks (thanks @pcaversaccio!)

@nomicfoundation/[email protected]

27 Jun 19:42
Compare
Choose a tag to compare

This version fixes a problem that was causing the compilation to be slower when using hardhat-foundry.

@nomicfoundation/hardhat-ethers v3.0.3

27 Jun 19:46
Compare
Choose a tag to compare

This release adds support for listening for events using contract.on.

Hardhat v2.16.0 - Extendable providers

22 Jun 05:55
Compare
Choose a tag to compare

This version of Hardhat adds a new extensibility point: you can now wrap Hardhat's network provider with your own logic.

This is done by using the new extendProvider configuration function:

extendProvider(async (provider, config, network) => {
  const newProvider = new MyProviderWrapper(provider);
  return newProvider;
});

Doing this means that all the JSON-RPC calls will go through your custom provider wrapper. You can use this to intercept and handle some requests while forwarding the rest to the original provider.

To learn more about this, read the "Extending the Hardhat provider" section in our docs. If you have questions about how to use this, please open a new discussion.

Other changes

Besides this new feature, this version includes the following changes:

  • console.sol is now memory-safe (thanks @ZumZoom!)
  • Added optional params to some compilation subtasks to make them more flexible (thanks @adjisb!)
  • Added a HARDHAT_DISABLE_TELEMETRY_PROMPT environment variable that can be set to true to prevent Hardhat from showing the telemetry consent prompt
  • The opt-in telemetry is now done using Google Analytics 4

@nomicfoundation/[email protected]

22 Jun 05:45
Compare
Choose a tag to compare
  • Fixed URLs for the Aurora networks (thanks @zZoMROT and @ZumZoom!)
  • Fixed a problem where the --list-networks flag wasn't working without passing an address (thanks @clauBv23!)
  • Success messages are now more generic (thanks @clauBv23!).

Introducing @nomicfoundation/hardhat-ledger

22 Jun 06:00
8587456
Compare
Choose a tag to compare

This is the first release of our new official plugin: hardhat-ledger! This plugin lets you send transactions and sign messages using your Ledger wallet.

To start using it, first you'll have to install it:

npm install --save-dev @nomicfoundation/hardhat-ledger

And add it to your Hardhat config:

require("@nomicfoundation/hardhat-ledger")

Then add a ledgerAccounts entry to the network where you want to use a Ledger account. This entry is an array of addresses:

module.exports = {
  networks: {
    sepolia: {
      url: "...",
      ledgerAccounts: ["0x123..."],
    },
  },
};

When a transaction is sent or a message is signed from one of those addresses, the execution will halt until you confirm the signing in your Ledger.

Check the plugin docs to learn more.

Feedback is welcome! Please open an issue if you find a problem or there's something you think could be improved.