Releases: ethereumjs/ethereumjs-monorepo
@ethereumjs/trie v6.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
Following additional changes since RC1:
New API for walking a (sparse) Trie
Starting with this release there is a new API for walking and iterating a trie by using an async walk generator, which now enables to walk tries without altering the walk controller and also now enables to walk a sparse (not completely filled) trie, see PR #2904.
The new walk functionality can be used like the following:
import { Trie } from '@ethereumjs/trie'
const trie = await Trie.create()
const walk = trie.walkTrieIterable(trie.root())
for await (const { node, currentKey } of walk) {
// ... do something i.e. console.log( { node, currentKey } )
}
@ethereumjs/statemanager v2.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
Following additional changes since RC1:
Breaking
: newdumpStorageRangeAt()
implementation + EVMStateManager interface addition (in @ethereumjs/common), PR #2922
@ethereumjs/rlp v5.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
@ethereumjs/genesis v0.1.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
@ethereumjs/evm v2.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
Following additional changes since RC1/RC2:
@ethereumjs/ethash v3.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
@ethereumjs/devp2p v6.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
Following additional changes since RC1:
Event Emitter Refactor
We have reworked the EventEmitter
integration for the library and switched away from the structure where all central classes (like e.g. RLPx
) directly inherit from EventEmitter
. Instead, we now have the EventEmitter
in a dedicated events
property associated with the respective class, see PR #2893. This aligns with how event emitters are implemented in other libraries (e.g. the VM or the client), leads to a cleaner API usage (autocomplete in an IDE now only shows the relevant methods) and allows for an easier customization of the library.
Event usage has to be adopted as follows:
rlpx.on('peer:added', (peer) => { // old
// Do something
}
rlpx.events.on('peer:added', (peer) => { // new
// Do something
}
Event emitter logic in the following components from the public API has been reworked:
DPT
RLPx
ETH
LES
SNAP
(in development)
Other Changes
- Address security vulnerabilities, PR #2912
@ethereumjs/common v4.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
Following additional changes since RC1:
JSON -> JS for Hardfork, EIP and Chain Configs
We have switched hardfork, EIP and chain configurations in the Common
library from JSON
to JavaScript
(TypeScript
). This leads to better typing (and therefore less configuration errors) for (custom) configuration files and avoids JSON
type assertion related problems for ESM builds, see PR #2911.
Following changes:
src/chains/[CHAIN_FILE].json
->src/chains.ts
src/eips/[EIP_FILE].json
->src/eips.ts
src/hardforks/[HARDFORK_FILE].json
->src/hardforks.ts
Other Changes
@ethereumjs/client v0.8.1
Note: this release is not yet fully ready for 4844-devnet-8
(launch in August 2023).
EIP-4844 / devnet-8 Updates
- 4844: Rename
dataGas
toblobGas
(see EIP-4844 PR #7354), PR #2919 - Engine api changes for devnet 8, PR #2896
- forkChoiceUpdated v3
- change validations of newPayload v3, make them 1-1
Features
- Add
debug_traceCall
RPC method, PR #2913 - Add
debug_storageRangeAt
RPC method, PR #2922 - Handle SIGTERM kernel signal, PR #2921
Bugfixes / Maintenance
@ethereumjs/blockchain v7.0.0
Final release version from the breaking release round from Summer 2023 on the EthereumJS libraries, thanks to the whole team for this amazing accomplishment! ❤️ 🥳
See RC1 release notes for the main change description.
Following additional changes since RC1: