diff --git a/package-lock.json b/package-lock.json index ac7577b3ad8..852496cb9b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17513,11 +17513,11 @@ }, "packages/binarytree": { "name": "@ethereumjs/binarytree", - "version": "10.0.0-dev-rc.1", + "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", @@ -17541,14 +17541,14 @@ }, "packages/block": { "name": "@ethereumjs/block", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/tx": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/tx": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { @@ -17562,20 +17562,20 @@ }, "packages/blockchain": { "name": "@ethereumjs/blockchain", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "debug": "^4.4.0", "eventemitter3": "^5.0.1", "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/ethash": "^10.0.0-rc.1" + "@ethereumjs/ethash": "^10.0.0" }, "engines": { "node": ">=18" @@ -17583,23 +17583,23 @@ }, "packages/client": { "name": "@ethereumjs/client", - "version": "0.10.4", + "version": "0.10.5", "hasInstallScript": true, "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "10.0.0-rc.1", - "@ethereumjs/blockchain": "10.0.0-rc.1", - "@ethereumjs/common": "10.0.0-rc.1", - "@ethereumjs/devp2p": "10.0.0-rc.1", - "@ethereumjs/ethash": "10.0.0-rc.1", - "@ethereumjs/evm": "10.0.0-rc.1", - "@ethereumjs/genesis": "10.0.0-rc.1", - "@ethereumjs/mpt": "10.0.0-rc.1", - "@ethereumjs/rlp": "10.0.0-rc.1", - "@ethereumjs/statemanager": "10.0.0-rc.1", - "@ethereumjs/tx": "10.0.0-rc.1", - "@ethereumjs/util": "10.0.0-rc.1", - "@ethereumjs/vm": "10.0.0-rc.1", + "@ethereumjs/block": "10.0.0", + "@ethereumjs/blockchain": "10.0.0", + "@ethereumjs/common": "10.0.0", + "@ethereumjs/devp2p": "10.0.0", + "@ethereumjs/ethash": "10.0.0", + "@ethereumjs/evm": "10.0.0", + "@ethereumjs/genesis": "10.0.0", + "@ethereumjs/mpt": "10.0.0", + "@ethereumjs/rlp": "10.0.0", + "@ethereumjs/statemanager": "10.0.0", + "@ethereumjs/tx": "10.0.0", + "@ethereumjs/util": "10.0.0", + "@ethereumjs/vm": "10.0.0", "@js-sdsl/ordered-map": "^4.4.2", "@multiformats/multiaddr": "^12.4.0", "@paulmillr/trusted-setups": "^0.1.2", @@ -17664,10 +17664,10 @@ }, "packages/common": { "name": "@ethereumjs/common", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/util": "^10.0.0", "eventemitter3": "^5.0.1" }, "devDependencies": { @@ -17677,12 +17677,12 @@ }, "packages/devp2p": { "name": "@ethereumjs/devp2p", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "@scure/base": "^1.2.4", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", @@ -17692,8 +17692,8 @@ "snappyjs": "^0.7.0" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/tx": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/tx": "^10.0.0", "@types/debug": "^4.1.12", "@types/k-bucket": "^5.0.4", "@types/node": "^22.13.10", @@ -17719,14 +17719,14 @@ }, "packages/e2store": { "name": "@ethereumjs/e2store", - "version": "10.0.0-dev-rc.1", + "version": "10.0.0", "license": "MIT", "dependencies": { "@chainsafe/snappy-stream": "^5.1.2", - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/blockchain": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/blockchain": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "level": "^9.0.0", "micro-eth-signer": "^0.14.0" }, @@ -17754,17 +17754,17 @@ }, "packages/ethash": { "name": "@ethereumjs/ethash", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "bigint-crypto-utils": "^3.3.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { - "@ethereumjs/common": "^10.0.0-rc.1" + "@ethereumjs/common": "^10.0.0" }, "engines": { "node": ">=18" @@ -17772,14 +17772,14 @@ }, "packages/evm": { "name": "@ethereumjs/evm", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/binarytree": "^10.0.0-dev-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/statemanager": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", - "@ethereumjs/verkle": "^10.0.0-dev-rc.1", + "@ethereumjs/binarytree": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/statemanager": "^10.0.0", + "@ethereumjs/util": "^10.0.0", + "@ethereumjs/verkle": "^10.0.0", "@noble/curves": "^1.9.0", "@types/debug": "^4.1.12", "debug": "^4.4.0", @@ -17837,11 +17837,11 @@ }, "packages/genesis": { "name": "@ethereumjs/genesis", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1" + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/util": "^10.0.0" }, "engines": { "node": ">=18" @@ -17849,17 +17849,17 @@ }, "packages/mpt": { "name": "@ethereumjs/mpt", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/genesis": "^10.0.0-rc.1", + "@ethereumjs/genesis": "^10.0.0", "@types/benchmark": "^2.1.5", "abstract-level": "^3.0.1", "level": "^9.0.0", @@ -17873,7 +17873,7 @@ }, "packages/rlp": { "name": "@ethereumjs/rlp", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "bin": { "rlp": "bin/rlp.cjs" @@ -17887,15 +17887,15 @@ }, "packages/statemanager": { "name": "@ethereumjs/statemanager", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/binarytree": "^10.0.0-dev-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", - "@ethereumjs/verkle": "^10.0.0-dev-rc.1", + "@ethereumjs/binarytree": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", + "@ethereumjs/verkle": "^10.0.0", "@js-sdsl/ordered-map": "^4.4.2", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", @@ -17903,8 +17903,8 @@ "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/genesis": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/genesis": "^10.0.0", "@types/debug": "^4.1.12" } }, @@ -17924,18 +17924,18 @@ "name": "@ethereumjs/testdata", "version": "1.0.0", "devDependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1" + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/util": "^10.0.0" } }, "packages/tx": { "name": "@ethereumjs/tx", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { @@ -17954,10 +17954,10 @@ }, "packages/util": { "name": "@ethereumjs/util", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { @@ -17971,11 +17971,11 @@ }, "packages/verkle": { "name": "@ethereumjs/verkle", - "version": "10.0.0-dev-rc.1", + "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "debug": "^4.4.0", "lru-cache": "11.0.2", "micro-eth-signer": "0.14.0" @@ -17986,25 +17986,25 @@ }, "packages/vm": { "name": "@ethereumjs/vm", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MPL-2.0", "dependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/evm": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/statemanager": "^10.0.0-rc.1", - "@ethereumjs/tx": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", - "@ethereumjs/verkle": "^10.0.0-dev-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/evm": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/statemanager": "^10.0.0", + "@ethereumjs/tx": "^10.0.0", + "@ethereumjs/util": "^10.0.0", + "@ethereumjs/verkle": "^10.0.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", "eventemitter3": "^5.0.1" }, "devDependencies": { - "@ethereumjs/blockchain": "^10.0.0-rc.1", - "@ethereumjs/ethash": "^10.0.0-rc.1", + "@ethereumjs/blockchain": "^10.0.0", + "@ethereumjs/ethash": "^10.0.0", "@ethereumjs/testdata": "1.0.0", "@paulmillr/trusted-setups": "^0.1.2", "@types/benchmark": "^2.1.5", @@ -18028,10 +18028,10 @@ }, "packages/wallet": { "name": "@ethereumjs/wallet", - "version": "10.0.0-rc.1", + "version": "10.0.0", "license": "MIT", "dependencies": { - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/util": "^10.0.0", "@scure/base": "^1.2.4", "ethereum-cryptography": "^3.2.0", "js-md5": "^0.8.3", diff --git a/packages/binarytree/CHANGELOG.md b/packages/binarytree/CHANGELOG.md index 21a94d91e58..18b3ebbee28 100644 --- a/packages/binarytree/CHANGELOG.md +++ b/packages/binarytree/CHANGELOG.md @@ -6,7 +6,30 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## 10.0.0-dev-rc.1 - 2025-03-24 +## 10.0.0 (EXPERIMENTAL) - 2025-04-29 + +**Note:** This library is in an **experimental** stage and should not be used in production! + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/binarytree/README.md b/packages/binarytree/README.md index 22156e4d323..b5c2f4057dd 100644 --- a/packages/binarytree/README.md +++ b/packages/binarytree/README.md @@ -1,4 +1,4 @@ -# @ethereumjs/binarytree `v10` +# @ethereumjs/binarytree `v10` (EXPERIMENTAL) [![NPM Package][binarytree-npm-badge]][binarytree-npm-link] [![GitHub Issues][binarytree-issues-badge]][binarytree-issues-link] @@ -11,7 +11,7 @@ > Binary Trees are a novel cryptographic data structure proposed for use in Ethereum to optimize state storage and proof verification. Unlike Merkle Patricia Tries, Binary Trees use a strict binary branching structure, allowing smaller proof sizes. By reducing storage overhead and improving proof efficiency, Binary Trees aim to enhance Ethereum’s scalability while maintaining robust security guarantees. -This package is currently in early alpha and is a work in progress. It is not intended for use in production environments, but rather for research and development purposes. Any help in improving the package is very much welcome. +**Note:** This library is in an **experimental** stage and should not be used in production! ## Table of Contents diff --git a/packages/binarytree/package.json b/packages/binarytree/package.json index df271533594..ca0efee2d3e 100644 --- a/packages/binarytree/package.json +++ b/packages/binarytree/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/binarytree", - "version": "10.0.0-dev-rc.1", + "version": "10.0.0", "description": "Implementation of binary trees as used in Ethereum.", "keywords": ["binary", "tree", "trie", "ethereum"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/binarytree#readme", @@ -54,8 +54,8 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", diff --git a/packages/block/CHANGELOG.md b/packages/block/CHANGELOG.md index 3a3ad05effe..4ec773ab3ef 100644 --- a/packages/block/CHANGELOG.md +++ b/packages/block/CHANGELOG.md @@ -6,6 +6,32 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +### Changes since `RC.1` + +- Remove `totalDifficulty` from `JSONRPCBlock` type required fields, PR [#3939](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3939) +- New `EIP-7685` `CLRequests` test, example, and docs (thanks ❀️ @avdheshcharjan), PR [#4008](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4008) + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/block/package.json b/packages/block/package.json index 730bdf0cab9..ea0ebaeb740 100644 --- a/packages/block/package.json +++ b/packages/block/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/block", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "Provides Block serialization and help functions", "keywords": ["ethereum", "block"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/block#readme", @@ -50,11 +50,11 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/tx": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/tx": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { diff --git a/packages/blockchain/CHANGELOG.md b/packages/blockchain/CHANGELOG.md index 83cc94ce141..77f04e81b5a 100644 --- a/packages/blockchain/CHANGELOG.md +++ b/packages/blockchain/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/blockchain/package.json b/packages/blockchain/package.json index d9c176a7986..54d0d6283c6 100644 --- a/packages/blockchain/package.json +++ b/packages/blockchain/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/blockchain", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "A module to store and interact with blocks", "keywords": ["ethereum", "blockchain"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/blockchain#readme", @@ -50,17 +50,17 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "debug": "^4.4.0", "eventemitter3": "^5.0.1", "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/ethash": "^10.0.0-rc.1" + "@ethereumjs/ethash": "^10.0.0" }, "engines": { "node": ">=18" diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index ff75d2f3ac8..fd5d8a57092 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 0.10.5 - 2025-04-29 + +- Fix client best peer selection based on TD Check, PR [#3950](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3950) +- Add Hoodi DNS Discovery, PR [#3964](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3964) +- New option for `logLevel` `off` allowing to fully deactivate logging, PR [#3967](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3967) + ## 0.10.4 - 2025-03-24 ### New JavaScript REPL diff --git a/packages/client/package.json b/packages/client/package.json index d6a50302a35..dbeed68ad88 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/client", - "version": "0.10.4", + "version": "0.10.5", "description": "EthereumJS Execution Layer (EL) Client Implementation", "keywords": ["ethereum", "ethereumjs", "client", "blockchain", "light sync", "full sync"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client#readme", @@ -52,19 +52,19 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "10.0.0-rc.1", - "@ethereumjs/blockchain": "10.0.0-rc.1", - "@ethereumjs/common": "10.0.0-rc.1", - "@ethereumjs/devp2p": "10.0.0-rc.1", - "@ethereumjs/ethash": "10.0.0-rc.1", - "@ethereumjs/evm": "10.0.0-rc.1", - "@ethereumjs/genesis": "10.0.0-rc.1", - "@ethereumjs/mpt": "10.0.0-rc.1", - "@ethereumjs/rlp": "10.0.0-rc.1", - "@ethereumjs/statemanager": "10.0.0-rc.1", - "@ethereumjs/tx": "10.0.0-rc.1", - "@ethereumjs/util": "10.0.0-rc.1", - "@ethereumjs/vm": "10.0.0-rc.1", + "@ethereumjs/block": "10.0.0", + "@ethereumjs/blockchain": "10.0.0", + "@ethereumjs/common": "10.0.0", + "@ethereumjs/devp2p": "10.0.0", + "@ethereumjs/ethash": "10.0.0", + "@ethereumjs/evm": "10.0.0", + "@ethereumjs/genesis": "10.0.0", + "@ethereumjs/mpt": "10.0.0", + "@ethereumjs/rlp": "10.0.0", + "@ethereumjs/statemanager": "10.0.0", + "@ethereumjs/tx": "10.0.0", + "@ethereumjs/util": "10.0.0", + "@ethereumjs/vm": "10.0.0", "@js-sdsl/ordered-map": "^4.4.2", "@multiformats/multiaddr": "^12.4.0", "@paulmillr/trusted-setups": "^0.1.2", diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md index d0a096f6a89..ed52d0fd568 100644 --- a/packages/common/CHANGELOG.md +++ b/packages/common/CHANGELOG.md @@ -6,6 +6,32 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +### Changes since `RC.1` + +- Add `mainnet` Prague timestamp & fork hash, PR [#3971](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3971) +- `GethGenesis` TypeScript interface, PR [#3973](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3973) + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/common/package.json b/packages/common/package.json index 625422e0330..a11dc443faf 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/common", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "Resources common to all Ethereum implementations", "keywords": [ "ethereum", @@ -63,7 +63,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/util": "^10.0.0", "eventemitter3": "^5.0.1" }, "devDependencies": { diff --git a/packages/devp2p/CHANGELOG.md b/packages/devp2p/CHANGELOG.md index 53522d323f8..3916b6f2c8d 100644 --- a/packages/devp2p/CHANGELOG.md +++ b/packages/devp2p/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/devp2p/package.json b/packages/devp2p/package.json index d9328802333..c20a98d902e 100644 --- a/packages/devp2p/package.json +++ b/packages/devp2p/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/devp2p", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "A JavaScript implementation of ÐΞVp2p", "keywords": [ "ethereum", @@ -65,9 +65,9 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "@scure/base": "^1.2.4", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", @@ -77,8 +77,8 @@ "snappyjs": "^0.7.0" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/tx": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/tx": "^10.0.0", "@types/debug": "^4.1.12", "@types/k-bucket": "^5.0.4", "@types/node": "^22.13.10", diff --git a/packages/e2store/CHANGELOG.md b/packages/e2store/CHANGELOG.md index 796d8e1acff..efe6f0ed4a2 100644 --- a/packages/e2store/CHANGELOG.md +++ b/packages/e2store/CHANGELOG.md @@ -6,7 +6,33 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## 10.0.0-dev-rc.1 - 2025-03-24 +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +### Changes since `RC.1` + +- New package name `@ethereumjs/e2store`, add support for `E2HS` file format, PR [#3954](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3954) + + +## 10.0.0-rc.1 - 2025-03-24 Initial development release diff --git a/packages/e2store/package.json b/packages/e2store/package.json index a9481a36449..db5217a7691 100644 --- a/packages/e2store/package.json +++ b/packages/e2store/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/e2store", - "version": "10.0.0-dev-rc.1", + "version": "10.0.0", "description": "E2Store support for EthereumJS", "keywords": ["ethereum", "e2store", "e2hs", "era", "era1", "era2", "storage", "snappy"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/e2store#readme", @@ -56,10 +56,10 @@ }, "dependencies": { "@chainsafe/snappy-stream": "^5.1.2", - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/blockchain": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/blockchain": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "level": "^9.0.0", "micro-eth-signer": "^0.14.0" }, diff --git a/packages/ethash/CHANGELOG.md b/packages/ethash/CHANGELOG.md index d298f92c073..35a2d884f9a 100644 --- a/packages/ethash/CHANGELOG.md +++ b/packages/ethash/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/ethash/package.json b/packages/ethash/package.json index 2e9d4cf0864..3b080d79333 100644 --- a/packages/ethash/package.json +++ b/packages/ethash/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/ethash", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "An implementation of the Ethash consensus algorithm in JavaScript", "keywords": ["ethash", "ethereum", "POW"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/ethash#readme", @@ -48,14 +48,14 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "bigint-crypto-utils": "^3.3.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { - "@ethereumjs/common": "^10.0.0-rc.1" + "@ethereumjs/common": "^10.0.0" }, "engines": { "node": ">=18" diff --git a/packages/evm/CHANGELOG.md b/packages/evm/CHANGELOG.md index f4d89f28b21..209fe56066e 100644 --- a/packages/evm/CHANGELOG.md +++ b/packages/evm/CHANGELOG.md @@ -6,6 +6,37 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +### Changes since `RC.1` + +- Fix inconsistent memory expansion behavior along `step` event, PR [#3953](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3953) +- Error related renamings for consistency reasons, PRs [#3968](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3968), [#3994](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3994) and [#4033](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4033): + - `ERROR` -> `EVMErrorMessage` (Error messages) + - `EvmError` -> `EVMError` (Error class) + - EOF related error renamings +- Upgrade `@noble/curves` to `1.9.0`, PR [#4018](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4018) +- Add JSON tracing to `t8n` in compliance with `EIP-7756`, PRs [#3953](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3953) and [#4027](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4027) + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/evm/package.json b/packages/evm/package.json index 8eb399c0ed9..fba48d043ed 100644 --- a/packages/evm/package.json +++ b/packages/evm/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/evm", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "JavaScript Ethereum Virtual Machine (EVM) implementation", "keywords": ["ethereum", "EVM", "JavaScript", "TypeScript"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm#readme", @@ -54,11 +54,11 @@ "visualize:bundle": "npx vite build --config=./vite.config.bundler.ts --emptyOutDir=false --outDir ." }, "dependencies": { - "@ethereumjs/binarytree": "^10.0.0-dev-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/statemanager": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", - "@ethereumjs/verkle": "^10.0.0-dev-rc.1", + "@ethereumjs/binarytree": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/statemanager": "^10.0.0", + "@ethereumjs/util": "^10.0.0", + "@ethereumjs/verkle": "^10.0.0", "@noble/curves": "^1.9.0", "@types/debug": "^4.1.12", "debug": "^4.4.0", diff --git a/packages/genesis/CHANGELOG.md b/packages/genesis/CHANGELOG.md index c3f32a7a90b..76641a5219c 100644 --- a/packages/genesis/CHANGELOG.md +++ b/packages/genesis/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/genesis/package.json b/packages/genesis/package.json index bf8daf76197..01f4ee724c9 100644 --- a/packages/genesis/package.json +++ b/packages/genesis/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/genesis", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "A module to provide genesis states of well known networks", "keywords": ["ethereum", "genesis"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/genesis#readme", @@ -78,8 +78,8 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1" + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/util": "^10.0.0" }, "engines": { "node": ">=18" diff --git a/packages/mpt/CHANGELOG.md b/packages/mpt/CHANGELOG.md index 9aba6aa371c..c2581cc2f29 100644 --- a/packages/mpt/CHANGELOG.md +++ b/packages/mpt/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/mpt/package.json b/packages/mpt/package.json index 128f3a2448d..f1e19ccefe6 100644 --- a/packages/mpt/package.json +++ b/packages/mpt/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/mpt", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "Implementation of the modified merkle patricia tree as specified in Ethereum's yellow paper.", "keywords": ["merkle", "radix", "trie", "ethereum"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/mpt#readme", @@ -53,14 +53,14 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "debug": "^4.4.0", "lru-cache": "11.0.2", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { - "@ethereumjs/genesis": "^10.0.0-rc.1", + "@ethereumjs/genesis": "^10.0.0", "@types/benchmark": "^2.1.5", "abstract-level": "^3.0.1", "level": "^9.0.0", diff --git a/packages/rlp/CHANGELOG.md b/packages/rlp/CHANGELOG.md index 2b82c2b4eee..c24677370d2 100644 --- a/packages/rlp/CHANGELOG.md +++ b/packages/rlp/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/rlp/package.json b/packages/rlp/package.json index a7d92bf25db..6a5bb920d48 100644 --- a/packages/rlp/package.json +++ b/packages/rlp/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/rlp", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "Recursive Length Prefix Encoding Module", "keywords": ["rlp", "ethereum"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/rlp#readme", diff --git a/packages/statemanager/CHANGELOG.md b/packages/statemanager/CHANGELOG.md index 0744476650e..941f059d5ce 100644 --- a/packages/statemanager/CHANGELOG.md +++ b/packages/statemanager/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/statemanager/package.json b/packages/statemanager/package.json index e02f41b1eee..f50ae6d42f4 100644 --- a/packages/statemanager/package.json +++ b/packages/statemanager/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/statemanager", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "An Ethereum statemanager implementation", "keywords": ["ethereum", "statemanager"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/statemanager#readme", @@ -47,12 +47,12 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/binarytree": "^10.0.0-dev-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", - "@ethereumjs/verkle": "^10.0.0-dev-rc.1", + "@ethereumjs/binarytree": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/util": "^10.0.0", + "@ethereumjs/verkle": "^10.0.0", "@js-sdsl/ordered-map": "^4.4.2", "@noble/hashes": "^1.7.2", "debug": "^4.4.0", @@ -60,8 +60,8 @@ "lru-cache": "11.0.2" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/genesis": "^10.0.0-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/genesis": "^10.0.0", "@types/debug": "^4.1.12" } } diff --git a/packages/testdata/package.json b/packages/testdata/package.json index efd042c6098..03a620da37a 100644 --- a/packages/testdata/package.json +++ b/packages/testdata/package.json @@ -23,7 +23,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "devDependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1" + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/util": "^10.0.0" } } diff --git a/packages/tx/CHANGELOG.md b/packages/tx/CHANGELOG.md index de665ef1c32..0009bd4578e 100644 --- a/packages/tx/CHANGELOG.md +++ b/packages/tx/CHANGELOG.md @@ -6,9 +6,31 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## 10.x.x - UNPUBLISHED +## 10.0.0 - 2025-04-29 -Update transaction test runner to correctly report tests and fix edge case of invalid 7702 txs with nested lists inside the authority list, PR[3942](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3942) +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +### Changes since `RC.1` + +- Fix for the `EIP-7702` gas calculation, PR [#3935](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3935) +- Update transaction test runner to correctly report tests and fix edge case of invalid 7702 txs with nested lists inside the authority list, PR[3942](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3942) ## 10.0.0-rc.1 - 2025-03-24 diff --git a/packages/tx/package.json b/packages/tx/package.json index 769c1ac1cff..4fb751de213 100644 --- a/packages/tx/package.json +++ b/packages/tx/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/tx", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "Implementation of the various Ethereum Transaction Types", "keywords": ["ethereum", "transactions"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/tx#readme", @@ -57,9 +57,9 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { diff --git a/packages/util/CHANGELOG.md b/packages/util/CHANGELOG.md index 83818da2826..10f2a00118e 100644 --- a/packages/util/CHANGELOG.md +++ b/packages/util/CHANGELOG.md @@ -6,9 +6,33 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## 10.x.x - UNPUBLISHED +## 10.0.0 - 2025-04-29 -- Does not add `27` to the recovery bit `v` value of `ecsign`. Also removes the `chainId` option from extra options, PR [3941](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3941) +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +### Changes since `RC.1` + +- Additional `authorization` module with `EIP-7702` authorization list signing utilities, PRs [#3933](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3933) and [#4032](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4032) +- `signature` module: Remove `ecsign` method (use `ethereum-cryptography` directly), PR [#3948](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3948) +- `bytes` module: Stricter `hexToBytes()` method, PR [#3995](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3995) +- `bytes` module: `bytesToHex()`now throws on `undefined` input (instead of returning `0x`), PR [#4004](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4004) ## 10.0.0-rc.1 - 2025-03-24 diff --git a/packages/util/README.md b/packages/util/README.md index 9e864e51f7a..0af05fd1fca 100644 --- a/packages/util/README.md +++ b/packages/util/README.md @@ -15,6 +15,7 @@ - [Getting Started](#getting-started) - [Module: [account]](#module-account) - [Module: [address]](#module-address) +- [Module: [authorization]](#module-authorization) - [Module: [blobs]](#module-blobs) - [Module: [bytes]](#module-bytes) - [Module: [constants]](#module-constants) @@ -96,6 +97,10 @@ const address = createAddressFromString('0x2f015c60e0be116b1f0cd534704db9c92118f console.log(`Ethereum address ${address.toString()} created`) ``` +## Module: [authorization](src/authorization.ts) + +Module with `EIP-7702` authorization list signing utilities. + ## Module: [blobs](src/blobs.ts) Module providing helpers for 4844 blobs and versioned hashes. diff --git a/packages/util/package.json b/packages/util/package.json index fcfaaf4c006..eb5acb44df9 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/util", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "A collection of utility functions for Ethereum", "keywords": ["ethereum", "utilities", "utils"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/util#readme", @@ -94,7 +94,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", "ethereum-cryptography": "^3.2.0" }, "devDependencies": { diff --git a/packages/verkle/CHANGELOG.md b/packages/verkle/CHANGELOG.md index a094c7c15ba..47c2894ca38 100644 --- a/packages/verkle/CHANGELOG.md +++ b/packages/verkle/CHANGELOG.md @@ -6,7 +6,30 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## 10.0.0-dev-rc.1 - 2025-03-24 +## 10.0.0 (EXPERIMENTAL) - 2025-04-29 + +**Note:** This library is in an **experimental** stage and should not be used in production! + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/verkle/README.md b/packages/verkle/README.md index 1e490db988e..1f81fa34a8a 100644 --- a/packages/verkle/README.md +++ b/packages/verkle/README.md @@ -1,4 +1,4 @@ -# @ethereumjs/verkle `v10` +# @ethereumjs/verkle `v10` (EXPERIMENTAL) [![NPM Package][verkle-npm-badge]][verkle-npm-link] [![GitHub Issues][verkle-issues-badge]][verkle-issues-link] @@ -11,7 +11,7 @@ > Verkle trees are a cryptographic data structure proposed for use in Ethereum to optimize storage and transaction verification. They combine features of Merkle Patricia Tries and Vector Commitment Trees to offer efficient data verification with smaller proof sizes. The goal is to improve scalability and efficiency in Ethereum's network operations. -This package is currently in early alpha and is a work in progress. It is not intended for use in production environments, but rather for research and development purposes. Any help in improving the package is very much welcome. +**Note:** This library is in an **experimental** stage and should not be used in production! ## Table of Contents diff --git a/packages/verkle/package.json b/packages/verkle/package.json index 13a493ff8b9..9adea975057 100644 --- a/packages/verkle/package.json +++ b/packages/verkle/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/verkle", - "version": "10.0.0-dev-rc.1", + "version": "10.0.0", "description": "Implementation of verkle trees as used in Ethereum.", "keywords": ["verkle", "tree", "trie", "ethereum"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/verkle#readme", @@ -56,8 +56,8 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/util": "^10.0.0", "debug": "^4.4.0", "lru-cache": "11.0.2", "micro-eth-signer": "0.14.0" diff --git a/packages/vm/CHANGELOG.md b/packages/vm/CHANGELOG.md index a4dfaf08f8a..358accdaac8 100644 --- a/packages/vm/CHANGELOG.md +++ b/packages/vm/CHANGELOG.md @@ -6,6 +6,32 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + +### Changes since `RC.1` + +- `EIP-6110` log layout check fix, PR [#3977](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3977) +- Convert `StatelessVerkleStateManager` usage to type (bundle optimizations) and small Verkle interface adjustment, PRs [#4021](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4021) and [#4022](https://github.com/ethereumjs/ethereumjs-monorepo/pull/4022) + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/vm/package.json b/packages/vm/package.json index 40ae74fee0d..efa7c2edcd7 100644 --- a/packages/vm/package.json +++ b/packages/vm/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/vm", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "An Ethereum VM implementation", "keywords": ["ethereum", "VM"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#readme", @@ -59,22 +59,22 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/block": "^10.0.0-rc.1", - "@ethereumjs/common": "^10.0.0-rc.1", - "@ethereumjs/evm": "^10.0.0-rc.1", - "@ethereumjs/mpt": "^10.0.0-rc.1", - "@ethereumjs/rlp": "^10.0.0-rc.1", - "@ethereumjs/statemanager": "^10.0.0-rc.1", - "@ethereumjs/tx": "^10.0.0-rc.1", - "@ethereumjs/util": "^10.0.0-rc.1", - "@ethereumjs/verkle": "^10.0.0-dev-rc.1", + "@ethereumjs/block": "^10.0.0", + "@ethereumjs/common": "^10.0.0", + "@ethereumjs/evm": "^10.0.0", + "@ethereumjs/mpt": "^10.0.0", + "@ethereumjs/rlp": "^10.0.0", + "@ethereumjs/statemanager": "^10.0.0", + "@ethereumjs/tx": "^10.0.0", + "@ethereumjs/util": "^10.0.0", + "@ethereumjs/verkle": "^10.0.0", "debug": "^4.4.0", "ethereum-cryptography": "^3.2.0", "eventemitter3": "^5.0.1" }, "devDependencies": { - "@ethereumjs/blockchain": "^10.0.0-rc.1", - "@ethereumjs/ethash": "^10.0.0-rc.1", + "@ethereumjs/blockchain": "^10.0.0", + "@ethereumjs/ethash": "^10.0.0", "@paulmillr/trusted-setups": "^0.1.2", "@types/benchmark": "^2.1.5", "@types/core-js": "^2.5.8", diff --git a/packages/wallet/CHANGELOG.md b/packages/wallet/CHANGELOG.md index f0388b511f3..5c3849992a7 100644 --- a/packages/wallet/CHANGELOG.md +++ b/packages/wallet/CHANGELOG.md @@ -6,6 +6,27 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) (modification: no type change headlines) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 10.0.0 - 2025-04-29 + +### Overview + +This release is part of the `v10` breaking release round making the `EthereumJS` libraries compatible with the [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork going live on Ethereum `mainnet` on May 7 2025. Beside the hardfork update these releases mark a milestone in our release history since they - for the first time ever - bring the full `Ethereum` protocol stack - including the `EVM` - to the browser without any restrictions anymore, coming along with other substantial updates regarding library security and functionality. + +Some highlights: + +- 🌴 Introduction of a tree-shakeable API +- πŸ‘·πŸΌ Substantial dependency reduction to a "controlled dependency set" (no more than 10 + `@Noble` crypto) +- πŸ“² **EIP-7702** readiness +- πŸ›΅ Substantial bundle size reductions for all libraries +- πŸ„πŸΎβ€β™‚οΈ All libraries now pure JS being WASM-free by default +- πŸ¦‹ No more propriatary `Node.js` primitives + +So: **All libraries now work in the browser "out of the box"**. + +### Release Notes + +Major release notes for this release can be found in the `alpha.1` release notes [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3722#issuecomment-2792400268), with some additions along with the `RC.1` releases, see [here](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3886#issuecomment-2748966923). + ## 10.0.0-rc.1 - 2025-03-24 This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024 (see `alpha` release release notes for full/main change description). The releases are somewhat delayed (sorry for that), but final releases can now be expected very very soon, to be released once the Ethereum [Pectra](https://eips.ethereum.org/EIPS/eip-7600) hardfork is scheduled for mainnet and all EIPs are fully finalized. Pectra will then also be the default hardfork setting for all EthereumJS libraries. diff --git a/packages/wallet/package.json b/packages/wallet/package.json index 7599f9798aa..f01ef790b23 100644 --- a/packages/wallet/package.json +++ b/packages/wallet/package.json @@ -1,6 +1,6 @@ { "name": "@ethereumjs/wallet", - "version": "10.0.0-rc.1", + "version": "10.0.0", "description": "Utilities for handling Ethereum keys", "keywords": ["ethereum", "wallets", "keys"], "homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/packages/wallet", @@ -50,7 +50,7 @@ "tsc": "../../config/cli/ts-compile.sh" }, "dependencies": { - "@ethereumjs/util": "^10.0.0-rc.1", + "@ethereumjs/util": "^10.0.0", "@scure/base": "^1.2.4", "ethereum-cryptography": "^3.2.0", "js-md5": "^0.8.3",