Skip to content

Update dependency hardhat to v3 #468

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 13, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
hardhat (source) ^2.8.0 -> ^3.0.0 age adoption passing confidence

Release Notes

nomiclabs/hardhat (hardhat)

v3.0.0: Hardhat 3 is now in beta, and ready for production use!

Compare Source

Hardhat 3 is a major overhaul with exciting new features:

  • Solidity tests as a first-class testing option
  • Multichain support for today's rollup-centric world
  • Rust-powered runtime for faster execution
  • Revamped build system with full npm compatibility and build profiles
  • Hardhat Ignition for streamlined contract deployments

Hardhat 3 is production-ready and you can migrate today! We'll keep it in beta status as we work on missing features and stabilize it in the near future.

Getting started

To install Hardhat 3, run the following commands in an empty directory:

npm init -y
npm install --save-dev hardhat
npx hardhat --init

This will take you through an interactive setup process to get started using Hardhat 3.

Learn more

To learn more about Hardhat 3, check out the Hardhat 3 documentation.

Feedback and help

If you have any questions, feedback, or need help, join the Hardhat 3 Telegram group.

This is a beta release, and your feedback can make a big difference. Let us know what you think and need!


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


v2.26.3: Hardhat v2.26.3

Compare Source

This release is a small bug fix to improve the robustness of the resolver.

Changes

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


v2.26.2: v2.26.2

Compare Source

This release is a small bug fix to stop using undici's global dispatcher, making Hardhat more stable across Node.js versions.

