Releases: alloy-rs/alloy
Releases · alloy-rs/alloy
v0.14.0
What's Changed
- chore: hide input mut by @mattsse in #2255
- feat: make it easier to configure non u256 topics in filterset by @stevencartavia in #2257
- feat: filterset topics extend by @stevencartavia in #2258
- feat(
consensus
): WithEncoded helpers by @yash-atreya in #2266 - docs: remove outdated doc on PollerBuilder by @DaniPopes in #2267
- docs: update doc on PollerBuilder by @DaniPopes in #2268
- feat: add bincode compat to eth typed tx by @mattsse in #2269
- chore: port transaction envelope bincode compat function by @shane-moore in #2263
- feat: add conditional conversions for BlockTransactions by @mattsse in #2270
- feat(
eth-wallet
): set default signer helper by @yash-atreya in #2271 - feat(eip4844): Implement
AsRef
andAsMut
forTxEip4844
by @RomanHodulak in #2272 - added TxType::is_eipxxx fxns by @Rimeeeeee in #2275
- test: update error handling by @mattsse in #2277
- fix docs of input field for different tx by @gftea in #2177
- chore: skip flaky bsc err resp by @mattsse in #2279
- fix: cell proofs in
BlobsBundleV2::take
by @rkrasiuk in #2281 - feat: add
From<TxHash>
forPendingTxConfig
by @onbjerg in #2282 - fix:
BlobAndProofV2
by @rkrasiuk in #2283 - feat:
ExecutionPayloadEnvelopeV5
by @rkrasiuk in #2284 - feat(
provider
): nonce filler helpers by @yash-atreya in #2280 - feat: add eth get transaction by sender and nonce by @mattsse in #2285
- chore: Fixed 404 link by @polytur in #2286
- fix: use wasmtimer sleep by @DaniPopes in #2287
- chore: use target_family instead of arch for wasm cfg by @DaniPopes in #2288
- feat(
fillers
): make CachedNonceManager default by @yash-atreya in #2289 - chore: bump msrv to 1.82 by @zerosnacks in #2293
- chore!: Add
ancestor_headers
toExecutionWitness
by @kevaundray in #2294 - chore(deps): bincode 2.0 by @yash-atreya in #2297
- feat!: relax ProviderBuilder bounds by @DaniPopes in #2276
- chore(deps): core 1.0 by @yash-atreya in #2184
New Contributors
- @shane-moore made their first contribution in #2263
- @RomanHodulak made their first contribution in #2272
- @gftea made their first contribution in #2177
- @polytur made their first contribution in #2286
- @kevaundray made their first contribution in #2294
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
- fix(pubsub): wrap channel_size with Arc by @0xBurbo in #2212
- chore: fmt by @mattsse in #2221
- feat: add EIP1186AccountProofResponse::is_empty by @mattsse in #2224
- docs: suggest running cargo-semver-checks when releasing by @DaniPopes in #2226
- chore: propagate arbitrary feature by @DaniPopes in #2227
- feat(
provider
):DebugApi
generic overNetwork
by @07Vaishnavi-Singh in #2211 - chore(
provider
): useWeakClient
inGetSubscription
by @yash-atreya in #2219 - Add more details on FilterSet by @0xMushow in #2229
- auto_impl(&) for Encodable2718 by @gitToki in #2230
- test: add test for 429 error message by @mattsse in #2231
- feat(
provider
): applyGetSubscription
to trait by @frankudoags in #2220 - chore: expect instead of allow by @DaniPopes in #2228
- fix(
pubsub
): fix race condition in ActiveSub by @yash-atreya in #2222 - fix: use unwrap_or_else for subscribe by @mattsse in #2233
- test: fix inference fail in test by @DaniPopes in #2239
- chore(ci): bump reth and geth to latest by @yash-atreya in #2241
- feat(
provider
): eth_signTransaction by @yash-atreya in #2236 - feat(
provider
): subscribe_full_blocks by @yash-atreya in #2215 - feat: eip7594 constants by @rkrasiuk in #2245
- feat: add bincode compat for receipt envelope by @mattsse in #2246
- docs: update reference to MetaMask gas estimation by @Hopium21 in #2232
- added input-mut for TxEnvelope by @Rimeeeeee in #2244
- test: fix flaky test by @mattsse in #2248
- chore: add error message helper by @mattsse in #2247
- feat(
signers
):Web3Signer
by @yash-atreya in #2238 - chore: add error message for reconnect failure by @mattsse in #2253
- fix(
pubsub
): retry connecting to backend by @yash-atreya in #2254 - feat(
provider
): watch_full_blocks by @yash-atreya in #2194 - chore(deps): c-kzg 2.0 by @yash-atreya in #2240
New Contributors
- @0xBurbo made their first contribution in #2212
- @07Vaishnavi-Singh made their first contribution in #2211
- @gitToki made their first contribution in #2230
- @Hopium21 made their first contribution in #2232
Full Changelog: v0.12.6...v0.13.0
v0.12.6
What's Changed
- feat: Add
ThrottleLayer
to Transport layers by @0xKitsune in #2154 - chore: bump once_cell by @klkvr in #2185
- feat: ad helper append fn by @mattsse in #2186
- feat: add missing U8 conversion by @mattsse in #2189
- fix: broken links
eip1559/constants.rs
by @loopy811 in #2190 - feat: impl into_transaction TxEnvelope by @stevencartavia in #2192
- chore: export * from provider by @DaniPopes in #2195
- chore(provider): remove 'latest' channel from heartbeat by @DaniPopes in #2198
- feat: remove poller task indirection by @DaniPopes in #2197
- feat:
FallbackLayer
transport by @merklefruit in #2135 - feat: add BlobAndProofV2 by @varun-doshi in #2202
- feat: derive
Serialize
andDeserialize
forRecovered<T>
by @makcandrov in #2204 - feat(
node-bindings
): anvil typed hardforks by @yash-atreya in #2207 - fix: debug_executionWitness call by @leruaa in #2209
- feat(consensus): add hoodi genesis hash by @Rjected in #2210
- Add encodable and decodable for
Signed<T>
by @0xMushow in #2193 - feat: add BlobsBundleV2 by @stevencartavia in #2206
- feat(providers): add multicall batch layer by @DaniPopes in #2174
- chore(meta): update CODEOWNERS by @DaniPopes in #2213
- feat: define subscription type by @frankudoags in #2203
- update tx fee comment about Transaction trait by @Pana in #2208
- fix: drop geth's stderr handle by @mattsse in #2104
- fix(signer-gcp): use default public key format by @shekhirin in #2217
- feat(eips): serde untagged for EIP-7685
RequestsOrHash
by @shekhirin in #2216 - chore: bump gcloud sdk by @mattsse in #2218
New Contributors
- @0xKitsune made their first contribution in #2154
- @loopy811 made their first contribution in #2190
- @makcandrov made their first contribution in #2204
- @0xMushow made their first contribution in #2193
- @frankudoags made their first contribution in #2203
- @Pana made their first contribution in #2208
Full Changelog: v0.12.5...v0.12.6
v0.12.0
What's Changed
- feat: add missing conversion helpers for any by @mattsse in #2048
- feat: add helpers to create a BlobSidecar by @mattsse in #2047
- feat(
eip4844
): heap allocated blob by @yash-atreya in #2050 - fix: tokio interval not supported on wasm by @chris13524 in #2053
- feat: introduce error helper and fallible conversion by @mattsse in #2052
- chore: additional From TryFrom conversion helpers by @mattsse in #2054
- chore: add try_into_pooled conversion by @mattsse in #2056
- feat(
contract
): handle reverts by @yash-atreya in #2058 - feat: add try_apply by @mattsse in #2060
- feat(
consensus
): introduce block traits by @yash-atreya in #2057 - feat: add function selector helper by @mattsse in #2066
- feat: add optional builder APIs for AccountOverride by @stevencartavia in #2064
- chore: smol typo by @onbjerg in #2069
- chore: add From<Signed> for TxEnvelope by @merklefruit in #2070
- chore: update url by @mattsse in #2071
- fix: ws transport now checks for missed pongs within two pings by @the-solid-box in #2068
- chore(deps): bump derive_more, strum by @DaniPopes in #2074
- feat(provider): add debug_codeByHash method by @cakevm in #2075
- chore: rename
on_builtin
toconnect
by @DaniPopes in #2078 - feat(provider): improve
DynProvider
discoverability by @DaniPopes in #2076 - feat: derive
Copy
forRecovered
by @klkvr in #2082 - fix(rpc-types-mev): compatibility with mev-geth responses. by @ryanschneider in #2079
- Payload error removal by @PoulavBhowmick03 in #2084
- feat(
contract
): decode asSolError
by @yash-atreya in #2072 - feat(
rpc-types
): decode log from receipt by @yash-atreya in #2086 - chore(engine): Add missing variants for parent beacon block root to
PayloadError
by @emhane in #2087 - Move WithEncoded helper type to alloy by @programskillforverification in #2098
- chore: allow new advisory by @mattsse in #2100
- feat: add helper rpc to block body conversion by @mattsse in #2055
- feat: add helpers for BlockTransactionsKind by @mattsse in #2101
- ci: rm cc pin by @mattsse in #2102
- feat: add more transaction conversion helpers by @mattsse in #2103
- feat: add helper fn to execution data by @mattsse in #2107
- chore: delegate provider fns in fill provider by @mattsse in #2099
- feat: add into bytes by @mattsse in #2109
- feat: create StateOverridesBuilder by @varun-doshi in #2106
- Feat: add helper methods to Transaction Pool Content by @startup-dreamer in #2111
- feat: allow getting mutable inner from receipt envelope by @Philogy in #2116
- chore(
provider
): use quicknode by @yash-atreya in #2121 - chore: add blob gas method to TransactionRequest impl by @merklefruit in #2122
- chore: bump 7702 0.5.1 by @mattsse in #2123
- add
rlp
feature tofull
feature by @zemse in #2124 - feat: add eth_sendRawTransactionConditional by @mattsse in #2128
- test: enable more tests on windows by @DaniPopes in #2126
- test: add a test for cloning CachedNonceManager by @DaniPopes in #2129
- Implement Transaction type on Either type by @neithanmo in #2097
- feat: add encodable to either by @mattsse in #2130
- fix(rpc-types-mev): SimBundleLogs should contain all logs fields. by @ryanschneider in #2061
- feat: introduce
IntoWallet
to pass signer directly toProviderBuilder
by @yash-atreya in #2120 - fix(engine): Fix BlockHash display message by @hvanz in #2088
- feat: remove preimage hashes from execution witness by @meyer9 in #2059
- feat!: add eip1559 estimator type by @mattsse in #2022
- feat: add signabletx impl for typedtx by @mattsse in #2131
- chore: add some accessors by @mattsse in #2132
- chore: IntoWallet for Ledger by @DaniPopes in #2136
- feat(
provider
)!: trace api builder by @yash-atreya in #2119 - feat: add conversions for UnknownTxEnvelope by @mattsse in #2133
- feat(
eth-call
)!: rm borrowing from provider api by @yash-atreya in #2127 - fix(
provider
): fill txs oneth_call
ops by @yash-atreya in #2092 - feat: introduce dedicated types for Any type aliases by @stevencartavia in #2046
- feat(
consensus
): separate RlpTx trait functionality by @yash-atreya in #2138 - fix(
rpc-types
): allow missingeffectiveGasPrice
in TxReceipt by @yash-atreya in #2143 - feat(
provider
):EthGetBlock
builder type by @yohkaz in #2044 - fix: run zepter checks for features of non-workspace dependencies by @klkvr in #2144
- chore!: use impl Into StateOverride by @mattsse in #2145
- feat(
provider
): MockProvider by @yash-atreya in #2137 - feat: add conversion helper for eip658 status by @mattsse in #2148
- fix(
provider
): custom deser for pending blocks by @yash-atreya in #2146 - feat(
consensus
): impl RlpEncodableTx for TypedTx by @yash-atreya in #2150 - feat: add bincode compat for receipt by @mattsse in #2149
- feat: integrate
Recovered
into more types by @klkvr in #2151 - feat: use
OnceCell
forSigned::hash
by @klkvr in #2025 - chore: box value by @mattsse in #2152
- chore(
provider
): fixmocked
ret type by @yash-atreya in #2156 - chore: add any tx conversion by @mattsse in #2153
- feat(
provider
):decode_resp
forEthCall
by @yash-atreya in #2157 - chore(
consensus
)!: renameRecovered
methods by @yash-atreya in #2155 - chore: support static error msg by @mattsse in #2158
- feat: more helper conversions by @mattsse in #2159
New Contributors
- @chris13524 made their first contribution in #2053
- @the-solid-box made their first contribution in #2068
- @cakevm made their first contribution in #2075
- @PoulavBhowmick03 made their first contribution in #2084
- @varun-doshi made their first contribution in #2106
- @Philogy made their first contribution in #2116
- @zemse made their first contribution in #2124
- @hvanz made their first contribution in #2088
- @meyer9 made their first contribution in #2059
Full Changelog: v0.11.1...v0.12.0
v0.11.1
What's Changed
- chore: update readme by @mattsse in #1980
- Increase default gas limit from 30M to 36M by @0xalpharush in #1785
- chore: relax payload conversions with BlockHeader by @mattsse in #1981
- feat: add helpers to consume payloadfields by @mattsse in #1984
- fix: opt-in to keep stdout by @mattsse in #1985
- test: add payload block conversion tests by @mattsse in #1988
- feat: add default for blobsbundle by @mattsse in #1990
- feat(
meta
): enable pubsub,trace,txpool,debug,anvil apis viafull
by @yash-atreya in #1992 - fix(docs): update outdated Provider doc comment by @merklefruit in #1991
- feat(
node-bindings
): expose anvil wallet by @yash-atreya in #1994 - chore(provider): default to
Ethereum
network inFillProvider
by @merklefruit in #1995 - feat: add additional payloadbody conversion fn by @mattsse in #1989
- fix: overflow on CU offset by @mattsse in #1998
- feat: add helper fn to unwrap Sendable by @mattsse in #2001
- feat(transport): made avg_cost to be configurable in retrybackoff by @Dhruv-2003 in #2002
- Upstream ExecutionData from reth by @yohkaz in #2003
- feat: add blob_count helper fn by @mattsse in #2005
- feat: add auth count helper fn by @mattsse in #2007
- feat: add Block::apply by @mattsse in #2006
- feat: add helpers for the blob gas by @mattsse in #2009
- chore: add serde support for Eip1559Estimation by @mattsse in #2012
- chore: enable serde in tests by @mattsse in #2013
- feat: test faulty roundtrip behavior of
ExecutionPayload
by @siosw in #2014 - chore: camelcase serde by @mattsse in #2018
- chore: nicer error message when HTTP body is empty by @DaniPopes in #2024
- chore(serde): remove quantity_bool by @DaniPopes in #2026
- docs: clean up top level docs by @DaniPopes in #2028
- chore: silence unused warnings by @mattsse in #2031
- chore: re-export kzgsettings by @mattsse in #2034
- custom deserde impl by @siosw in #2017
- feat: builder fns for PrivateTransactionRequest and inner props (#1954) by @nadtech-hub in #2023
- feat: add dynamic dispatch helper trait for (
Signer
+TxSigner
) and (SignerSync
+TxSignerSync
) by @startup-dreamer in #2035 - feat(provider): expose inner
AnvilInstance
fromAnvilProvider
by @0xdapper in #2037 - feat(provider): DynProvider added as a helper on provider by @Dhruv-2003 in #2008
- feat(filler): Add prepare_call method by @neithanmo in #2011
- feat: add builder style account override helpers by @mattsse in #2039
- feat: add helpers for account overrides by @mattsse in #2040
- fix: don't validate when ABI decoding by @DaniPopes in #2041
- feat: add try_get_deserialized by @mattsse in #2042
- feat(
provider
): multicall by @yash-atreya in #2010 - fix(
multicall
): impl Error forFailure
+ clear returnsEmpty
builder. by @yash-atreya in #2043 - fix: make
ChainLayer
network agnostic by @zerosnacks in #2045 - feat: add TxSigner support for Either by @stevencartavia in #2036
New Contributors
- @0xalpharush made their first contribution in #1785
- @merklefruit made their first contribution in #1991
- @Dhruv-2003 made their first contribution in #2002
- @yohkaz made their first contribution in #2003
- @siosw made their first contribution in #2014
- @startup-dreamer made their first contribution in #2035
- @0xdapper made their first contribution in #2037
- @neithanmo made their first contribution in #2011
Full Changelog: v0.11.0...v0.11.1
v0.11.0
What's Changed
- feat: add missing helper fns by @mattsse in #1880
- feat: add additional conversion fn by @mattsse in #1881
- feat: add additional conversion fn by @mattsse in #1883
- feat: add RecoveredTx::try_map_transaction by @mattsse in #1885
- chore: add storage_slots helper by @mattsse in #1884
- feat: add match_versioned_hashes by @hoank101 in #1882
- chore: use safe get api by @mattsse in #1886
- chore: use core::error for blob validation error by @mattsse in #1887
- chore: shift std::error impls to core by @mattsse in #1888
- test: add parity test by @mattsse in #1889
- docs: enable some useful rustdoc features on docs.rs by @DaniPopes in #1890
- chore: improve FromStr for
BlockNumberOrTag
to be case-insensitive by @yjhmelody in #1891 - feat!: remove T: Transport from public APIs by @DaniPopes in #1859
- refactor: use the params struct in more places by @prestwich in #1892
- test: fix warnings on windows by @DaniPopes in #1895
- feat!:rm 7702 auth items from receipt response by @mattsse in #1897
- [Feature] Keep Anvil in Provider have same types as the rest of the project by @programskillforverification in #1876
- feat(contract): improve 'no data' error message by @DaniPopes in #1898
- feat: reexport eip2124 by @klkvr in #1900
- feat: add helper to forkchoice state by @mattsse in #1903
- feat(
provider
): instantiate recommended fillers by default by @yash-atreya in #1901 - feat: add rlp length helper by @mattsse in #1906
- feat: add missing conversion for ExecutionPayloadFieldV2 by @mattsse in #1908
- chore(consensus): Replace magic numbers for tx type with constants by @emhane in #1911
- fix(
transport
): useHttpsConnector
inHyperTransport
by @yash-atreya in #1899 - feat: make ReadJsonStream generic to allow reuse by @prestwich in #1914
- chore(eips): Add super trait
Typed2718
toEncodable2718
by @emhane in #1913 - chore: reuse
BlockOverrides
inSimBundleOverrides
by @klkvr in #1917 - feat(
meta
): addessentials
to default features by @yash-atreya in #1904 - feat: unify
BlobParams
andBlobScheduleItem
by @klkvr in #1919 - fix(
node-bindings
): resetchild.stdout
inAnvilInstance
by @yash-atreya in #1920 - test: migrate eip1898 tests by @mattsse in #1922
- test: require serde features for tests by @mattsse in #1924
- refactor: change json-rpc trait names, relax bounds by @prestwich in #1921
- feat(consensus): make fn tx_type() public by @lgingerich in #1926
- fix: version number of installation is out of date by @zerosnacks in #1927
- test: migrate 4844 rlp tests by @mattsse in #1928
- feat: add more derives for
Receipts
by @klkvr in #1930 - chore: add as_recovered_ref by @mattsse in #1933
- feat: add Recovered::cloned by @mattsse in #1932
- feat: add deserde check for JsonStorageKey by @stevencartavia in #1915
- fix: propagate ssz features by @mattsse in #1934
- feat: add map fns to rpc transaction type by @mattsse in #1936
- chore: forward arbitrary feature by @mattsse in #1941
- feat(
provider
):eth_callMany
builder by @yash-atreya in #1944 - fix(
contract
): rm IntoFuture for CallBuilder by @yash-atreya in #1945 - feat: add calc tx root fn for rpc types by @mattsse in #1950
- feat: add helpers for tx conditional by @mattsse in #1953
- ci: add zepter and propagate features by @mattsse in #1951
- chore: add receipt conversion fns by @mattsse in #1949
- feat: couple convenience methods by @prestwich in #1955
- feat: add into sealed for rpc header by @mattsse in #1956
- chore(deps): breaking bumps by @DaniPopes in #1957
- feat: add TxRequest::from_recovered_transaction helper by @mattsse in #1960
- feat: add some doc aliases for recovered by @mattsse in #1961
- feat: introduce maybe helpers for blob calc by @mattsse in #1962
- feat: add blockbody ommers generic by @mattsse in #1964
- chore: dont enable serde in tests by @mattsse in #1966
- chore: feature gate serde by @mattsse in #1967
- chore!: use u64 for base fee in tx info by @mattsse in #1963
- fix: map txcount resp by @mattsse in #1968
- Added fast option into PrivateTransactionPreferences by @konstantinzolotarev in #1969
- chore: rm passthrough txcount request by @mattsse in #1970
- chore: update system contract addresses for devnet 6 by @joshieDo in #1975
- feat: use StatusCode::is_success instead of just OK by @DaniPopes in #1974
- chore!: remove Service impls for &T by @DaniPopes in #1973
- fix: store pubsubfrontend clone in rpcinner by @mattsse in #1977
- chore: disable anvil nightly warning by @mattsse in #1979
- feat: add avil ipc-path arg by @mattsse in #1978
- added anvil_rollback to anvil API provider by @jorgemmsilva in #1971
New Contributors
- @hoank101 made their first contribution in #1882
- @lgingerich made their first contribution in #1926
- @konstantinzolotarev made their first contribution in #1969
- @jorgemmsilva made their first contribution in #1971
Full Changelog: v0.9.2...v0.11.0
v0.9.2
What's Changed
- fix: skip empty request objects by @mattsse in #1873
- feat: add block to payloadbodyv1 by @mattsse in #1874
- feat: add block to payloadv1 by @mattsse in #1875
- feat: add conversions from rpc block to consensus by @mattsse in #1869
- fix(eip7251): update contract address and bytecode by @klkvr in #1877
- feat: sort and skip empty requests for hash by @klkvr in #1878
Full Changelog: v0.9.1...v0.9.2
v0.9.1
v0.9.0
What's Changed
- fix: use default for creation method by @mattsse in #1820
- feat: add helpers to any tx envelope by @mattsse in #1817
- feat: add helpers for block by @mattsse in #1816
- fix: support hex values for conditional options by @mattsse in #1824
- chore: replace derive_more with thiserror by @mattsse in #1822
- feat: add cost fn for conditional opts by @mattsse in #1823
- feat: add tryfrom for anyheader to header by @mattsse in #1826
- chore: rename ConditionalOptions by @mattsse in #1825
- feat: add map transactions fn by @mattsse in #1827
- feat(pectra): Revert EIP-7742 by @ryanschneider in #1807
- feat: add map transactions to rpc block type by @mattsse in #1835
- EIP-7002: update
WITHDRAWAL_REQUEST_PREDEPLOY_ADDRESS
by @rkrasiuk in #1834 - EIP-7251: update
CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS
by @rkrasiuk in #1836 - EIP-2935: update contract bytecode & address by @programskillforverification in #1838
- EIP-7702: change
chain_id
type toU256
by @rkrasiuk in #1839 - feat: return tagged variant deserde error by @mattsse in #1810
- feat: EIP-7840 by @klkvr in #1828
- chore: map header fns by @mattsse in #1840
- feat: add insert helper to otherfields by @mattsse in #1841
- chore: rm non exhaustive for envelope by @mattsse in #1842
- meta: update code owners by @mattsse in #1844
- chore: rm non exhaustive from ReceiptEnvelope by @mattsse in #1843
- feat: add BlockConditional by @mattsse in #1846
- feat: add match functions by @mattsse in #1847
- fix(alloy-eips):
SimpleCoder::decode_one()
should returnOk(None)
by @StackOverflowExcept1on in #1818 - [Bug] Request predeploy codes have diverged by @programskillforverification in #1845
- fix: use u64 for all gas values by @klkvr in #1848
- chore: make clippy happy by @mattsse in #1849
- feat: add more builder style fns by @mattsse in #1850
- feat: add tryfrom payloadv1 for block by @mattsse in #1851
- feat: add tryfrom payloadv2 + v3 for block by @mattsse in #1853
- feat: add tryfrom payload for block by @mattsse in #1854
- feat: misc payloadenvelopeinput conversions by @mattsse in #1855
- feat: add try into block with sidecar by @mattsse in #1856
- feat: add ExecutionPayloadFieldV2 into ExecutionPayload by @mattsse in #1858
- [Feature] update Display implementation on BlockNumberOrTag by @programskillforverification in #1857
- chore: simplify Service impls by @DaniPopes in #1861
- chore: rm unused alloy-signer dep by @mattsse in #1862
- chore: rm cyclic test deps by @mattsse in #1863
- chore: rm cyclic test deps by @mattsse in #1864
New Contributors
- @programskillforverification made their first contribution in #1838
Full Changelog: v0.8.3...v0.9.0