Skip to content

Commit b1f8cbc

Browse files
holgerd77acolytec3
andauthored
New RC Releases (#3886)
* Post-add concrete alpha release dates to CHANGELOG files * First general release and versioning scheme update notes (Blockchain package) * Add EventEmitter3 Node.js event emitter replacement CHANGELOG notes * More release notes * More release notes * More release notes * More release notes * More release notes * Bump all package versions except client to v10, some special treatment for binary/verkle * Bump all package.json dependency versions to v10 * Update package-lock.json * Notes for EthereumJSError error handling PR * Some more additions * Apply suggestions from code review Co-authored-by: acolytec3 <[email protected]> * release note additions from reviews * Add additional -dev extension for developer release versioning (binarytree, era, verkle) * Rebuild package-lock.json * Rebuild package-lock.json * Add missing @ethereumjs/genesis package dependency updates * Minor * Rebuild package-lock.json * Genesis package hoodi/holesky path and import updates * Move @vitest/browser and webdriverio from peer dependencies to dev dependencies * Rebuild package-lock.json * Pin vitest dev dependencies * Rebuild package-lock.json * Added AccessList/AuthorizationList PR changes * Added release date * typo --------- Co-authored-by: acolytec3 <[email protected]>
1 parent e073c71 commit b1f8cbc

38 files changed

+6013
-2699
lines changed

package-lock.json

Lines changed: 5347 additions & 2564 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@
3636
"@types/tape": "5.8.1",
3737
"@typescript-eslint/eslint-plugin": "^8.26.1",
3838
"@typescript-eslint/parser": "^8.26.1",
39-
"@vitest/coverage-istanbul": "^3.0.8",
40-
"@vitest/coverage-v8": "^3.0.8",
41-
"@vitest/ui": "^3.0.8",
39+
"@vitest/browser": "3.0.8",
40+
"@vitest/coverage-istanbul": "3.0.8",
41+
"@vitest/coverage-v8": "3.0.8",
42+
"@vitest/ui": "3.0.8",
4243
"cspell": "^8.17.5",
4344
"embedme": "1.22.1",
4445
"eslint": "^9.22.0",
@@ -54,26 +55,12 @@
5455
"typescript-eslint": "^8.26.1",
5556
"vite-plugin-top-level-await": "^1.5.0",
5657
"vite-plugin-wasm": "^3.4.1",
57-
"vitest": "^3.0.8"
58+
"vitest": "3.0.8",
59+
"webdriverio": "^9.8.0"
5860
},
5961
"optionalDependencies": {
6062
"@rollup/rollup-linux-x64-gnu": "*"
6163
},
62-
"peerDependencies": {
63-
"@vitest/browser": "^3.0.8",
64-
"webdriverio": "^9.8.0"
65-
},
66-
"peerDependenciesMeta": {
67-
"playwright": {
68-
"optional": true
69-
},
70-
"webdriverio": {
71-
"optional": true
72-
},
73-
"@vitest/browser": {
74-
"optional": true
75-
}
76-
},
7764
"engines": {
7865
"node": ">=18",
7966
"npm": ">=7"

packages/binarytree/CHANGELOG.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
(modification: no type change headlines) and this project adheres to
77
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
88

9-
## 0.0.1 - 2025-01-30
9+
## 10.0.0-dev-rc.1 - 2025-03-24
1010

11-
- Initial development release
11+
This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024. 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.
12+
13+
### New Versioning Scheme
14+
15+
This breaking release round will come with a new versioning scheme (thanks to @paulmillr for the [suggestion](https://github.com/ethereumjs/ethereumjs-monorepo/issues/3748)), aligning the package numbers on breaking releases for all EthereumJS packages. This will make it easier to report bugs ("bug happened on EthereumJS version 10 releases"), reason about release series and make library compatibility more transparent and easier to grasp.
16+
17+
As a start we bump all major release versions to version 10, these `RC` releases are the first to be released with the new versioning scheme.
18+
19+
**Note: This is the initial developer release of a binary tree package. While we also directly bump the binarytree package version for consistency reasons please be aware that this package is still in a very early stage and not production ready!**

packages/binarytree/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ethereumjs/binarytree",
3-
"version": "0.0.1",
3+
"version": "10.0.0-dev-rc.1",
44
"description": "Implementation of binary trees as used in Ethereum.",
55
"keywords": ["binary", "tree", "trie", "ethereum"],
66
"homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/binarytree#readme",
@@ -47,8 +47,8 @@
4747
"tsc": "../../config/cli/ts-compile.sh"
4848
},
4949
"dependencies": {
50-
"@ethereumjs/rlp": "^6.0.0-alpha.1",
51-
"@ethereumjs/util": "^10.0.0-alpha.1",
50+
"@ethereumjs/rlp": "^10.0.0-rc.1",
51+
"@ethereumjs/util": "^10.0.0-rc.1",
5252
"@noble/hashes": "^1.7.1",
5353
"debug": "^4.4.0",
5454
"ethereum-cryptography": "^3.1.0",

packages/block/CHANGELOG.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,29 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
(modification: no type change headlines) and this project adheres to
77
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
88

9-
## 6.0.0-alpha.1 - [ UNPUBLISHED ]
9+
## 10.0.0-rc.1 - 2025-03-24
10+
11+
This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024. 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.
12+
13+
### New Versioning Scheme
14+
15+
This breaking release round will come with a new versioning scheme (thanks to @paulmillr for the [suggestion](https://github.com/ethereumjs/ethereumjs-monorepo/issues/3748)), aligning the package numbers on breaking releases for all EthereumJS packages. This will make it easier to report bugs ("bug happened on EthereumJS version 10 releases"), reason about release series and make library compatibility more transparent and easier to grasp.
16+
17+
As a start we bump all major release versions to version 10, these `RC` releases are the first to be released with the new versioning scheme.
18+
19+
### Pectra Spec Updates
20+
21+
- Support for EIP-7691 Blob Throughput Increase, PR [#3807](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3807)
22+
- Support for generalized EL requests coming with EIP-7685 introduction (devnet-4), PR [#3706](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3706)
23+
- Fix the param resolution for excess gas and blob fee compute, PR [#3841](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3841)
24+
25+
### EthereumJS-wide Error Objects
26+
27+
We have done preparations to allow for handling specific error sub types in the future by introducing a monorepo-wide `EthereumJSError` error class in the `@ethereumjs/util` package, see PR [#3879](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3879). This error is thrown for all error cases within the monorepo and can be specifically handled by comparing with `instanceof EthereumJSError`.
28+
29+
We will introduce a set of more specific sub error classes inheriting from this generic type in upcoming minor releases, and so keeping things fully backwards compatible. This will allow for a more specific and robust handling of errors thrown by EthereumJS libraries.
30+
31+
## 6.0.0-alpha.1 - 2024-10-17
1032

1133
This is a first round of `alpha` releases for our upcoming breaking release round with a focus on bundle size (tree shaking) and security (dependencies down + no WASM (by default)). Note that `alpha` releases are not meant to be fully API-stable yet and are for early testing only. This release series will be then followed by a `beta` release round where APIs are expected to be mostly stable. Final releases can then be expected for late October/early November 2024.
1234

packages/block/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ethereumjs/block",
3-
"version": "6.0.0-alpha.1",
3+
"version": "10.0.0-rc.1",
44
"description": "Provides Block serialization and help functions",
55
"keywords": ["ethereum", "block"],
66
"homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/block#readme",
@@ -43,11 +43,11 @@
4343
"tsc": "../../config/cli/ts-compile.sh"
4444
},
4545
"dependencies": {
46-
"@ethereumjs/common": "^5.0.0-alpha.1",
47-
"@ethereumjs/rlp": "^6.0.0-alpha.1",
48-
"@ethereumjs/mpt": "^7.0.0-alpha.1",
49-
"@ethereumjs/tx": "^6.0.0-alpha.1",
50-
"@ethereumjs/util": "^10.0.0-alpha.1",
46+
"@ethereumjs/common": "^10.0.0-rc.1",
47+
"@ethereumjs/rlp": "^10.0.0-rc.1",
48+
"@ethereumjs/mpt": "^10.0.0-rc.1",
49+
"@ethereumjs/tx": "^10.0.0-rc.1",
50+
"@ethereumjs/util": "^10.0.0-rc.1",
5151
"ethereum-cryptography": "^3.1.0"
5252
},
5353
"devDependencies": {

packages/blockchain/CHANGELOG.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,43 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
(modification: no type change headlines) and this project adheres to
77
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
88

9-
## 8.0.0-alpha.1 - [ UNPUBLISHED ]
9+
## 10.0.0-rc.1 - 2025-03-24
10+
11+
This is the first (and likely the last) round of `RC` releases for the upcoming breaking releases, following the `alpha` releases from October 2024. 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.
12+
13+
### New Versioning Scheme
14+
15+
This breaking release round will come with a new versioning scheme (thanks to @paulmillr for the [suggestion](https://github.com/ethereumjs/ethereumjs-monorepo/issues/3748)), aligning the package numbers on breaking releases for all EthereumJS packages. This will make it easier to report bugs ("bug happened on EthereumJS version 10 releases"), reason about release series and make library compatibility more transparent and easier to grasp.
16+
17+
As a start we bump all major release versions to version 10, these `RC` releases are the first to be released with the new versioning scheme.
18+
19+
### Native Node.js EventEmitter Replacement
20+
21+
We removed the last remaining internal Node.js utility dependency to make the packages more browser friendly and replace the native Node.js `EventEmitter` by using the [eventemitter3](https://github.com/primus/eventemitter3) package as a replacement, see PR [#3746](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3746).
22+
23+
The new package is meant to be more performant while remaining almost entirely API compatible with native Node.js event emitters.
24+
25+
If you directly import the Node.js event emitter, you need to switch your imports to:
26+
27+
```ts
28+
import { EventEmitter } from 'events' // old
29+
import { EventEmitter } from 'eventemitter3' // new
30+
```
31+
32+
All this might affect you if you listen to events emitted by the `blockchain.events` `EventEmitter` instance.
33+
34+
### Pectra Spec Updates
35+
36+
- Support for generalized EL requests coming with EIP-7685 introduction (devnet-4), PR [#3706](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3706)
37+
- Add `requestsHash` to genesis block/configuration, PR [#3771](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3771)
38+
39+
### EthereumJS-wide Error Objects
40+
41+
We have done preparations to allow for handling specific error sub types in the future by introducing a monorepo-wide `EthereumJSError` error class in the `@ethereumjs/util` package, see PR [#3879](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3879). This error is thrown for all error cases within the monorepo and can be specifically handled by comparing with `instanceof EthereumJSError`.
42+
43+
We will introduce a set of more specific sub error classes inheriting from this generic type in upcoming minor releases, and so keeping things fully backwards compatible. This will allow for a more specific and robust handling of errors thrown by EthereumJS libraries.
44+
45+
## 8.0.0-alpha.1 - 2024-10-17
1046
1147
This is a first round of `alpha` releases for our upcoming breaking release round with a focus on bundle size (tree shaking) and security (dependencies down + no WASM (by default)). Note that `alpha` releases are not meant to be fully API-stable yet and are for early testing only. This release series will be then followed by a `beta` release round where APIs are expected to be mostly stable. Final releases can then be expected for late October/early November 2024.
1248

packages/blockchain/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ethereumjs/blockchain",
3-
"version": "8.0.0-alpha.1",
3+
"version": "10.0.0-rc.1",
44
"description": "A module to store and interact with blocks",
55
"keywords": ["ethereum", "blockchain"],
66
"homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/blockchain#readme",
@@ -43,17 +43,17 @@
4343
"tsc": "../../config/cli/ts-compile.sh"
4444
},
4545
"dependencies": {
46-
"@ethereumjs/block": "^6.0.0-alpha.1",
47-
"@ethereumjs/common": "^5.0.0-alpha.1",
48-
"@ethereumjs/mpt": "^7.0.0-alpha.1",
49-
"@ethereumjs/rlp": "^6.0.0-alpha.1",
50-
"@ethereumjs/util": "^10.0.0-alpha.1",
46+
"@ethereumjs/block": "^10.0.0-rc.1",
47+
"@ethereumjs/common": "^10.0.0-rc.1",
48+
"@ethereumjs/mpt": "^10.0.0-rc.1",
49+
"@ethereumjs/rlp": "^10.0.0-rc.1",
50+
"@ethereumjs/util": "^10.0.0-rc.1",
5151
"debug": "^4.4.0",
5252
"eventemitter3": "^5.0.1",
5353
"lru-cache": "11.0.2"
5454
},
5555
"devDependencies": {
56-
"@ethereumjs/ethash": "^4.0.0-alpha.1"
56+
"@ethereumjs/ethash": "^10.0.0-rc.1"
5757
},
5858
"engines": {
5959
"node": ">=18"

packages/client/CHANGELOG.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,53 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
(modification: no type change headlines) and this project adheres to
77
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
88

9-
## 0.10.3 - [ UNPUBLISHED ]
9+
## 0.10.4 - 2025-03-24
10+
11+
### New JavaScript REPL
12+
13+
This release comes with a new REPL - see PRs [#3781](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3781) and [#3867](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3867). It can be run using the npm script available in the client package:
14+
15+
`npm run repl`
16+
17+
In order to pass parameters to the client while using the repl, you can append it to the npm script command:
18+
19+
`npm run repl -- --gethGenesis /data/genesis.json`
20+
21+
The repl allows access to the JSON-RPC and ENGINE API's from the terminal. For help and a list of supported functions, type `.help` upon repl startup:
22+
```
23+
[01-17|09:05:57] INFO Started JSON RPC Server address=http://localhost:8545 namespaces=eth,web3,net,admin,txpool,debug
24+
[01-17|09:05:57] INFO Started JSON RPC server address=http://localhost:8551 namespaces=eth,engine rpcEngineAuth=false
25+
EthJS > .help
26+
```
27+
28+
Example usage of repl commands:
29+
```
30+
[01-17|09:10:54] INFO Started JSON RPC Server address=http://localhost:8545 namespaces=eth,web3,net,admin,txpool,debug
31+
[01-17|09:10:54] INFO Started JSON RPC server address=http://localhost:8551 namespaces=eth,engine rpcEngineAuth=false
32+
EthJS > .eth_getBlockByNumber ["latest", true]
33+
EthJS > {
34+
number: '0x0',
35+
hash: '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3',
36+
parentHash: '0x0000000000000000000000000000000000000000000000000000000000000000',
37+
mixHash: '0x0000000000000000000000000000000000000000000000000000000000000000',
38+
nonce: '0x0000000000000042',
39+
...
40+
```
41+
42+
### RPC Methods
43+
44+
- Added support for `admin_addPeer` method, PR [#3788](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3788)
45+
- Added support for `debug_verbosity` method, PR [#3809](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3809)
46+
- Added support for `debug_setHead` method, PR [#3811](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3811)
47+
48+
### Other Changes
49+
50+
- Experimental support for stateful verkle execution (`statefulVerkle` option), PR [#3800](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3800)
51+
- Fix double execution of a newplayload block on fcu, PR [#3777](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3777)
52+
- Outdated `LES` respectively `lightServ` support has been removed, PR [#3759](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3759)
53+
- Engine API adjustments (mainly related to EL requests) along with devnet-4, PR [#3706](https://github.com/ethereumjs/ethereumjs-monorepo/pull/3706)
54+
55+
## 0.10.3 - 2024-10-17
1056

1157
### Engine API
1258

packages/client/package.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ethereumjs/client",
3-
"version": "0.10.3",
3+
"version": "0.10.4",
44
"description": "EthereumJS Execution Layer (EL) Client Implementation",
55
"keywords": ["ethereum", "ethereumjs", "client", "blockchain", "light sync", "full sync"],
66
"homepage": "https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client#readme",
@@ -48,19 +48,19 @@
4848
"tsc": "../../config/cli/ts-compile.sh"
4949
},
5050
"dependencies": {
51-
"@ethereumjs/block": "6.0.0-alpha.1",
52-
"@ethereumjs/blockchain": "8.0.0-alpha.1",
53-
"@ethereumjs/common": "5.0.0-alpha.1",
54-
"@ethereumjs/devp2p": "7.0.0-alpha.1",
55-
"@ethereumjs/ethash": "4.0.0-alpha.1",
56-
"@ethereumjs/evm": "4.0.0-alpha.1",
57-
"@ethereumjs/genesis": "0.3.0-alpha.1",
58-
"@ethereumjs/mpt": "7.0.0-alpha.1",
59-
"@ethereumjs/rlp": "6.0.0-alpha.1",
60-
"@ethereumjs/statemanager": "3.0.0-alpha.1",
61-
"@ethereumjs/tx": "6.0.0-alpha.1",
62-
"@ethereumjs/util": "10.0.0-alpha.1",
63-
"@ethereumjs/vm": "9.0.0-alpha.1",
51+
"@ethereumjs/block": "10.0.0-rc.1",
52+
"@ethereumjs/blockchain": "10.0.0-rc.1",
53+
"@ethereumjs/common": "10.0.0-rc.1",
54+
"@ethereumjs/devp2p": "10.0.0-rc.1",
55+
"@ethereumjs/ethash": "10.0.0-rc.1",
56+
"@ethereumjs/evm": "10.0.0-rc.1",
57+
"@ethereumjs/genesis": "10.0.0-rc.1",
58+
"@ethereumjs/mpt": "10.0.0-rc.1",
59+
"@ethereumjs/rlp": "10.0.0-rc.1",
60+
"@ethereumjs/statemanager": "10.0.0-rc.1",
61+
"@ethereumjs/tx": "10.0.0-rc.1",
62+
"@ethereumjs/util": "10.0.0-rc.1",
63+
"@ethereumjs/vm": "10.0.0-rc.1",
6464
"@js-sdsl/ordered-map": "^4.4.2",
6565
"@multiformats/multiaddr": "^12.4.0",
6666
"@paulmillr/trusted-setups": "^0.1.2",

0 commit comments

Comments
 (0)