Changes
  • 11ee260: Don't use undici's global dispatcher, making Hardhat more stable across Node.js versions (#​7118)

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


v2.26.1: Hardhat v2.26.1

Compare Source

This release is a bug fix that fixes micro-eth-signer requiring on versions of Node before 20.19.

Changes
  • 896c4ea: Revert micro-eth-signer to ^0.14.0 to fix compatibility with earlier Node 20 versions (#​7026)

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


v2.26.0: Hardhat v2.26.0

Compare Source

This release contains some small bug fixes but as a larger change drops support for Node 18, which is now end of life, inline with Hardhat's stability guarantees.

Changes
  • 14b3042: Updated the minimal supported version to Node v20 (#​6982)
  • 69acece: Upgraded EDR to v0.11.3 which includes:
    • fixes for stack trace generation and RIP-7212 support.
    • Removed copying of account code for provider accounts in forked networks. Code was previously ignored for default accounts only, now also for user accounts.
  • 84fff85: Remove unneeded type dependencies, thanks @​reallesee (#​6990)
  • e139cf3: Update the version of micro-eth-signer (#​6950)

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


v2.25.0: Hardhat v2.25.0

Compare Source

This release upgrades the hardhat-gas-reporter to v2 for newly initialized projects.

Changes

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


v2.24.3: Hardhat v2.24.3

Compare Source

This release is a small bug fix release that resolves the issue with sending ETH to testing accounts in forked networks, caused by mainnet EIP-7702 delegations on the test accounts. Now testing accounts are automatically undelegated.

Changes
  • 6be5c13: Upgraded EDR to v0.11.1, which fixed a bug when sending ETH to the testing accounts in forked networks. Now testing accounts are automatically undelegated.

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


v2.24.2: Hardhat v2.24.2

Compare Source

This release is a small bug fix to deal with nodes that have deprecated support for the eth_accounts RPC call.

Changes
  • 2bbb705: Wrap eth_accounts usage on http provider to handle method deprecation (#​6632)

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


v2.24.1: Hardhat v2.24.1

Compare Source

This release adds support for Node v24 and introduces improvements to the solidity compilation pipeline.

Changes
  • 9b75f5d: Fix a few potential errors that could happen when compiling Solidity in a subprocess (#​6535)
  • a8ad44c: Added support for Node v24 (#​6497)

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


v2.24.0: Hardhat v2.24.0

Compare Source

This release sets Prague as the default hardfork in the Hardhat Network, updates EDR to its latest version, and fixes an issue in transaction-signing.

Changes

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


v2.23.0: Hardhat v2.23.0

Compare Source

This release adds support for the Prague hardfork, enhances project creation by automatically determining the appropriate package manager and adds hardfork activation history for Avalanche. Additionally, it introduces a configurable banner for displaying important information in future updates.

Changes
  • aa09462: Add support for the Prague hardfork
  • a5419a7: Use npm_config_user_agent to determine what package manager to use for project creation
  • 4ad0bc0: Upgraded EDR to v0.9.0: Added support for the Prague hardfork
  • 9d6f713: Upgraded EDR to v0.10.0: Add Prague hardfork to the list of supported SpecIds
  • b61cdd8: Add hardfork activation history for avalanche network
  • 2f27ee8: Display configurable banner on project creation and task execution

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


v2.22.19: Hardhat v2.22.19

Compare Source

This small bug fix release resolves a Windows installation dependency issue and improves performance during initialization of a local Hardhat network and when working with stack traces.

Changes
  • 5d79fca: Fix heuristic to detect that an ESM project doesn't have a Hardhat config with an explicit .cjs extension.
  • 00d542a: Update EDR to v0.8.0:
    • fix: improved provider initialization performance
    • fix: ignore unknown opcodes in source maps
    • fix: crash when loading EDR on Windows without a C Runtime library installed
    • fix: improved stack trace generation performance

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


v2.22.18: Hardhat v2.22.18

Compare Source

This is a small release that improves the performance of the display of Solidity stack traces and adds a message linking to the Solidity Developer Survey for 2024.

Changes
  • 25f45b0: Improve solidity stack traces performance by getting them from the EDR response
  • 0e5c8d7: Restored the message linking to the 2024 solidity survey

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


v2.22.17: Hardhat v2.22.17

Compare Source

This release introduces support for Solidity 0.8.28, enhances the flatten task with an optional --output parameter to specify the output file, and aligns with the latest spec by making the totalDifficulty field in block responses optional. Additionally, it fixes an issue to prevent panic errors from precompile failures.

Changes

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


v2.22.16: Hardhat v2.22.16

Compare Source

This is a small release to replace outdated dependencies.

Changes
  • fcece65: Replaced chalk with picocolors, glob with tinyglob, and upgraded find-up

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


v2.22.15: Hardhat v2.22.15

Compare Source

This is a small bug fix release to fix custom HTTP headers when used in forked configurations.

Changes

  • ede1cde: Fixed custom HTTP headers for forked configurations

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


v2.22.14: Hardhat v2.22.14

Compare Source

This is a small bug fix release to handle Ethereum nodes that are no longer returning total difficulty from the eth.getBlock RPC API.

Changes

  • 09ead48: Fixed error when remote nodes are not returning total difficulty from the eth.getBlock RPC API, by adding a fallback value

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


v2.22.13: Hardhat v2.22.13

Compare Source

This is a small bug fix release applying corrections to our Solidity tracing logic.

Changes
  • bf92f4c: Fixed more bugs in the newly ported Solidity tracing logic
  • 3df95d3: Remove support for console.log selectors that wrongly use "(u)int" type aliases in the selector calculation
  • 4c1bcfc: Fixed minor bugs in the newly ported Solidity tracing logic

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


v2.22.12: Hardhat v2.22.12

Compare Source

This release includes a refactor to our internal solidity tracing logic that should result in a ~10% performance improvement for many workloads.

v2.22.11: Hardhat v2.22.11

Compare Source

This release adds support for the latest solc versions (0.8.25, 0.8.26, and 0.8.27). Additionally, it includes bug fixes, documentation improvements, and dependency updates.

Changes
  • 601d543: Fixed a problem with provider events when provider.init was explicitly called before the first request.
  • 224159e: Added support for solc versions 0.8.25, 0.8.26, and 0.8.27
  • b43ed78: Added link to Ignition docs in sample projects
  • 07e0a9c: Hardhat node can now handle large response objects by streaming them.
  • 12d1980: Upgrade chokidar

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


v2.22.10: Hardhat v2.22.10

Compare Source

This is a small bug fix release to improve debug logs during Hardhat Network initialization.

Changes
  • 409e99f: Fixed debug logs in Hardhat Network initialization process.
  • 46cd7a1: Removed the experimentalAddHardhatNetworkMessageTraceHook API

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


v2.22.9: Hardhat v2.22.9

Compare Source

This is a small bug fix release remove a warning message against the local Hardhat node when deploying with Hardhat Ignition.

Changes
  • 6771f00: Do not send http_setLedgerOutputEnabled messages beyond the HTTP Provider to prevent unwanted warnings in the logs of the local hardhat node

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


v2.22.8: Hardhat v2.22.8

Compare Source

This is a small bug fix release to resolve a bug with large responses from debug_traceTransaction.

Changes
  • f5d5d15: Fixed an issue with debug_traceTransaction when large responses were generated
  • 31d9d77: Upgraded EDR to v0.5.2

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


v2.22.7: Hardhat v2.22.7

Compare Source

This releases add support for RIP-7212 (Precompile for secp256r1 Curve Support). See the Hardhat network reference for details on how to enable the precompile.

Changes


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


v2.22.6: Hardhat v2.22.6

Compare Source

Changes


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


v2.22.5: Hardhat v2.22.5

Compare Source

This release re-enables support for hardhat-tracer and adds limited support for blob transactions, along with performance improvements and bug fixes.

Changelog

  • f65dc7c: Improved the validation of network and forking URLs (thanks @​kshyun28!)
  • 5d46baa: Internal changes to allow hardhat-tracer to be re-enabled with Hardhat after the EDR upgrade
  • 6e36f3f: Bump EDR to v0.4.0. This adds support for eth_maxPriorityFeePerGas, limited support for blob transactions, improves performance and fixes some bugs. Check out the v0.4.0 EDR release and v0.3.8 EDR release for more details.

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


v2.22.4: Hardhat v2.22.4

Compare Source

This release includes bug fixes, performance enhancements, and an improvement to the task system to support BigInt arguments.

Changelog

  • 22bcbf5: Added BigInt task argument type.
  • 2c533f0: Bumped EDR dependency to 0.3.7.
  • 3203639: Fixed an issue in the solidity source map decoding module.
  • 5d7a604: Fixed an issue with solc version selection.
  • 3c6de8f: Now solcjs is run in a subprocess, which leads to better error reporting and allows it to run multiple compilation jobs at the same time.
  • 6447e80: Improved performance by reducing back-and-forth with EDR when it's not necessary.

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


v2.22.3

Compare Source

A small bug fix release that improves the error messaging around failed installs of EDR (Hardhat network).

Changelog


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


v2.22.2: Hardhat v2.22.2

Compare Source

This release introduces a small change to the initialization process of Hardhat, which makes the task runner more extensible.

Changelog

  • 7876104: Initialize the Hardhat Runtime Environment before passing the command line arguments. Thanks @​theethernaut!

v2.22.1: Hardhat v2.22.1

Compare Source

This release updates the starter projects available through hardhat init to include Hardhat Ignition as the default deployment system.

v2.22.0: Hardhat v2.22.0

Compare Source

This release sets Cancun as the default hardfork used by the Hardhat Network.

v2.21.0: Hardhat v2.21.0 — Introducing EDR

Compare Source

This version of Hardhat marks the debut of EDR (Ethereum Development Runtime), our new Rust-based runtime that is a complete rewrite of the original TypeScript-based Hardhat Network. This release lays a new long-term foundation for Hardhat's evolution over the coming year.

There are no functional changes, but there are some performance improvements across the board, which we’ll continue to expand in future updates.

Given the significance of this internal change, there’s a possibility of bugs. If you encounter any problems specific to this version, please report them by opening an issue. You should be able to downgrade to v2.20.1 without losing functionality if needed.

solidity-coverage out-of-memory issues

The solidity-coverage plugin works by heavily instrumenting the code, which sometimes causes OOM (out-of-memory) issues. This new version of Hardhat can, in certain cases, make those problems more likely.

If you run into this, you can fix it by using Node.js’s --max-old-space-size flag:

NODE_OPTIONS="--max-old-space-size=8192" npx hardhat coverage
Dropping support for Node.js v16

As part of this release, we are dropping support for Node.js v16. This version of Node.js reached its end-of-life in September of last year. You can learn more about our support guarantees here.

v2.20.1: Hardhat v2.20.1

Compare Source

This release fixes a bug when hardhat_setStorageAt was used in untouched addresses.

v2.20.0: Hardhat v2.20.0 — Cancun

Compare Source

This release adds support for the upcoming cancun hardfork. This hardfork is not enabled by default; if you want to use it, then you have to enable it in your Hardhat config:

module.exports = {
  networks: {
    hardhat: {
      hardfork: "cancun",
    },
  },
}

Keep in mind that blob transactions are not supported yet. If you need this, please upvote or comment on this issue.

In addition, this release adds support for solc 0.8.24.

v2.19.5: Hardhat v2.19.5

Compare Source

This release includes the following changes:

  • Notify users when a new Hardhat version is available
  • Fixed a bug during project initialization when using yarn or pnpm
  • Fixed a race condition that occurred when multiple Hardhat processes ran a compilation at the same time
  • Added a fix to prevent submitting transactions with 0 priority fee (thanks @​itsdevbear!)

v2.19.4: Hardhat v2.19.4

Compare Source

This release changes our telemetry to anonymously report the consent response.

v2.19.3: Hardhat v2.19.3

Compare Source

This release adds support for solc 0.8.23. It also includes a temporary informative message about the ongoing 2023 Solidity Survey.

v2.19.2: Hardhat v2.19.2

Compare Source

This release adds experimental support for ESM in typescript projects.

In addition to that, the hardhat-shorthand tool (hh) now supports scoped tasks.

v2.19.1: Hardhat v2.19.1

Compare Source

This release fixes a couple of issues:

  • A problem in low-traffic chains that resulted in txs using a maxPriorityFeePerGas of 0, which were then rejected by the node.
  • A bug in the compiler downloader that was triggered in big projects that used many different versions of solc.

Besides that, the project initialization now uses the latest version of the Hardhat Toolboxes.

v2.19.0: Hardhat v2.19.0

Compare Source

This new version of Hardhat introduces a new feature: Configuration Variables!

Configuration variables let you use values in a configuration file without making them part of your project. They work as a replacement for environment variables and dotenv, but are more flexible and powerful. Read our guide to learn more.

This version also adds support for solc v0.8.22.

v2.18.3: Hardhat v2.18.3

Compare Source

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

v2.18.2: Hardhat v2.18.2

Compare Source

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

v2.18.1: Hardhat v2.18.1

Compare Source

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.

v2.18.0: Hardhat v2.18.0

Compare Source

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!

v2.17.4: Hardhat v2.17.4

Compare Source

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 https://github.com/NomicFoundation/hardhat/issues/2594 for the rationale behind this change.

v2.17.3: Hardhat v2.17.3

Compare Source

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",
    },
  },
};

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants