Skip to content

Commit bce61c1

Browse files
authored
chore(docs): bump changelog from v5.0.0 release. (#2105)
1 parent 14ed88d commit bce61c1

File tree

2 files changed

+106
-29
lines changed

2 files changed

+106
-29
lines changed

docs/CHANGELOG.md

Lines changed: 102 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,119 @@ Test fixtures for use by clients are available for each release on the [Github r
66

77
## 🔜 [Unreleased]
88

9-
### 💥 Breaking Changes
9+
### 💥 Breaking Change
1010

11-
- Python 3.10 support was removed in this release ([#1808](https://github.com/ethereum/execution-spec-tests/pull/1808)).
12-
- Tests for the Prague fork are now marked as stable will be included in the `fixtures_stable.tar.gz` tarball from now on.
13-
- Tests for the Osaka fork are now included in the `fixtures_develop.tar.gz` tarball.
14-
- `fixtures_static.tar.gz` has been deprecated and filled static tests are now included in `fixtures_stable.tar.gz` and `fixtures_develop.tar.gz`.
15-
- When filling fixtures transition forks are included within there respective "to" fork, where `--fork Osaka` will now include `PragueToOsakaAtTime15k`. Previously transitions fork would only be included when filling with `--from Prague --until Osaka` flags.
11+
### 🛠️ Framework
1612

17-
#### 💥 Important Change for EEST developers
13+
#### `fill`
1814

19-
- @ethereum/execution-spec-tests now requires `uv>=0.7.0` ([#1904](https://github.com/ethereum/execution-spec-tests/pull/1904)). If your version of `uv` is too old, please proceed as following.
15+
#### `consume`
2016

21-
If `uv` was curl-installed (recommended), please run:
17+
### 📋 Misc
2218

23-
```bash
24-
uv self update
25-
```
19+
### 🧪 Test Cases
2620

27-
If `uv` was pip-installed, then:
21+
## [v5.0.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v5.0.0) - 2025-09-05
2822

29-
```bash
30-
pip uninstall uv
31-
curl -LsSf https://astral.sh/uv/install.sh | sh
32-
```
23+
## 🇯🇵 Summary
3324

34-
#### 💥 Important Change for test contributors
25+
EEST Fujisan is our first full release for Osaka, the first full release since Pectra!
3526

36-
- EEST no longer allows usage of Yul code in Python tests. From now on, please make use of our opcode wrapper. Yul code is now only allowed in the "static tests" located in `./tests/static/` (these are test cases defined by JSON and YAML files instead of Python test functions that were originally maintained in [ethereum/tests](https://github.com/ethereum/tests)).
37-
- In order to fill the static tests (which is not the case by default), please ensure that `solc` is located in your `PATH`.
27+
In addition to the latest Osaka specific test cases, it includes re-filled `GeneralStateTests` from `ethereum/tests` (now fully maintained within EEST under `tests/static`) for Osaka adhering to the transaction gas limit cap from [EIP-7825](https://eips.ethereum.org/EIPS/eip-7825). Further framework changes include new simulators, test formats and test types.
28+
29+
## ⚔️ Future Weld with EELS
30+
31+
EEST will merge with [EELS](https://github.com/ethereum/execution-specs) during **Q4 2025**, after which EEST becomes read-only for external contributors.
32+
33+
**What this means?**
34+
35+
- All EEST code moves to the EELS repository.
36+
- New EEST framework location: `execution-specs/src/ethereum_spec_tests/`.
37+
- New EEST tests location: `execution-specs/tests/eest/`.
38+
- Future PRs go to EELS instead of EEST.
39+
40+
**Important Notes:**
41+
42+
- All PRs for tests and framework changes should still be directed at EEST until further notice.
43+
- There will be a brief freeze on EEST contributions during Q4 "The Switch", after which contributors can continue as before, but in EELS.
44+
- Test releases will continue from EEST as normal before, during, and after this transition.
45+
46+
More information will be communicated accordingly through the normal communication channels.
47+
48+
## ❗Current Status Quo
49+
50+
### Test Fixtures Overview
51+
52+
- `fixtures_static.tar.gz` has been deprecated.
53+
- `fixtures_stable.tar.gz` & `fixtures_develop.tar.gz` now both contain re-filled static tests, `GeneralStateTests` from `ethereum/tests`, filled **from Cancun**.
54+
- `fixtures_stable.tar.gz` contains tests filled for forks until Prague.
55+
- `fixtures_develop.tar.gz` contains tests filled for forks until Osaka.
56+
- `fixtures_benchmark.tar.gz` contains benchmark tests filled for only Prague.
57+
58+
### EL Client Test Requirements
3859

39-
#### 💥 Important Change for `fill` Users
60+
**Prague Coverage (Mainnet):**
4061

41-
The output behavior of `fill` has changed ([#1608](https://github.com/ethereum/execution-spec-tests/pull/1608)):
62+
- Run all `state_test`'s & `blockchain_test`'s from `fixtures_stable.tar.gz`.
63+
- Run only `BlockchainTests` from the latest `ethereum/tests` [release](https://github.com/ethereum/tests/releases/tag/v17.2), filled **until Prague**.
4264

43-
- Before: `fill` wrote fixtures into the directory specified by the `--output` flag (default: `fixtures`). This could have many unintended consequences, including unexpected errors if old or invalid fixtures existed in the directory (for details see [#1030](https://github.com/ethereum/execution-spec-tests/issues/1030)).
44-
- Now: `fill` will exit without filling any tests if the specified directory exists and is not-empty. This may be overridden by adding the `--clean` flag, which will first remove the specified directory.
65+
**Fusaka Coverage (Including Mainnet):**
4566

46-
Additionally, writing debugging information to the EVM "dump directory" by default has been disabled. To obtain debug output, the `--evm-dump-dir` flag must now be explicitly set. As a consequence, the now redundant `--skip-evm-dump` option was removed ([#1874](https://github.com/ethereum/execution-spec-tests/pull/1874)). This undoes functionality originally introduced in [#999](https://github.com/ethereum/execution-spec-tests/pull/999) and [#1150](https://github.com/ethereum/execution-spec-tests/pull/1150).
67+
- Run all `state_test`'s & `blockchain_test`'s from `fixtures_develop.tar.gz`.
68+
- Run only `BlockchainTests` from the latest `ethereum/tests` [release](https://github.com/ethereum/tests/releases/tag/v17.2), filled **until Prague**.
4769

48-
#### Feature `zkevm` updated to `benchmark`
70+
**Note**: If you require `GeneralStateTests` from `ethereum/tests` **filled for forks before Cancun** then you must get these from the latest `ethereum/tests` [release](https://github.com/ethereum/tests/releases/tag/v17.2).
71+
72+
### Benchmark Tests
73+
74+
For the most up-to-date benchmark tests, use `fixtures_benchmark.tar.gz`.
75+
76+
> **Note**: Benchmark tests for Osaka (compliant with EIP-7825 transaction gas limit cap) will be added in a future feature release.
77+
78+
### Test Fixture Formats
79+
80+
This release includes 2 new test formats designed primarily for [Hive](https://github.com/ethereum/hive) simulators:
81+
82+
- [**`blockchain_tests_engine_x`**](https://eest.ethereum.org/v5.0.0/running_tests/test_formats/blockchain_test_engine_x/?h=#blockchain-engine-x-tests): An optimized version of `blockchain_tests_engine` where multiple tests share the same genesis state, allowing multiple tests to run on a single client instantiation within Hive's `consume-engine`. The standard format requires a fresh client startup for each test. Due its combined genesis state, this is additionally the primary format used by the Nethermind team for benchmarking.
83+
84+
- [**`blockchain_tests_sync`**](https://eest.ethereum.org/main/running_tests/test_formats/blockchain_test_sync/?h=sync#blockchain-engine-sync-tests): A new format adjacent to the existing `blockchain_tests_engine` format. Used specifically for the upcoming `consume-sync` simulator, which delivers engine payloads from test fixtures to the client under test, then sync's a separate client to it. This test fixture is only marked to be filled for the [EIP-7934](https://eips.ethereum.org/EIPS/eip-7934) block RLP limit tests in Osaka.
85+
86+
### Tooling & Simulators
87+
88+
Improved tooling and new Hive simulators are additionally included in this release:
89+
90+
- [**`execute remote`**](https://eest.ethereum.org/main/running_tests/execute/remote/#running-test-on-a-live-remote-network): this command now supports optional [Engine RPC endpoints](https://eest.ethereum.org/main/running_tests/execute/remote/#engine-rpc-endpoint-optional) (`--engine-endpoint`) with JWT authentication #2070.
91+
- This allows manual control over block creation and transaction inclusion for more deterministic test execution on live networks. Previously, `execute remote` could only submit transactions and rely on the network's automatic block production, but now it can actively drive chain progression by creating blocks on-demand via the Engine API.
92+
- [**`consume sync`**](https://eest.ethereum.org/main/running_tests/running/#sync): Adjacent to `consume-engine`, designed to work with the `blockchain_tests_sync` format for testing client sync scenarios.
93+
- [**`execute blobs`**](https://eest.ethereum.org/main/running_tests/execute/hive/#the-eestexecute-blobs-simulator): A new Hive specific simulator that uses the EEST execute pytest plugin. Sends blob transactions to the client under test and verifies its `engine_getBlobsVX` endpoint. Requires tests to be written with a new python test format `blob_transaction_test`. Primarily used to test PeerDAS from the EL perspective.
94+
- [**`execute eth config`**](https://eest.ethereum.org/main/running_tests/execute/eth_config/): A command used to test the `eth_config` endpoint from [EIP-7910](https://eips.ethereum.org/EIPS/eip-7910). Can be ran [remotely](https://github.com/ethereum/execution-spec-tests/issues/2049) or within Hive.
95+
96+
### Filling For Stateless Clients
97+
98+
A `witness-filler` extension is included in this release, allowing for tests to be filled that include an `executionWitness` for each fixture #2066. This essentially calls an external executable written in rust, and hence must be installed for usage within `fill` using the `--witness` flag. The current approach is below:
99+
100+
```sh
101+
cargo install --git https://github.com/kevaundray/reth.git --branch jsign-witness-filler witness-filler
102+
uv run fill ... --output=fixtures-witness --witness --clean
103+
```
104+
105+
> **Note**: The `witness-filler` executable is not maintained by EEST so we cannot help with any issues.
106+
107+
## 💥 Breaking Changes
108+
109+
### Important changes for EEST superusers
110+
111+
- EEST now requires `uv>=0.7.0` ([#1904](https://github.com/ethereum/execution-spec-tests/pull/1904)). If your version of `uv` is too old.
112+
- When filling fixtures transition forks are included within there respective "to" fork, where `--fork Osaka` will now include `PragueToOsakaAtTime15k`. Previously transitions fork would only be included when filling with `--from Prague --until Osaka` flags.
113+
- Python 3.10 support was removed in this release ([#1808](https://github.com/ethereum/execution-spec-tests/pull/1808)).
114+
- EEST no longer allows usage of Yul code in Python tests. From now on, please make use of our opcode wrapper. Yul code is now only allowed in the "static tests" located in `./tests/static/` (these are test cases defined by JSON and YAML files instead of Python test functions that were originally maintained in [ethereum/tests](https://github.com/ethereum/tests)).
115+
- In order to fill the static tests (which is not the case by default), please ensure that `solc` is located in your `PATH`.
116+
- The output behavior of `fill` has changed ([#1608](https://github.com/ethereum/execution-spec-tests/pull/1608)):
117+
- Before: `fill` wrote fixtures into the directory specified by the `--output` flag (default: `fixtures`). This could have many unintended consequences, including unexpected errors if old or invalid fixtures existed in the directory (for details see [#1030](https://github.com/ethereum/execution-spec-tests/issues/1030)).
118+
- Now: `fill` will exit without filling any tests if the specified directory exists and is not-empty. This may be overridden by adding the `--clean` flag, which will first remove the specified directory.
119+
- Writing debugging information to the EVM "dump directory" by default has been disabled. To obtain debug output, the `--evm-dump-dir` flag must now be explicitly set. As a consequence, the now redundant `--skip-evm-dump` option was removed ([#1874](https://github.com/ethereum/execution-spec-tests/pull/1874)). This undoes functionality originally introduced in [#999](https://github.com/ethereum/execution-spec-tests/pull/999) and [#1150](https://github.com/ethereum/execution-spec-tests/pull/1150).
120+
121+
### Feature `zkevm` updated to `benchmark`
49122

50123
Due to the crossover between `zkevm` and `benchmark` tests, all instances of the former have been replaced with the latter nomenclature. Repository PR labels and titles are additionally updated to reflect this change.
51124

@@ -55,7 +128,9 @@ To select a test for a given gas limit, the IDs of the tests have been expanded
55128

56129
The benchmark release also now includes BlockchainEngineX format that combines most of the tests into a minimal amount of genesis files. For more info see [Blockchain Engine X Tests](https://eest.ethereum.org/main/running_tests/test_formats/blockchain_test_engine_x/) in the EEST documentation.
57130

58-
Users can select any of the artifacts depending on their testing needs for their provers.
131+
Users can select any of the artifacts depending on their benchmarking or testing needs for their provers.
132+
133+
## 🔑 Other Key Changes
59134

60135
### 🛠️ Framework
61136

@@ -142,7 +217,6 @@ Users can select any of the artifacts depending on their testing needs for their
142217
- ✨ Add a `pytest.mark.with_all_typed_transactions` marker that creates default typed transactions for each `tx_type` supported by the current `fork` ([#1890](https://github.com/ethereum/execution-spec-tests/pull/1890)).
143218
- ✨ Add basic support for ``Amsterdam`` fork in order to begin testing Glamsterdam ([#2069](https://github.com/ethereum/execution-spec-tests/pull/2069)).
144219
-[EIP-7928](https://eips.ethereum.org/EIPS/eip-7928): Add initial framework support for `Block Level Access Lists (BAL)` testing for Amsterdam ([#2067](https://github.com/ethereum/execution-spec-tests/pull/2067)).
145-
- 🔀 Restrict extra args from being passed to ``BaseTest`` implementations (e.g. ``BlockchainTest``) ([#2102](https://github.com/ethereum/execution-spec-tests/pull/2102)).
146220

147221
### 🧪 Test Cases
148222

@@ -163,7 +237,6 @@ Users can select any of the artifacts depending on their testing needs for their
163237
- 🔀 Adds the max blob transaction limit to the tests including updates to [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) for Osaka ([#1884](https://github.com/ethereum/execution-spec-tests/pull/1884)).
164238
- 🐞 Fix issues when filling block rlp size limit tests with ``--generate-pre-alloc-groups`` ([#1989](https://github.com/ethereum/execution-spec-tests/pull/1989)).
165239
-[EIP-7928](https://eips.ethereum.org/EIPS/eip-7928): Add test cases for `Block Level Access Lists (BAL)` to Amsterdam ([#2067](https://github.com/ethereum/execution-spec-tests/pull/2067)).
166-
- 🐞 Fix valid BAL cases to pass the expected block access list via each block, not the blockchain test itself ([2102](https://github.com/ethereum/execution-spec-tests/pull/2102)).
167240

168241
## [v4.5.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.5.0) - 2025-05-14
169242

whitelist.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1068,3 +1068,7 @@ codespell
10681068
peerdas
10691069
ckzg
10701070
CLZ
1071+
Fujisan
1072+
zkevm
1073+
jsign
1074+
Glamsterdam

0 commit comments

Comments
 (0)