Summary
This release contains significant performance improvements, especially for users who run on consumer hardware, as well as bug fixes.
The default gas limit for Holesky and Sepolia has been increased to 60MGas.
Performance
- Transaction prewarming is enabled by default.
engine_newPayload
latency is improved by up to 4x on DAppNode and similar lower-end machines. - Removed various redundant clones: #15624 #15979
- Improved txpool validation lock behaviour: 029fa59
Bug fixes
- Add state override support to eth_createAccessList #15840
- Txpool fixes for 7702 transaction handling: #15312
- Fixed cache memory metrics reporting #16075
- Skip nonce check in
eth_simulateV1
if no validation required: #16109 - Properly set 4844 txtype in
eth_call
if versioned hashes are provided: #16182 - Activate prague support in the txpool by default
OP Stack
This release has full superchain registry support, so that the —chain argument accept any registered superchain, e.g. —chain unichain
mint
now always returns a value: #15835- Don’t insert tx into the pool if forwarding
eth_sendRawTransaction
fails: #15867 - Include withdrawals root in ExecutionWitness after isthmus: bdbefd0
- Correctly estimate DA size when building payloads: #16153
- Fix memory bloat during extended finalization periods #16157
Reth SDK
- All transaction types have been unified with alloy’s and op-alloy’s, so that
reth_ethereum_primitves::TransactionSigned
andreth_op_primitives::TransactionSigned
are now just aliases. - The recommend crates for using the ethereum stack and opstack are
reth_ethereum
andreth_op
. - This release also includes more no-std support for various crates: #15821
- Introduced
Block::into_ethereum_block
for easier conversions: #15940
Migrating changes
- Changed
EthBuiltPayload::with_sidecar
api for sidecars in preparation for osaka, #16218 - Transaction Sender recovery (
tx.recover_signer
) has been move to a traitSignerRecoverable
that needs to be imported under some circumstances #16174 - The
BlockExecutorProvider
trait has been removed and replaced with the existingConfigureEvm
trait. This removes one layer of abstraction andcomponents.executor()
becomescomponents.evm_config() and associated type
Executorbecomes
Evm``#15989 - The
NetworkBuilder
’s associated typePrimitives
has been changed toNetwork
to support custom network implementations. #16037 so thattype Primitives = EthNetworkPrimitives;
becomestype Network = NetworkHandle<EthNetworkPrimitives>;
MSRV is 1.86
Compatible dependencies:
- alloy-primitives: 1.0.0
- alloy: 1.0.3
- op-alloy 0.16.0
- revm: 23.0.0
- op-revm 4.0.2
Upcoming features
- Full support for handling ERA files for pre-merge history expiry: #13186
- Better ergonomics for modifications, see also #16067
- More performance improvements
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | High |
Non-Payload Builders | High |
See Update Priorities for more information about this table.
Binaries
See pre-built binaries documentation.
The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | reth-v1.4.1-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v1.4.1-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.4.1-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.4.1-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v1.4.1-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | paradigmxyz/reth |
What's Changed
- docs: remove consecutive duplicate words by @zeroprooff in #15795
- feat(transaction-pool): check on disk store in case of blob cache misses by @0xMushow in #15225
- feat(cli): add bootnode command by @frankudoags in #15347
- chore: removed deprecated endpoint by @Rimeeeeee in #15804
- chore(trie):
trie_type
behind flag by @rkrasiuk in #15690 - feat(witness):
always_include_root_node
flag by @rkrasiuk in #15679 - fix(evm): custom blob params by @rkrasiuk in #15598
- feat: add support for Eth69 receipts representation by @stevencartavia in #15619
- chore: removed TransitionConfigurationExchanged event variant by @Rimeeeeee in #15808
- fix: pin teku image by @klkvr in #15805
- chore: improve etherscan debug error reporting by @mattsse in #15811
- fix: use correct params for kurtosis-op by @klkvr in #15813
- chore: Update execution spec tests to v17.0 by @kevaundray in #15809
- fix: added a dedicated test to confirm that serde_json correctly handles JSON strings with leading and trailing whitespace by @tomasandroil in #15789
- fix: Check for the maximum allowed gas limit in the block by @kevaundray in #15800
- feat(storage-api): move BlockExecutionWriter trait from provider to storage-api by @VeerChaurasia in #15798
- docs: some docs on sync gap channel by @mattsse in #15817
- docs: Fix missing escaped newline by @godsflaw in #15816
- chore: add
reth-errors
to no-std checks by @kevaundray in #15815 - fix(exex): Remove unneeded
mut
from exex manager variable by @RomanHodulak in #15830 - docs: remove duplicate words by @leopardracer in #15820
- chore: Add
reth-revm
tono_std
CI checks by @kevaundray in #15822 - chore(all): remove duplicate words by @charlessswang in #15799
- fix: Make
reth-evm-ethereum
turn off default-features in top level Cargo.toml by @kevaundray in #15825 - test(e2e): add
BroadcastNextNewPayload
action by @cwkang1998 in #15828 - chore: Make
reth-ethereum-consensus
no_std compatible by @kevaundray in #15821 - fix: ignore engine-auth failures by @klkvr in #15838
- fix: always return value for
mint
field by @klkvr in #15835 - chore(deps): weekly
cargo update
by @github-actions in #15826 - chore: Add
reth-primitives
tono-std
CI checks by @kevaundray in #15823 - fix: kurtosis-op job by @klkvr in #15839
- feat: add state override support to eth_createAccessList by @roninjin10 in #15840
- docs: Update witness.rs by @vtjl10 in #15836
- refactor: Simplify HeaderSyncGapProvider trait by @Haxry in #15819
- docs: correct indentation in rpc.rs by @yiweichi in #15824
- test(crates): add comprehensive tests for mock transaction factory and modifications by @mattsse in #15842
- feat: task executor accessible globally by @Rimeeeeee in #15360
- chore(ci): Add a usage comment on
revert
by @kevaundray in #15844 - feat(optimism): Add support for all Superchain configs and enable their usage by @cakevm in #14562
- feat(engine): Compare sorted bundle states in witness invalid block hook by @rotcan in #15689
- feat(era): Add history import by @RomanHodulak in #15737
- chore: re-pin crunchy to 0.2.2 after weekly
cargo update
by @kevaundray in #15846 - chore: rename
send_rpc_call
intorequest
withpub
by @mateusfigmelo in #15849 - feat(engine): enable prewarming & caching by default by @fgimenez in #15764
- chore: pin crunchy by including it in one of the member crates by @kevaundray in #15854
- chore: add a method on SparseTrie to check whether a leaf exists by @kevaundray in #15758
- feat: add reproducible build github action by @MikeJerred in #15569
- chore: add empty line to display hardforks by @mattsse in #15845
- chore: add superchain enum macro for chainspec by @shane-moore in #15861
- refactor(reth): Extract
Cli
intoethereum-cli
crate by @RomanHodulak in #15857 - refactor: move reth-evm crate code into its own crate folder by @Pana in #15870
- fix(cli): drop ExEx WAL only if it exists by @shekhirin in #15871
- fix: fail send_raw_transaction if forwarding fails by @mattsse in #15867
- chore: Explicitly check for failure on expected blocks in ef-tests by @kevaundray in #15803
- chore: bump MSRV to 1.86 by @klkvr in #15863
- chore: Make
SparseTrie
crateno_std
compatible by @kevaundray in #15786 - chore: bump alloy 0.15 by @mattsse in #15874
- fix: correctly set
extra_data
for eth payload builder by @klkvr in #15875 - chore: relax default constraints by @mattsse in #15879
- fix(ci): install cargo-cache in reproducible build action by @Rjected in #15873
- chore: relax more default by @mattsse in #15880
- feat: added support for --debug.rpc-consensus-ws by @Rimeeeeee in #15858
- chore(metrics): summable reth_info value by @danyalprout in #15884
- chore: add update_db_with_and_check by @mattsse in #15885
- chore: simplify op chainspec parser by @shane-moore in #15888
- chore: make clippy happy by @mattsse in #15895
- refactor(storage-api): move statewriter trait to storage-api crate by @VeerChaurasia in #15894
- test: change sender balance when apply update accounts to pool by @int88 in #15896
- perf: simplify generated superchain code by @zitup in #15897
- chore: use sender_ref by @mattsse in #15898
- chore: Remove unused
write_to_db
method inef-tests
by @kevaundray in #15902 - chore: move HeaderSyncGap type by @floor-licker in #15892
- feat!: replace TransactionSigned with alloy's by @mattsse in #15768
- docs: add docs about CachedReads by @mattsse in #15905
- test: complete
local_senders_tracking
by @int88 in #15912 - chore: bump alloy 0.15.5 by @mattsse in #15913
- test(era): finalize reth era testing tour. by @lean-apple in #15595
- chore: simplified cli imports in examples by @Soubhik-10 in #15904
- chore: fix typo and remove redundant article in comments by @zeevick10 in #15915
- feat(era): Add era stream from local directory by @RomanHodulak in #15914
- chore(deps): 2024 edition syntax fixes by @emhane in #14731
- feat: add split_ref method to SealedHeader (#15917) by @floor-licker in #15918
- feat: exposed EvmConfig to PayloadServiceBuilder by @Rimeeeeee in #15887
- chore: fix misleading name by @hai-rise in #15920
- feat: Introduces sequencer metrics for transaction forwarding by @Ayushdubey86 in #15910
- perf: opt EngineApiTreeHandler::insert_block_inner rm clone by @nkysg in #15385
- chore: moving header sync gap provider to storage api crate by @Ayushdubey86 in #15921
- feat(cli): Add
import-era
CLI command by @RomanHodulak in #15882 - chore(transaction-pool): make NoopTransactionPool generic over EthPoolTransaction by @cakevm in #15923
- feat: Introducing ValidationApiError into structured JSON-RPC error responses by @Ayushdubey86 in #15901
- chore: bump sse by @mattsse in #15926
- chore: Adding warning log for empty MPT root as withdrawals_root post-Isthmus by @Ayushdubey86 in #15925
- refactor: remove validate_header_with_total_difficulty by @Haxry in #15903
- feat: support engine_newPayloadV4 in benchmarker by @zitup in #15924
- perf(rpc): clone less when building block response by @hai-rise in #15624
- chore: use spare capacity by @mattsse in #15932
- refactor: remove outdated chain::split function by @VeerChaurasia in #15935
- feat: Introduce Block::into_ethereum_block to Block trait by @Rimeeeeee in #15940
- chore: single typo in 'hash_fetching' by @AJStonewee in #15937
- fix: park descendant when delete a pending tx by @int88 in #15931
- docs: update docs by @sky-coderay in #15851
- feat: created BroadcastLatestForkchoice action by @Soubhik-10 in #15784
- chore: dedup
prune_from_subpool
by @int88 in #15945 - chore: removed reth-optimism-chain-registry crate by @Soubhik-10 in #15943
- chore: rm storagelock variant by @mattsse in #15948
- chore(deps): weekly
cargo update
by @github-actions in #15951 - feat: Removing
geth-tests
andserial_test
by @Ayushdubey86 in #15960 - docs: always use nextest by @DaniPopes in #15957
- feat: Replace CacheServiceUnavailable variant with a dedicated error variant by @VeerChaurasia in #15950
- refactor: Remove redundant consensus call by @Haxry in #15946
- feat: added an example of using an RPC with an ExEx (WIP) by @Soubhik-10 in #15853
- fix(observability): Delegate
DatabaseMetrics
call to wrapped typeT
inArc<T>
impl by @emhane in #15963 - chore: use
TransactionGenerator
uniformly and removerng_transaction
by @int88 in #15965 - feat: added eth api exex by @Soubhik-10 in #15949
- chore: use default init by @mattsse in #15975
- feat(era): Implement SHA-256 checksum validation by @RomanHodulak in #15962
- chore: relax some eth component bounds by @klkvr in #15977
- fix: avoid cloning receipts on verification for op by @klkvr in #15979
- chore: rename crate
era-import
toera-utils
by @lean-apple in #15980 - refactor: move statereader to storage-api by @VeerChaurasia in #15969
- refactor: move ethereum-forks crate into ethereum folder by @Pana in #15983
- feat(cli): Add command for importing era files from URL by @RomanHodulak in #15978
- chore: Relaxing ChainSpecParser bound in Commands impl by @Ayushdubey86 in #15976
- perf(op-tx-pool): Split up tx validation to stateless and stateful checks by @emhane in #15843
- docs: add more docs for RpcAddsOns by @mattsse in #15986
- chore: made extended Tx Envelope more flexible by @Soubhik-10 in #15970
- docs: add engine API builder docs by @mattsse in #15988
- feat(era): Implement SHA-256 checksum validation for local directory by @RomanHodulak in #15987
- fix: typos in comments by @leopardracer in #15938
- chore: relaxed ExtendedTxEnvelope impls by @Soubhik-10 in #15993
- feat: parse supervisor RPC errors by @07Vaishnavi-Singh in #15944
- docs: update docs by @zeevick10 in #15997
- docs: clarify blocks for pipeline run by @mattsse in #16002
- fix: ipc provider building ws instead by @frozenspider in #16005
- chore: Adding metric feature gate by @Ayushdubey86 in #15971
- feat: added IsTyped2718 trait for Envelope by @Soubhik-10 in #16004
- chore: integrate alloy-evm simplifications by @klkvr in #16009
- docs: correction and fix error by @reject-i in #16010
- feat: added gas used metric by @18aaddy in #16012
- fix(tree): save caches only after prewarm tasks finish by @Rjected in #16011
- perf(engine): drop sparse trie after task returned result by @shekhirin in #16000
- chore(ci): update EEST version by @Rjected in #16006
- feat: Introducing support for configuring sequencer client headers by @Ayushdubey86 in #15991
- chore: used IsTyped2718 in ExtendedTxEnvelope by @Soubhik-10 in #16016
- fix: Remove redundant article and add missing apostrophe by @kilavvy in #16017
- chore: bumped core to 1.1.0 and alloy to 0.15.7 by @Rimeeeeee in #16015
- chore: replace crypto by @mattsse in #16019
- chore(sdk): impl
FullNetwork
forNoopNetwork
by @emhane in #15959 - chore: extended touchups by @mattsse in #16020
- chore: added links by @gap-editor in #15475
- chore: update broken link by @iodfrank55 in #16023
- refactor: execute through
EvmConfig
in engine +MockEvmConfig
by @klkvr in #16025 - feat(engine): add instrumented state provider by @Rjected in #15891
- chore(trie): do not panic in trie cursor subnode
Debug
impl by @shekhirin in #16013 - docs: Fix typos and grammar in documentation comments by @kilavvy in #16033
- chore(op-sdk): Relax trait bounds on
TraceApi
methods not accessing mempool by @emhane in #15752 - fix: for the priority of tx, Value has a higher priority than None by @int88 in #16034
- feat(cli): no empty diffs, sort entries, and pretty print in
db diff
by @shekhirin in #16035 - chore: made
Envelope: FromTxCompact
public by @Soubhik-10 in #16038 - refactor(era): Replace known host URL for ERA files with Ithaca by @RomanHodulak in #16040
- feat(stage): add helpers for
StageSetBuilder
by @lean-apple in #16042 - feat: added support for CustomTx in custom node example by @Soubhik-10 in #16021
- feat: Add ExEx example with sanity checks by @07Vaishnavi-Singh in #15448
- chore: touchups by @mattsse in #16053
- refactor: move FullRpcProvider trait to storage-api crate by @iTranscend in #16056
- chore(deps): weekly
cargo update
by @github-actions in #16057 - docs: fix typos and improve comment formatting by @maximevtush in #16058
- chore: remove
NoopBlockExecutorProvider
by @klkvr in #16060 - chore: Remove
ForkSpec::Unknown
and AddForkSpec::Prague
by @kevaundray in #16055 - fix: invalid queued ord by @mattsse in #16061
- fix(op-rpc): l2 withdrawals root not included in debug exec witness by @emhane in #16062
- fix: update metrics for download_block_range by @int88 in #16064
- fix(op): canyon check skipped unless cancun active by @emhane in #16063
- feat: add RpcStateCacheArgs::set_zero_lengths by @mattsse in #16066
- refactor(optimism): introduce OpNodeTypes trait to reduce generic repitition by @VeerChaurasia in #16048
- feat(txpool): add authorization list setter to mock transaction by @mempirate in #16068
- chore: update hive expected failures by @fgimenez in #16071
- chore: bump alloy to 0.15.9, replace reth types with alloy's by @fantasyup in #16069
- fix: eth cache memory usage by @shane-moore in #16075
- chore: silence warnings by @mattsse in #16076
- chore: parse supervisor rpc error by @emhane in #16078
- chore(op): Clean up
SupervisorClient
by @emhane in #16079 - chore: bump op-alloy by @mattsse in #16081
- chore: replace istyped2718 by @mattsse in #16085
- chore: remove BlockExecutorProvider trait by @fgimenez in #15989
- docs: add cross-platform Prometheus & Grafana installation guidance by @MozirDmitriy in #15703
- chore: rm reth-provider from rpc-builder by @mattsse in #16087
- fix: check scheduled blob activations by @fantasyup in #16088
- feat: add stateless crate to expose stateless validation by @kevaundray in #15591
- feat: add executor fn by @mattsse in #16090
- chore(meta): restrict mdbx vendored attribute by @DaniPopes in #16092
- chore: add more docs to SparseTrie by @kevaundray in #15750
- chore: relaxed insp in trace rpc-eth-api by @Rimeeeeee in #16094
- chore(sdk): allow
NoopNetwork
inNodeAdapater
by @emhane in #16037 - feat: add with_disabled_rpc_cache to NodeConfig by @mattsse in #16097
- feat: add command
download
to download public node snapshots by @lean-apple in #13598 - chore: bump docker lighthouse version for electra by @unitezen in #16103
- perf: check receiver count before clone by @mattsse in #16100
- feat(trie): walker branch node seeks metric by @shekhirin in #16106
- ci: enable arbitrary check by @mattsse in #15500
- chore(op-sdk): Move
OpPayloadTypes
toreth-optimism-payload-builder
by @emhane in #16105 - feat: add noop engine Api builder by @mattsse in #16084
- feat: add AuthHandle::noop by @mattsse in #16082
- fix: skip nonce check in simulate v1 if no validation by @mattsse in #16109
- chore: pin revm deps by @mattsse in #16118
- chore: bump alloy 0.15.10 by @mattsse in #16117
- refactor: added input_mut for otterscan_api_truncate_input by @Rimeeeeee in #16114
- feat(era): Fetch file list inside
EraStream
by @RomanHodulak in #16119 - feat: use custom tx in custom-node by @Soubhik-10 in #16054
- chore: bump superchain registry by @mattsse in #16122
- chore: skip inserting older blocks by @mattsse in #16101
- fix: complete logic of
best_transactions_with_attributes
by @int88 in #16024 - refactor: move ExtendedTxEnvelope to reth-primitives-traits by @iTranscend in #16102
- chore: add link to SHA256 article by @lechpzn in #16129
- feat: add precompile cache for execution by @fgimenez in #15928
- feat: Add EIP7702 tx handle logic for txpool by @Pana in #15312
- chore: bump op-revm by @mattsse in #16133
- feat: Introducing handler for eth_getAccountInfo by @Ayushdubey86 in #16115
- revert: 2054a37 by @mattsse in #16138
- test: handle commit event properly by pool maintaining by @int88 in #16125
- chore: use signedtx trait by @mattsse in #16143
- chore: replace executionwitness with alloy by @mattsse in #16142
- chore: moved OkValidator into txpool behind test-utils feature gate by @Rimeeeeee in #16144
- perf: perform contains check without alloc by @mattsse in #16136
- chore: remove_auths doc by @mattsse in #16137
- chore: put op conversions in mod op by @mattsse in #16147
- chore: phase out reth-primitives by @mattsse in #16151
- chore(deps): weekly
cargo update
by @github-actions in #16150 - feat(
OpReceipt
): addinto_receipt
by @hai-rise in #16156 - revert: "revert: 2054a37" by @mattsse in #16139
- refactor(mempool): Optimize validation task lock duration by moving async fut creation outside lock by @keanji-x in #16159
- perf: use estimated_compressed_size for DA limiter by @zitup in #16153
- chore: remove redundant NodeTypes bounds by @fgimenez in #16160
- chore: bump alloy 0.15.11 by @mattsse in #16163
- perf: dont alloc on delegation limit check by @mattsse in #16135
- perf: batch create sender ids by @mattsse in #16134
- refactor: make gas_limit optional by @VeerChaurasia in #16161
- chore: replace filteredParams with Filterset by @mattsse in #16077
- fix: prevent memory bloat during extended finalization periods by @fgimenez in #16157
- feat(engine): set keep alive for Tokio threads by @shekhirin in #16162
- perf(trie): optimize TrieNodeIter by skipping redundant seek by @7suyash7 in #15841
- test: handle reorg event properly by pool maintaining by @int88 in #16155
- chore: update hive expected failures by @fgimenez in #16167
- feat(trie): instrument
TrieNodeIter::try_next
by @shekhirin in #16127 - deps: bump libmdbx to 0.13.6 by @shekhirin in #15412
- chore: extract TreeState to separate submodule by @fgimenez in #16172
- fix(tree): add colon to sparse trie task logs by @Rjected in #16175
- feat: add fns to map engine builders by @mattsse in #16171
- fix: correctly set txtype if
blobVersionedHashes
is present by @klkvr in #16182 - chore(txpool): activate prague by default by @rkrasiuk in #16183
- refactor: add alloy_consensus::SignerRecoverable to SingedTransaction supertrait by @fantasyup in #16174
- feat(txpool): track osaka activation by @rkrasiuk in #16184
- feat: Adding cronjob for superchain by @Ayushdubey86 in #16141
- refactor(optimism_txpool): Move interop revalidation logic to SupervisorClient stream by @7suyash7 in #16148
- chore(txpool): update comments about prague activation by @fgimenez in #16185
- chore: add error when unwind failed on launch by @mattsse in #16188
- chore: interop maintain touchups by @mattsse in #16187
- fix: use different cache instance per precompile by @fgimenez in #16191
- docs: fix typos in observability.md by @mutestt in #16186
- chore: bump log GetPayload events to debug level by @fantasyup in #16196
- feat(trie): add
clear
method to PrefixSetMut, RevealedSparseTrie, SparseTrieUpdates by @Rjected in #16179 - feat: add PrecompileCacheMap::cache_for_address and test by @fgimenez in #16197
- feat: add func gas_limit_for PayloadConfig by @VeerChaurasia in #16210
- chore(deps): migrate to jsonrpsee 0.25 by @zitup in #15956
- feat: impl of bad_blocks handler by @nadtech-hub in #16209
- fix: handle ForkChoiceUpdate errors with proper rpc error mapping by @VeerChaurasia in #16215
- feat: Integrate Osaka in blob_max_and_target_count_by_hardfork by @VeerChaurasia in #16219
- docs: fix JWT token link by @rnkrtt in #16221
- chore: Replacing filter id with subscription by @Ayushdubey86 in #16224
- docs: clarify unit of txfeecap by @mattsse in #16225
- feat: simplify choosing txtype for tx request using .has methods by @VeerChaurasia in #16227
- feat: add check for osaka activation by @VeerChaurasia in #16223
- fix(trie): do not panic when logging the current hash of
TrieWalker
by @shekhirin in #16222 - test(e2e): add CheckPayloadAccepted action by @Pyoyeongjong in #16220
- chore: Replace
try_clone_into_recovered
withtry_into_recovered
to avoid unnecessary clone by @cakevm in #16230 - feat: Introduce with_signer_ref helper by @louisbrown0212 in #16235
- chore: de duplicate mainnet deposit contract by @Ayushdubey86 in #16074
- feat(engine): add conversions for
ExecutionPayloadEnvelopeV5
by @rkrasiuk in #16218 - refactor: relax
OpAddOns
by @lean-apple in #16180 - docs: clarify note on &mut self usage by @0xriazaka in #16237
- perf: replace collect with count by @mattsse in #16246
- feat: add from intoiter impls by @mattsse in #16252
- chore: rm jsonrpsee patch by @mattsse in #16251
- chore(lint): Bumps dep
tempfile
by @emhane in #16253 - fix: receipts logs arg parsing by @mattsse in #16240
- refactor: Migrate InvalidInboxEntry to op-alloy by @louisbrown0212 in #16260
- chore: rename extendedtx to just extended by @mattsse in #16265
- feat(engine): respond unsupported for payload v5 pre-osaka by @rkrasiuk in #16268
- feat(engine): add
engine_getPayloadV5
skeleton by @rkrasiuk in #16270 - docs: Fix typos in
static-file
crate README by @dizer-ti in #16266 - feat(txpool): add methods for retrieving
BlobsAndProofsV2
by @rkrasiuk in #16271 - feat(engine): add osaka engine methods to capabilities by @rkrasiuk in #16272
- feat: implement get payload v5 by @rkrasiuk in #16274
- chore: bump alloy 1.0.3 by @mattsse in #16277
- docs: add note about superchain registry by @mattsse in #16275
- chore: bump default gas limit for holesky by @mattsse in #16278
- feat(engine): implement
engine_getBlobsV2
by @rkrasiuk in #16279 - chore: bump version 1.4.0 by @mattsse in #16261
- chore: change TxCustom to TxPayment by @farazdagi in #16281
- chore: upstream tx_type derive to alloy::TransactionRequest by @fantasyup in #16284
- chore: Construct a SubscriptionMessage with the sink's properties by @louisbrown0212 in #16285
- ci: fix Windows build in
release.yml
by @shekhirin in #16280 - chore: release 1.4.1 by @mattsse in #16286
New Contributors
- @zeroprooff made their first contribution in #15795
- @tomasandroil made their first contribution in #15789
- @godsflaw made their first contribution in #15816
- @charlessswang made their first contribution in #15799
- @cwkang1998 made their first contribution in #15828
- @roninjin10 made their first contribution in #15840
- @yiweichi made their first contribution in #15824
- @mateusfigmelo made their first contribution in #15849
- @MikeJerred made their first contribution in #15569
- @floor-licker made their first contribution in #15892
- @zeevick10 made their first contribution in #15915
- @frozenspider made their first contribution in #16005
- @gap-editor made their first contribution in #15475
- @iodfrank55 made their first contribution in #16023
- @fantasyup made their first contribution in #16069
- @MozirDmitriy made their first contribution in #15703
- @lechpzn made their first contribution in #16129
- @keanji-x made their first contribution in #16159
- @7suyash7 made their first contribution in #15841
- @mutestt made their first contribution in #16186
- @Pyoyeongjong made their first contribution in #16220
- @louisbrown0212 made their first contribution in #16235
- @dizer-ti made their first contribution in #16266
- @farazdagi made their first contribution in #16281
Full Changelog: v1.3.12...v1.4.1