Skip to content

Releases: NomicFoundation/hardhat

Hardhat v2.18.3

24 Oct 22:32
Compare
Choose a tag to compare

This release adds ignition deploy to our telemetry-reported tasks.

@nomicfoundation/hardhat-verify@2.0.0

24 Oct 22:34
Compare
Choose a tag to compare

This new major version of hardhat-verify adds support for Sourcify. Sourcify verification is disabled by default, but you can enable it by adding this entry to your config:

module.exports = {
  // ...
  sourcify: {
    enabled: true,
  },
};

Check our docs to learn more.

Hardhat v2.18.2

19 Oct 11:10
Compare
Choose a tag to compare

This releases fixes a problem with Hardhat's compiler download caused by a fix in the latest version of undici.

Hardhat v2.18.1

11 Oct 17:45
b2a551f
Compare
Choose a tag to compare

This new version of Hardhat includes a new option when initializing a project: you can now start a project that uses Viem instead of ethers. To learn more about this, check our announcement.

This version also makes a small change to the logs shown during compilation: now the targeted EVM version (or versions) is shown.

@nomicfoundation/hardhat-viem@1.0.0

11 Oct 17:44
b2a551f
Compare
Choose a tag to compare

This is the first release of our new hardhat-viem plugin. To learn more about it, check our announcement.

@nomicfoundation/hardhat-toolbox-viem@1.0.0

11 Oct 17:43
b2a551f
Compare
Choose a tag to compare

This is the first release of our new Viem-based Toolbox. To learn more about it, check our announcement.

Hardhat v2.18.0

05 Oct 12:42
Compare
Choose a tag to compare

This version of Hardhat adds support for scoped tasks.

You can now create scopes to group multiple tasks that are related in some way:

const myScope = scope("my-scope", "Scope description");

myScope.task("my-task", "Do something")
  .setAction(async () => { ... });

myScope.task("my-other-task", "Do something else")
  .setAction(async () => { ... });

Thanks to @zemse, who kickstarted the work on this!

Hardhat v2.17.4

27 Sep 09:36
Compare
Choose a tag to compare

This version of Hardhat adds support for the debug_traceCall method.

Besides that, Hardhat projects are now initialized with npx hardhat init instead of npx hardhat. The latter command still works but it will produce a warning. See #2594 for the rationale behind this change.

Hardhat v2.17.3

11 Sep 11:58
Compare
Choose a tag to compare

This version of Hardhat changes the default evmVersion to paris for solc versions newer than or equal to 0.8.20.

Starting from version 0.8.20, solc changed the default target EVM version to Shanghai. Among other things, this meant that the generated bytecode could (and most likely would) contain the new PUSH0 opcode.

Up until this point, Hardhat always delegated to solc the decision of which EVM version to target. But there are two things that are different today: many users develop for non-mainnet chains, and not every chain has adopted the Shanghai hardfork yet. This means it's possible that you develop a contract which works locally (Hardhat's default hardfork is still Shanghai, because we follow the current mainnet hardfork) but that then doesn't work after deploying it.

If you are sure you are going to deploy in a network that supports the Shanghai hardfork, you can change the target EVM like this:

module.exports = {
  solidity: {
    version: "0.8.20",
    settings: {
      evmVersion: "shanghai",
    },
  },
};

Hardhat v2.17.2

28 Aug 20:26
Compare
Choose a tag to compare

This release includes several fixes and some new features:

  • Added support for state overrides in the eth_call RPC method
  • Added an enableTransientStorage option to enable EIP-1153 opcodes
  • Deprecated the TASK_COMPILE_TRANSFORM_IMPORT_NAME subtask, added a new TASK_COMPILE_GET_REMAPPINGS subtask, and added support for remappings in the resolver.
  • Fixed a problem that was causing debug_traceTransaction to return traces where the memory had a lot of empty words
  • Fixed an issue where artifactExists would throw an error for missing artifacts
  • Improved the error message displayed when importing a directory instead of a file
  • Fixed a problem with receipts of remote transactions returning the wrong tx type when fetched through a fork