Releases: alloy-rs/alloy
Releases · alloy-rs/alloy
v2.0.0
This new major release includes several breaking changes as preparation for the Glamsterdam hardfork.
Notable breaking changes are:
networktransaction-builder traits were reshaped:TransactionBuilderwas split, network-specific methods moved toNetworkTransactionBuilder, andNetworkbounds tightened aroundTransactionRequest/TxEnvelope(#3344,#3723).- Blob transaction APIs changed:
TransactionBuilder7594was folded intoTransactionBuilder4844, blob-sidecar methods were renamed/specialized, the defaultTxEip4844Variantgeneric changed, andPooledTransactionnow uses the EIP-7594 sidecar type (#3600,#3328,#3468). AnyTransactionReceiptis now a dedicated struct instead of a type alias, so code that relied on alias semantics or direct wrapped-type usage needs updating (#3153).ChainConfigis now non-exhaustive, and Amsterdam support adds new header/config fields plus newBlockHeaderrequirements; exhaustive struct literals, pattern matches, and custom header impls may need changes (#3566,#3871).- Provider builder / filler APIs changed:
.network()now replaces the filler stack, andGasFilleris no longer a unit struct, so.filler(GasFiller)becomes.filler(GasFiller::default())or custom estimator wiring (#3686,#3849). AnyNetworkno longer silently signs or re-encodes unknown transaction types; those paths now fail fast (#3794).muxTracernow keys mux configs / frames byGethDebugTracerTypeinstead ofGethDebugBuiltInTracerType, which breaks existing tracer map code (#2442).- Pubsub / RPC surface types gained new variants and fields, including
transactionReceiptssubscriptions and newer header / transaction fields, so exhaustive enum matches and struct literals may need../ wildcards (#3410,#3707,#3871).
What's Changed
- fix(signer-gcp): use rustls instead of native-tls for gcloud-sdk by @zerosnacks in #3844
- chore: release 1.8.3 by @zerosnacks in #3848
- fix(provider): skip caching missing transaction lookups by @lmorett1 in #3826
- fix(provider): fallback to get_block when get_header RPCs unsupported by @prestwich in #3850
- feat: add network field to
NodeInfoby @stevencartavia in #3851 - refactor(pubsub): remove duplicate dispatch logic in reconnect() by @anim001k in #3760
- docs(provider): clarify feature requirements for anvil helpers by @lmorett1 in #3858
- fix(pubsub): recover request-path backend drops by @mattsse in #3846
- feat(rpc-types-debug): add header helpers to ExecutionWitness by @mattsse in #3862
- chore: added feature rlp to eip7928 by @Rimeeeeee in #3865
- chore(deps): bump taiki-e/install-action from 2.69.7 to 2.74.0 by @dependabot[bot] in #3867
- chore(deps): bump crate-ci/typos from 1.44.0 to 1.45.0 by @dependabot[bot] in #3868
- feat(provider): add more-tuple-impls feature for multicall by @hardcore-sushi in #3861
- fix(provider): match multicall tuple impls with alloy-core by @DaniPopes in #3869
- revert: "revert: "chore: bump ethereum_ssz to 0.10 and tree_hash to 0.12"" by @mattsse in #3840
- fix(network): fail fast on unknown AnyNetwork signing and 2718 encoding by @Shresth79 in #3794
- feat(alloy-provider): add methods for creating custom gas estimator for
GasFillerby @StackOverflowExcept1on in #3849 - fix: Optimism network incompatible with ProviderBuilder::new constructor by @stevencartavia in #3686
- feat(mux-tracer): Support JS tracer in MUX tracer. by @kustrun in #2442
- feat: parse data field on error for eth_simulateV1 if present in response by @antonydenyer in #3570
- Revert "Revert "feat(rpc-types-eth): add optional timestamp field to Transaction"" by @mattsse in #3639
- refactor(network): unify EIP-4844 tx builder trait by @mablr in #3600
- feat(rpc-types-trace): add depth-first iterator for CallFrame by @TanayK07 in #3768
- feat(network): generic
TransactionResponsetoTransactionRequestconversion by @mablr in #3723 - feat(ens): use Universal Resolver for forward name resolution by @Dhaiwat10 in #3866
- feat(transport): add ThrottleLayer burst configuration by @Shresth79 in #3854
- feat(consensus): change default tx env type by @lean-apple in #3328
- fix(provider): error all callers on batch len mismatch by @Shresth79 in #3827
- feat: add amsterdam fields by @mattsse in #3871
- chore(dep): bump jsonwebtoken v10.3.0 fix cve by @duyquang6 in #3754
- feat: non-exhaustive ChainConfig by @mattsse in #3566
- reapply: "revert: remove transactionReceipts subscription kind" by @mattsse in #3410
- feat(rpc-types-eth): add
max_used_gastoSimCallResultby @gakonst in #3707 - fix(provider): fall back to RPC on get_logs cache deserialization failure by @neowangreal in #3859
- feat(provider): Add comprehensive Tenderly RPC API methods by @codeesura in #3120
- feat: update PooledTransaction to use EIP-7594 sidecar by @stevencartavia in #3468
- chore: make _non_exhaustive pub by @mattsse in #3873
- feat(rpc-types-engine): add hidden setters to ExecutionPayload by @mattsse in #3875
- refactor(network): extract
NetworkTransactionBuilderfromTransactionBuilderby @lean-apple in #3344 - serde: support NonZero quantity types by @legion2002 in #3876
- feat(rpc-types-anvil): add client_semver to Metadata by @ndavd in #3877
- feat: Make AnyTransactionReceipt a dedicated type by @0xChaddB in #3153
- chore: allow unused ignored advisories by @mattsse in #3883
New Contributors
- @lmorett1 made their first contribution in #3826
- @hardcore-sushi made their first contribution in #3861
- @antonydenyer made their first contribution in #3570
- @TanayK07 made their first contribution in #3768
- @Dhaiwat10 made their first contribution in #3866
- @duyquang6 made their first contribution in #3754
- @codeesura made their first contribution in #3120
- @legion2002 made their first contribution in #3876
- @ndavd made their first contribution in #3877
Full Changelog: v1.8.2...v2.0.0
v1.8.3
What's Changed
- fix(signer-gcp): use rustls instead of native-tls for gcloud-sdk by @zerosnacks in #3844
Full Changelog: v1.8.2...v1.8.3
v1.8.2
v1.8.1
v1.8.0
What's Changed
- chore(deps): bump taiki-e/install-action from 2.68.16 to 2.68.25 by @dependabot[bot] in #3788
- chore(rpc): clippy happy with outer match by @jsvisa in #3793
- fix(serde): validate JsonStorageKey length during deserialization by @jsvisa in #3792
- feat(rpc-types-eth): add parent beacon root to BlockOverrides by @jsvisa in #3798
- chore(eips): add doc to let check happy by @jsvisa in #3797
- fix(provider): use pending nonce in CachedNonceManager init by @neowangreal in #3802
- fix(flashblocks): correct receipts type in FlashBlock metadata by @0xSojol in #3795
- fix(eips): eip 7594 replace unoptimized iter by @Syzygy106 in #3804
- fix(rpc-types-debug): enable serde_with alloc for no_std by @Shresth79 in #3811
- chore(deps): bump taiki-e/install-action from 2.68.25 to 2.68.34 by @dependabot[bot] in #3814
- chore(deps): bump Swatinem/rust-cache from 2.8.2 to 2.9.1 by @dependabot[bot] in #3813
- fix(provider): detect EIP-7594 blob sidecars in BlobGasFiller by @Shresth79 in #3815
- fix(consensus): delegate is_create() for Extended::Other instead of hardcoding false by @neowangreal in #3796
- fix(rpc-client): return error instead of panic on unexpected batch response by @neowangreal in #3807
- fix(transport): return clear error when no transports available by @neowangreal in #3806
- chore: add
idattributes to issue templates by @decofe in #3822 - fix(build): bump
gcloud-sdk0.27.4->0.29.0forreqwest0.13compatibility by @decofe in #3823 - fix(node-bindings): use graceful shutdown for anvil by @mattsse in #3824
- fix: better arbitrary impl for header by @klkvr in #3829
- chore(deps): bump taiki-e/install-action from 2.68.34 to 2.69.7 by @dependabot[bot] in #3830
- feat(provider): add
watch_headerstoProvidertrait by @mattsse in #3800 - fix(rpc-client): detect
is_localinconnect_with_configby @mattsse in #3837
New Contributors
- @0xSojol made their first contribution in #3795
- @Shresth79 made their first contribution in #3811
Full Changelog: v1.7.4...v1.8.0
v1.7.4
What's Changed
- fix: resolve infinite recursion in Sealable::hash_slow for Header by @MozirDmitriy in #3709
- fix(ci): catch background process failures in install_test_binaries.sh by @vanityKoa in #3718
- fix(consensus): use unchecked recovery in recover_unchecked_with_buf default impl by @vanityKoa in #3719
- fix(rpc-types): off-by-one in TransactionConditional has_exceeded checks by @vanityKoa in #3721
- test: remove flaky test_erc20_token_polygon test by @gakonst in #3727
- feat(ws): auto-extract basic auth from URL in WsConnect by @mattsse in #3728
- feat: impl From<Recovered> for TransactionRequest by @mattsse in #3731
- fix: correct Debug trait name for
JwtSecretby @VolodymyrBg in #3736 - chore(deps): bump taiki-e/install-action from 2.68.0 to 2.68.8 by @dependabot[bot] in #3737
- fix: correct Debug trait name for PendingBlock by @Mapogundal in #3738
- refactor(node-bindings): remove redundant bounds checks in extract_value by @Perekup1 in #3735
- fix(rpc-types-eth): matches_block always returns true for AtBlockHash… by @neowangreal in #3734
- fix(rpc-types-mev): add Copy derive to FunctionSelector by @GarmashAlex in #3725
- fix(rpc-types-trace): skip serializing None fields in TraceFilter by @vanityKoa in #3739
- chore: bump ethereum_ssz to 0.10 and tree_hash to 0.12 by @cakevm in #3742
- feat: add
reth_get_block_execution_outcometoRethProviderExtby @stevencartavia in #3751 - refactor(provider): reuse helper functions in block_and_aggregate / try_block_and_aggregate by @vanityKoa in #3752
- transport: deduplicate DualTransport constructor logic by @anim001k in #3746
- chore: bump deps by @stevencartavia in #3712
- fix(eips): use post-EIP-2028 non-zero byte calldata cost (16) by @decofe in #3755
- refactor(node-bindings): remove redundant TempDir::close calls by @anim001k in #3756
- docs(rpc-types-eth): fix incorrect error code in SimulateError by @vanityKoa in #3762
- feat(eips): allow custom system contracts in EIP-7910 by @johnletey in #3765
- chore(deps): bump taiki-e/install-action from 2.68.8 to 2.68.16 by @dependabot[bot] in #3766
- feat(network): signature flow generic over
Networkby @mablr in #3724 - fix(ci): add alloy-consensus-any to no_std check by @vanityKoa in #3772
- refactor(rpc-types-eth): centralize SimulateError codes by @Mapogundal in #3769
- feat: Add support for chunked queries by @stevencartavia in #3747
- fix(pubsub): remove duplicate log on subscription deserialization failure by @vanityKoa in #3773
- fix(node-bindings): implicitly enable IPC when setting ipc_path by @neowangreal in #3764
- feat(transport): parse retry backoff hint from RPC error messages by @mattsse in #3780
- feat(consensus): add Block::from_transactions constructor by @stevencartavia in #3784
- feat(alloy): support no_std for the meta crate by @mattsse in #3786
- chore(deps): bump crate-ci/typos from 1.43.5 to 1.44.0 by @dependabot[bot] in #3767
New Contributors
- @decofe made their first contribution in #3755
- @johnletey made their first contribution in #3765
Full Changelog: v1.7.3...v1.7.4
v1.7.3
v1.7.1
What's Changed
- feat(rpc-types-eth): derive Default for
SimCallResultby @gakonst in #3708 - feat(consensus): add
EthereumReceipt::map_logsby @stevencartavia in #3710
Full Changelog: v1.7.0...v1.7.1
v1.7.0
What's Changed
- feat(provider): add engine_getBlobsV1/V2 to EngineApi trait by @vanityKoa in #3670
- chore(deps): bump taiki-e/install-action from 2.67.13 to 2.67.27 by @dependabot[bot] in #3672
- chore(deps): bump crate-ci/typos from 1.42.2 to 1.43.4 by @dependabot[bot] in #3671
- ci: use install-action for zepter by @snazzysam933 in #3674
- docs: fix incomplete return condition in next_block_excess_blob_gas by @Bilogweb3 in #3679
- feat: add trait impls for Cow to support Recovered<Cow<'_, T>> by @gakonst in #3689
- feat(rpc-types-beacon): add proposer duties, state validators, and fork types by @gakonst in #3688
- chore: bump MSRV to 1.91 by @gakonst in #3691
- chore: remove jsonrpsee dependencies by @gakonst in #3690
- feat(provider): add get_storage_values for batch storage slot retrieval by @gakonst in #3692
- chore(deps): bump taiki-e/install-action from 2.67.27 to 2.68.0 by @dependabot[bot] in #3702
- chore(deps): bump crate-ci/typos from 1.43.4 to 1.43.5 by @dependabot[bot] in #3701
- feat(rpc-types-eth): add TransactionRequest::create() builder method by @mattsse in #3704
- feat(consensus): add
EthereumReceipttype ported from reth by @stevencartavia in #3683 - fix: actually retry failed block fetches instead of skipping them by @vanityKoa in #3698
New Contributors
- @vanityKoa made their first contribution in #3670
Full Changelog: v1.6.3...v1.7.0