diff --git a/package-lock.json b/package-lock.json index ac7577b3ad..852496cb9b 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 21a94d91e5..18b3ebbee2 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 22156e4d32..b5c2f4057d 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 df27153359..ca0efee2d3 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 3a3ad05eff..4ec773ab3e 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 730bdf0cab..ea0ebaeb74 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 83cc94ce14..77f04e81b5 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 d9c176a798..54d0d6283c 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 ff75d2f3ac..fd5d8a5709 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 d6a50302a3..dbeed68ad8 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 d0a096f6a8..ed52d0fd56 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 625422e033..a11dc443fa 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 53522d323f..3916b6f2c8 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 d932880233..c20a98d902 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 796d8e1acf..efe6f0ed4a 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 a9481a3644..db5217a769 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 d298f92c07..35a2d884f9 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 2e9d4cf086..3b080d7933 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 f4d89f28b2..209fe56066 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 8eb399c0ed..fba48d043e 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 c3f32a7a90..76641a5219 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 bf8daf7619..01f4ee724c 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 9aba6aa371..c2581cc2f2 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 128f3a2448..f1e19ccefe 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 2b82c2b4ee..c24677370d 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 a7d92bf25d..6a5bb920d4 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 0744476650..941f059d5c 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 e02f41b1ee..f50ae6d42f 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 efd042c609..03a620da37 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 de665ef1c3..0009bd4578 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 769c1ac1cf..4fb751de21 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 83818da282..10f2a00118 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 9e864e51f7..0af05fd1fc 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 fcfaaf4c00..eb5acb44df 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 a094c7c15b..47c2894ca3 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 1e490db988..1f81fa34a8 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 13a493ff8b..9adea97505 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 a4dfaf08f8..358accdaac 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 40ae74fee0..efa7c2edcd 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 f0388b511f..5c3849992a 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 7599f9798a..f01ef790b2 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",