Repository: gakonst/ethers-rs
Pull request #2278 (2023-03-17 20:49:57)

chore: update release process
<!--
Thank you for your Pull Request. Please provide a description above and review
the requirements below.

Bug fixes and new features should include tests.

Contributors guide: https://github.com/gakonst/ethers-rs/blob/master/CONTRIBUTING.md

The contributors guide includes instructions for running rustfmt and building the
documentation.
-->

## Motivation

<!--
Explain the context and why you're making that change. What is the problem
you're trying to solve? In some cases there is not a problem and this can be
thought of as being the motivation for your change.
-->

## Solution

- Automatically generate CHANGELOG.md with [git-cliff](https://github.com/orhun/git-cliff) on a [cargo-release](https://github.com/crate-ci/cargo-release) hook
- Update documentation for the release process and how to contribute

<!--
Summarize the solution and provide any necessary context needed to understand
the code change.
-->

## PR Checklist

-   [ ] Added Tests
-   [ ] Added Documentation
-   [ ] Updated the changelog
-   [ ] Breaking changes


gakonst: I'm giving https://github.com/MarcoIeni/release-plz a try
gakonst: OK let's send it, updated my cargo-release command. Will revise with release-plz in the near future.

Patch:
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 44f0f176..384d6f88 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -29,5 +29,4 @@ the code change.
 
 -   [ ] Added Tests
 -   [ ] Added Documentation
--   [ ] Updated the changelog
 -   [ ] Breaking changes
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 69bc3f5f..708910a9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -172,7 +172,7 @@ jobs:
               with:
                   node-version: 16
             - name: Run wasm example
-              working-directory: examples/ethers-wasm
+              working-directory: examples/wasm
               run: |
                   yarn
                   yarn anvil &
@@ -194,4 +194,4 @@ jobs:
               run: ./.github/scripts/install_test_binaries.sh
             - uses: Swatinem/rust-cache@v2
             - name: Build and run all examples
-              run: ./scripts/examples.sh
+              run: ./bin/run_all_examples
diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
deleted file mode 100644
index 1dbe6779..00000000
--- a/.github/workflows/releases.yml
+++ /dev/null
@@ -1,99 +0,0 @@
-name: release
-
-on:
-    schedule:
-        - cron: "0 0 * * 0"
-
-    workflow_dispatch:
-        inputs:
-            release_type:
-                type: choice
-                description: Release type
-                options:
-                    - major
-                    - minor
-                    - patch
-                    - rc
-                    - beta
-                    - alpha
-
-permissions:
-    contents: write
-
-jobs:
-    release:
-        runs-on: ubuntu-latest
-        env:
-            CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }}
-            RELEASE_TYPE: ${{ github.event.inputs.release_type }}
-        steps:
-            - name: Checkout sources
-              uses: actions/checkout@v3
-              with:
-                  fetch-depth: 0
-            - name: Configure git
-              run: |
-                  git config user.name github-actions
-                  git config user.email github-actions@github.com
-            - name: Rust stable
-              uses: actions-rs/toolchain@v1
-              with:
-                  profile: minimal
-                  toolchain: stable
-            - uses: Swatinem/rust-cache@v1
-              with:
-                  cache-on-failure: true
-            - name: Install cargo-release
-              uses: actions-rs/install@v0.1
-              with:
-                  crate: cargo-release
-                  version: latest
-            - name: Cargo login
-              run: |
-                  cargo login $CARGO_TOKEN
-            - name: Dry-run cargo release
-              run: |
-                  cargo release --workspace ${RELEASE_TYPE:-alpha} --exclude ethers-wasm
-            - name: Publish release
-              run: |
-                  cargo release --workspace ${RELEASE_TYPE:-alpha} --exclude ethers-wasm --execute --no-confirm
-            - name: Setup node
-              uses: actions/setup-node@v3
-              with:
-                  node-version: 14
-            - run: |
-                  npm i semver
-            - name: Install git-cliff
-              uses: actions-rs/install@v0.1
-              with:
-                  crate: git-cliff
-                  version: latest
-            - name: Publish changelog
-              id: changelog
-              run: |
-                  current_version=$(git tag --contains HEAD -l "v*" | head -1)
-                  from_version=$(node .github/scripts/release-tag-from.js $current_version $RELEASE_TYPE)
-                  echo from $from_version to $current_version
-
-                  echo "::set-output name=release_version::$(echo $current_version)"
-
-                  if git rev-parse "$from_version" >/dev/null 2>&1; then
-                    echo "tag exists, can generate changelog";
-                  else
-                    echo "tag does not exist, cannot generate changelog, publish github release manually"
-                    exit 0
-                  fi
-
-                  git cliff $from_version..$current_version > GENERATED_CHANGELOG.md
-                  cat GENERATED_CHANGELOG.md
-            - name: Create GitHub release
-              id: release
-              uses: actions/create-release@v1
-              env:
-                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-                  RELEASE_VERSION: ${{ steps.changelog.outputs.release_version }}
-              with:
-                  tag_name: ${{ env.RELEASE_VERSION }}
-                  release_name: ${{ env.RELEASE_VERSION }}
-                  body_path: GENERATED_CHANGELOG.md
-                  prerelease: ${{ env.RELEASE_TYPE == 'alpha' }}
diff --git a/CHANGELOG-OLD.md b/CHANGELOG-OLD.md
new file mode 100644
index 00000000..aa1a0118
--- /dev/null
+++ b/CHANGELOG-OLD.md
@@ -0,0 +1,406 @@
+# Changelog
+
+The old `ethers-rs` changelog, that has been discontinued.
+
+The new one is located [here](./CHANGELOG.md), which is automatically generated by [git-cliff](https://github.com/orhun/git-cliff).
+
+## ethers-core
+
+### Unreleased
+
+- Add support for `ethlive` as a chain name [#2268](https://github.com/gakonst/ethers-rs/pull/2268)
+- Make `Chain` more round-trip friendly [#2270](https://github.com/gakonst/ethers-rs/pull/2270)
+- Add `other: OtherFields` to `TransactionReceipt` [#2209](https://github.com/gakonst/ethers-rs/pull/2209)
+- Add `Signature::recover_typed_data` [#2120](https://github.com/gakonst/ethers-rs/pull/2120)
+- Add `abi::encode_packed` [#2104](https://github.com/gakonst/ethers-rs/pull/2104)
+- Add support for custom JavaScript tracer to `debug_traceCall` and `debug_traceTransaction` [#2064](https://github.com/gakonst/ethers-rs/pull/2064)
+- Add a `Send` bound to the `IntoFuture` implementation of `ContractCall` [#2083](https://github.com/gakonst/ethers-rs/pull/2083)
+- Bump [`svm-rs`](https://github.com/roynalnaruto/svm-rs) dependency to fix conflicts with Rust Crytpo packages [#2051](https://github.com/gakonst/ethers-rs/pull/2051)
+- Avoid unnecessary allocations in `utils` [#2046](https://github.com/gakonst/ethers-rs/pull/2046)
+- Add abigen support for hardhat generated bytecode json format [#2012](https://github.com/gakonst/ethers-rs/pull/2012)
+- Fix typo in `RwClient` docs for `write_client` method.
+- Add support for Geth `debug_traceCall` [#1949](https://github.com/gakonst/ethers-rs/pull/1949)
+- Add support for Geth built-in tracer and config [#2121](https://github.com/gakonst/ethers-rs/pull/2121)
+- Graceful handling of WebSocket transport errors [#1889](https://github.com/gakonst/ethers-rs/issues/1889) [#1815](https://github.com/gakonst/ethers-rs/issues/1815)
+- `MiddlewareBuilder` trait to instantiate a `Provider` as `Middleware` layers.
+- An `Event` builder can be instantiated specifying the event filter type, without the need to instantiate a contract.
+- Add 'ethers_core::types::OpCode' and use in 'ethers_core::types::VMOperation' [#1857](https://github.com/gakonst/ethers-rs/issues/1857)
+- Remove rust_decimals dependency for ethers-core
+- Add support for numbers greater than 2^96 for `ethers_core::utils::parse_units` [#1822](https://github.com/gakonst/ethers-rs/issues/1822)
+- Add comment about safety of u8 -> u64 cast in `ethers_core::types::Signature`
+- Stop defaulting to the `"latest"` block in `eth_estimateGas` params [#1657](https://github.com/gakonst/ethers-rs/pull/1657)
+- Fix geth trace types for debug_traceTransaction rpc
+- Fix RLP decoding of legacy `Transaction`
+- Fix RLP encoding of `TransactionReceipt` [#1661](https://github.com/gakonst/ethers-rs/pull/1661)
+- Add `Unit8` helper type [#1639](https://github.com/gakonst/ethers-rs/pull/1639)
+- Add `evm.deployedBytecode.immutableReferences` output selector [#1523](https://github.com/gakonst/ethers-rs/pull/1523)
+- Added `get_erc1155_token_transfer_events` function for etherscan client [#1503](https://github.com/gakonst/ethers-rs/pull/1503)
+- Add support for Geth `debug_traceTransaction` [#1469](https://github.com/gakonst/ethers-rs/pull/1469)
+- Use correct, new transaction type for `typool_content` RPC endpoint [#1501](https://github.com/gakonst/ethers-rs/pull/1501)
+- Fix the default config for generated `BuildInfo` [#1458](https://github.com/gakonst/ethers-rs/pull/1458)
+- Allow configuration of the output directory of the generated `BuildInfo` [#1433](https://github.com/gakonst/ethers-rs/pull/1433)
+- capture unknown fields in `Block` and `Transaction` type via new `OtherFields` type [#1423](https://github.com/gakonst/ethers-rs/pull/1423)
+- Methods like `set_to()` from `TypedTransaction` can be chained
+- Use H64 for Block Nonce [#1396](https://github.com/gakonst/ethers-rs/pull/1396)
+- Add `as_*_mut` methods on `TypedTransaction`
+  [#1310](https://github.com/gakonst/ethers-rs/pull/1310)
+- AWS EIP712 data signing no longer signs with EIP155
+- Added Cronos testnet to etherscan options [#1276](https://github.com/gakonst/ethers-rs/pull/1276)
+- Fix parsing of a pending block
+  [#1272](https://github.com/gakonst/ethers-rs/pull/1272)
+- Removed Cronos mainnet beta from `is_legacy` [1246](https://github.com/gakonst/ethers-rs/pull/1246)
+- Fix RLP decoding of `from` field for `Eip1559TransactionRequest` and
+  `Eip2930TransactionRequest`, remove `Eip1559TransactionRequest` `sighash`
+  method [#1180](https://github.com/gakonst/ethers-rs/pull/1180)
+- Fix RLP encoding of absent access list in `Transaction` [1137](https://github.com/gakonst/ethers-rs/pull/1137)
+- Pass compilation time as additional argument to `Reporter::on_solc_success` [#1098](https://github.com/gakonst/ethers-rs/pull/1098)
+- Fix aws signer bug which maps un-normalized signature to error if no normalization occurs (in `aws::utils::decode_signature`)
+- Implement signed transaction RLP decoding [#1096](https://github.com/gakonst/ethers-rs/pull/1096)
+- `Transaction::from` will default to `Address::zero()`. Add `recover_from` and
+  `recover_from_mut` methods for recovering the sender from signature, and also
+  setting the same on tx [#1075](https://github.com/gakonst/ethers-rs/pull/1075).
+- Add Etherscan account API endpoints [#939](https://github.com/gakonst/ethers-rs/pull/939)
+- Add FTM Mainet and testnet to parse method "try_from" from Chain.rs and add cronos mainet and testnet to "from_str"
+- Add FTM mainnet and testnet Multicall addresses [#927](https://github.com/gakonst/ethers-rs/pull/927)
+- Add Cronos mainnet beta and testnet to the list of known chains
+  [#926](https://github.com/gakonst/ethers-rs/pull/926)
+- `Chain::to_string` will return the same chain name as `Chain::from_str`
+- Add `eth_syncing` [#848](https://github.com/gakonst/ethers-rs/pull/848)
+- Fix overflow and possible divide-by-zero in `estimate_priority_fee`
+- Add BSC mainnet and testnet to the list of known chains
+  [#831](https://github.com/gakonst/ethers-rs/pull/831)
+- Returns error on invalid type conversion instead of panicking
+  [#691](https://github.com/gakonst/ethers-rs/pull/691/files)
+- Change types mapping for solidity `bytes` to rust `ethers::core::Bytes` and
+  solidity `uint8[]` to rust `Vec<u8>`.
+  [#613](https://github.com/gakonst/ethers-rs/pull/613)
+- Fix `format_units` to return a `String` of representing a decimal point float
+  such that the decimal places don't get truncated.
+  [#597](https://github.com/gakonst/ethers-rs/pull/597)
+- Implement hex display format for `ethers::core::Bytes`
+  [#624](https://github.com/gakonst/ethers-rs/pull/624).
+- Fix `fee_history` to first try with `block_count` encoded as a hex `QUANTITY`.
+  [#668](https://github.com/gakonst/ethers-rs/pull/668)
+- Fix `fill_transaction` to set nonces in transactions, if the sender is known
+  and no nonce is specified
+- Move `fill_transaction` implementation to the provider, to allow middleware
+  to properly override its behavior.
+- Add informational messages to solc installation and compilation.
+- Significantly refactor `MultiAbigen` module generation. Now allows for lib
+  generation, and does not make unnecessary disk writes.
+  [#854](https://github.com/gakonst/ethers-rs/pull/852)
+- Refactor `ethers-contract-abigen` to use `eyre` instead of `anyhow` via
+  [#858](https://github.com/gakonst/ethers-rs/pull/858)
+- Add `Deployer.send_with_receipt -> Result<(Contract, Receipt), Error>`
+  so that the receipt can be returned to the called when deploying
+  a contract [#865](https://github.com/gakonst/ethers-rs/pull/865)
+- Add Arbitrum mainnet and testnet to the list of known chains
+- Add ENS avatar and TXT records resolution
+  [#889](https://github.com/gakonst/ethers-rs/pull/889)
+- Do not override gas limits provided by an outer middleware when including an EIP-2930 access list
+  [#901](https://github.com/gakonst/ethers-rs/pull/901)
+- Add a getter to `ProjectCompileOutput` that returns a mapping of compiler
+  versions to a vector of name + contract struct tuples
+  [#908](https://github.com/gakonst/ethers-rs/pull/908)
+- Add Yul compilation [#994](https://github.com/gakonst/ethers-rs/pull/994)
+- Enforce commutativity of ENS reverse resolution
+  [#996](https://github.com/gakonst/ethers-rs/pull/996)
+- Add `TransactionReceipt::to` and `TransactionReceipt::from`
+  [#1184](https://github.com/gakonst/ethers-rs/pull/1184)
+- Add `From<H160>` and From<Vec<H160>> traits to `ValueOrArray<H160>` [#1199](https://github.com/gakonst/ethers-rs/pull/1200)
+- Fix handling of Websocket connection errors [#1287](https://github.com/gakonst/ethers-rs/pull/1287)
+- Add Arithmetic Shift Right operation for I256 [#1323](https://github.com/gakonst/ethers-rs/issues/1323)
+- [#1535](https://github.com/gakonst/ethers-rs/pull/1535) Add support to Aurora and Aurora testnet networks.
+- [#1632](https://github.com/gakonst/ethers-rs/pull/1632) Re-export `H32` from `ethabi`.
+- [#1634](https://github.com/gakonst/ethers-rs/pull/1634) Derive missing `Clone`, `Copy` and `Debug` impls in ethers-etherscan.
+- Bytes debug format now displays hex literals [#1658](https://github.com/gakonst/ethers-rs/pull/1658)
+- [#1451](https://github.com/gakonst/ethers-rs/issues/1451) Add Arithmetic Shift Left operation for I256
+- [#1860](https://github.com/gakonst/ethers-rs/pull/1860) Update I256 type documentation calling out the inconsistency
+  between its right shift operator and standard library numeric types.
+- [#842](https://github.com/gakonst/ethers-rs/issues/842) Add support for I256 types in `parse_units` and `format_units`.
+  Added `twos_complement` function for I256.
+- [#1934](https://github.com/gakonst/ethers-rs/pull/1934) Allow 16 calls in multicall.
+- [#1941](https://github.com/gakonst/ethers-rs/pull/1941) Add `add_calls` and `call_array` for `Multicall`.
+- Added basic event log filtering example.
+
+## ethers-contract-abigen
+
+### Unreleased
+
+- Abigen now generates events with new `<B, M>` generic pattern [#2103](https://github.com/gakonst/ethers-rs/pull/2103)
+- Fix Cargo.toml generation issue that could cause dependency conflicts [#1852](https://github.com/gakonst/ethers-rs/pull/1852)
+- Use corresponding rust structs for event fields if they're solidity structs [#1674](https://github.com/gakonst/ethers-rs/pull/1674)
+- Add `ContractFilter` to filter contracts in `MultiAbigen` [#1564](https://github.com/gakonst/ethers-rs/pull/1564)
+- generate error bindings for custom errors [#1549](https://github.com/gakonst/ethers-rs/pull/1549)
+- Support overloaded events
+  [#1233](https://github.com/gakonst/ethers-rs/pull/1233)
+- Relax Clone requirements when Arc<Middleware> is used
+  [#1183](https://github.com/gakonst/ethers-rs/pull/1183)
+- Generate a deploy function if bytecode is provided in the abigen! input (json artifact)
+  [#1030](https://github.com/gakonst/ethers-rs/pull/1030).
+- Generate correct bindings of struct's field names that are reserved words
+  [#989](https://github.com/gakonst/ethers-rs/pull/989).
+- Generate correct binding module names that are reserved words
+  [#1498](https://github.com/gakonst/ethers-rs/pull/1498). Note: this changes
+  generated module names to snake case. For example, `MyContract` is now
+  `my_contract` rather than `mycontract_mod`.
+- The `Cargo.toml` generated by bindings now includes the `abigen` feature on
+  ethers. [#1508](https://github.com/gakonst/ethers-rs/pull/1508)
+- More descriptive contract deserialization errors.
+  [#1633](https://github.com/gakonst/ethers-rs/pull/1633)
+
+### 0.6.0
+
+- Add `MultiAbigen` to generate a series of contract bindings that can be kept in the repo
+  [#724](https://github.com/gakonst/ethers-rs/pull/724).
+- Add provided `event_derives` to call and event enums as well
+  [#721](https://github.com/gakonst/ethers-rs/pull/721).
+- Implement snowtrace and polygonscan on par with the etherscan integration
+  [#666](https://github.com/gakonst/ethers-rs/pull/666).
+
+## ethers-solc
+
+### Unreleased
+
+- Add `OutputContext` to `ArtifactOutput` trait
+  [#1621](https://github.com/gakonst/ethers-rs/pull/1621)
+- On windows all paths in the `ProjectCompilerOutput` are now slashed by default
+  [#1540](https://github.com/gakonst/ethers-rs/pull/1540)
+- `ArtifactOutput::write_extras` now takes the `Artifacts` directly
+  [#1491](https://github.com/gakonst/ethers-rs/pull/1491)
+- Make `ethers-solc` optional dependency of `ethers`, needs `ethers-solc` feature to activate
+  [#1463](https://github.com/gakonst/ethers-rs/pull/1463)
+- Add `rawMetadata:String` field to configurable contract output
+  [#1365](https://github.com/gakonst/ethers-rs/pull/1365)
+- Use relative source paths and `solc --base-path`
+  [#1317](https://github.com/gakonst/ethers-rs/pull/1317)
+- Save cache entry objects with relative paths
+  [#1307](https://github.com/gakonst/ethers-rs/pull/1307)
+- Bundle svm, svm-builds and sha2 dependencies in new `svm-solc` feature
+  [#1071](https://github.com/gakonst/ethers-rs/pull/1071)
+- Emit artifact files for source files without any ContractDefinition
+  [#1296](https://github.com/gakonst/ethers-rs/pull/1296)
+- Wrap `ethabi::Contract` into new type `LosslessAbi` and `abi: Option<Abi>` with `abi: Option<LosslessAbi>` in `ConfigurableContractArtifact`
+  [#952](https://github.com/gakonst/ethers-rs/pull/952)
+- Let `Project` take ownership of `ArtifactOutput` and change trait interface
+  [#907](https://github.com/gakonst/ethers-rs/pull/907)
+- Total revamp of the `Project::compile` pipeline
+  [#802](https://github.com/gakonst/ethers-rs/pull/802)
+  - Support multiple versions of compiled contracts
+  - Breaking: deprecate hardhat cache file compatibility, cache file now tracks artifact paths and their versions
+- Fix flatten replacement target location
+  [#846](https://github.com/gakonst/ethers-rs/pull/846)
+- Fix duplicate files during flattening
+  [#813](https://github.com/gakonst/ethers-rs/pull/813)
+- Add ability to flatten file imports
+  [#774](https://github.com/gakonst/ethers-rs/pull/774)
+- Add dependency graph and resolve all imported libraryfiles
+  [#750](https://github.com/gakonst/ethers-rs/pull/750)
+- `Remapping::find_many` does not return a `Result` anymore
+  [#707](https://github.com/gakonst/ethers-rs/pull/707)
+- Add support for hardhat artifacts
+  [#677](https://github.com/gakonst/ethers-rs/pull/677)
+- Add more utility functions to the `Artifact` trait
+  [#673](https://github.com/gakonst/ethers-rs/pull/673)
+- Return cached artifacts from project `compile` when the cache only contains
+  some files
+- Add support for library linking and make `Bytecode`'s `object` filed an
+  `enum BytecodeObject` [#656](https://github.com/gakonst/ethers-rs/pull/656).
+- Nit: remove accidentally doubled double-quotes in an error message
+- Fix when compiler-out metadata is empty and there's no internalType [#1182](https://github.com/gakonst/ethers-rs/pull/1182)
+- Add basic `solc` model checker options.
+  [#1258](https://github.com/gakonst/ethers-rs/pull/1258)
+
+### 0.6.0
+
+- add `EthAbiCodec` proc macro to derive `AbiEncode` `AbiDecode` implementation
+  [#704](https://github.com/gakonst/ethers-rs/pull/704)
+- move `AbiEncode` `AbiDecode` trait to ethers-core and implement for core types
+  [#531](https://github.com/gakonst/ethers-rs/pull/531)
+- Add EIP-712 `sign_typed_data` signer method; add ethers-core type `Eip712`
+  trait and derive macro in ethers-derive-eip712
+  [#481](https://github.com/gakonst/ethers-rs/pull/481)
+
+### 0.5.3
+
+- Allow configuring the optimizer & passing arbitrary arguments to solc
+  [#427](https://github.com/gakonst/ethers-rs/pull/427)
+- Decimal support for `ethers_core::utils::parse_units`
+  [#463](https://github.com/gakonst/ethers-rs/pull/463)
+- Fixed Wei unit calculation in `Units`
+  [#460](https://github.com/gakonst/ethers-rs/pull/460)
+- Add `ethers_core::utils::get_create2_address_from_hash`
+  [#444](https://github.com/gakonst/ethers-rs/pull/444)
+- Bumped ethabi to 0.15.0 and fixing breaking changes
+  [#469](https://github.com/gakonst/ethers-rs/pull/469),
+  [#448](https://github.com/gakonst/ethers-rs/pull/448),
+  [#445](https://github.com/gakonst/ethers-rs/pull/445)
+
+### 0.5.2
+
+- Correctly RLP Encode transactions as received from the mempool
+  ([#415](https://github.com/gakonst/ethers-rs/pull/415))
+
+## ethers-providers
+
+### Unreleased
+
+- Breaking: WS now includes reconnection logic and a changed `connect`
+  interface. Old behavior can be accessed via the `legacy_ws` feature
+  [#2181](https://github.com/gakonst/ethers-rs/pull/2181)
+- Re-organize the crate. #[2150](https://github.com/gakonst/ethers-rs/pull/2159)
+- Convert provider errors to arbitrary middleware errors
+  [#1920](https://github.com/gakonst/ethers-rs/pull/1920)
+- Add a subset of the `admin` namespace
+  [1880](https://github.com/gakonst/ethers-rs/pull/1880)
+- Return String for net version
+  [1376](https://github.com/gakonst/ethers-rs/pull/1376)
+- Stream of paginated logs that load logs in small pages
+  [1285](https://github.com/gakonst/ethers-rs/pull/1285)
+- Load previous logs before subscribing to new logs in case fromBlock is set
+  [1264](https://github.com/gakonst/ethers-rs/pull/1264)
+- Add retries to the pending transaction future
+  [1221](https://github.com/gakonst/ethers-rs/pull/1221)
+- Add support for basic and bearer authentication in http and non-wasm websockets.
+  [829](https://github.com/gakonst/ethers-rs/pull/829)
+- Export `ethers_providers::IpcError` and `ethers_providers::QuorumError`
+  [1012](https://github.com/gakonst/ethers-rs/pull/1012)
+
+### 0.6.0
+
+- re-export error types for `Http` and `Ws` providers in
+  [#570](https://github.com/gakonst/ethers-rs/pull/570)
+- add a method on the `Middleware` to broadcast a tx with a series of escalating
+  gas prices via [#566](https://github.com/gakonst/ethers-rs/pull/566)
+- Remove unnecessary `Serialize` constraint to `R` (the Response type) in the
+  `request` method of `JsonRpcClient`.
+- Fix `http Provider` data race when generating new request `id`s.
+- Add support for `net_version` RPC method.
+  [595](https://github.com/gakonst/ethers-rs/pull/595)
+- Add support for `evm_snapshot` and `evm_revert` dev RPC methods.
+  [640](https://github.com/gakonst/ethers-rs/pull/640)
+
+### 0.5.3
+
+- Expose `ens` module [#435](https://github.com/gakonst/ethers-rs/pull/435)
+- Add `eth_getProof` [#459](https://github.com/gakonst/ethers-rs/pull/459)
+
+### 0.5.2
+
+- Set resolved ENS name during gas estimation
+  ([1e5a9e](https://github.com/gakonst/ethers-rs/commit/1e5a9efb3c678eecd43d5c341b4932da35445831))
+
+## ethers-signers
+
+### Unreleased
+
+- fix: `LedgerSigner` has improved tracing and a ledger app bug mitigation
+  [#2192](https://github.com/gakonst/ethers-rs/pull/2192)
+- `eth-keystore-rs` crate updated. Allow an optional name for the to-be-generated
+  keystore file [#910](https://github.com/gakonst/ethers-rs/pull/910)
+- [1983](https://github.com/gakonst/ethers-rs/pull/1983) Added a `from_bytes` function for the `Wallet` type.
+- Allow parsing of private key that has `0x` prefix
+  [#2037](https://github.com/gakonst/ethers-rs/pull/2037)
+
+### 0.6.0
+
+- `LocalWallet::new_keystore` now returns a tuple `(LocalWallet, String)`
+  instead of `LocalWallet`, where the string represents the UUID of the newly
+  created encrypted JSON keystore. The JSON keystore is stored as a file
+  `/dir/uuid`. The issue [#557](https://github.com/gakonst/ethers-rs/issues/557)
+  is addressed [#559](https://github.com/gakonst/ethers-rs/pull/559)
+
+## ethers-contract
+
+### Unreleased
+
+- (Breaking) Add `Revert` to `ContractError`. Add `impl EthError for String`.
+  Modify existing `ContractError` variants to prevent accidental improper
+  usage. Change `MulticallError` to use `ContractError::Revert`. Add
+  convenience methods to decode errors from reverts.
+  [#2172](https://github.com/gakonst/ethers-rs/pull/2172)
+- (Breaking) Improve Multicall result handling
+  [#2164](https://github.com/gakonst/ethers-rs/pull/2105)
+- (Breaking) Make `Event` objects generic over borrow & remove lifetime
+  [#2105](https://github.com/gakonst/ethers-rs/pull/2105)
+- Make `Factory` objects generic over the borrow trait, to allow non-arc mware
+  [#2103](https://github.com/gakonst/ethers-rs/pull/2103)
+- Make `Contract` objects generic over the borrow trait, to allow non-arc mware
+  [#2082](https://github.com/gakonst/ethers-rs/pull/2082)
+- Return pending transaction from `Multicall::send`
+  [#2044](https://github.com/gakonst/ethers-rs/pull/2044)
+- Add abigen to default features
+  [#1684](https://github.com/gakonst/ethers-rs/pull/1684)
+- Add extra Multicall helper methods
+  [#1666](https://github.com/gakonst/ethers-rs/pull/1666)
+- Update Multicall to Multicall3
+  [#1584](https://github.com/gakonst/ethers-rs/pull/1584)
+- Add `Event::stream_with_meta` and `Event::subscribe_with_meta`
+  [#1483](https://github.com/gakonst/ethers-rs/pull/1483)
+- Added tx builder methods to `ContractFactory`
+  [#1289](https://github.com/gakonst/ethers-rs/pull/1289)
+- Relax Clone requirements when Arc<Middleware> is used
+  [#1183](https://github.com/gakonst/ethers-rs/pull/1183)
+- Add `EventStream::select` to combine streams with different event types
+  [#725](https://github.com/gakonst/ethers-rs/pull/725)
+- Substitute output tuples with rust struct types for function calls
+  [#664](https://github.com/gakonst/ethers-rs/pull/664)
+- Add AbiType implementation during EthAbiType expansion
+  [#647](https://github.com/gakonst/ethers-rs/pull/647)
+- fix Etherscan conditional HTTP support
+  [#632](https://github.com/gakonst/ethers-rs/pull/632)
+- use `CARGO_MANIFEST_DIR` as root for relative paths in abigen
+  [#631](https://github.com/gakonst/ethers-rs/pull/631)
+
+### 0.6.0
+
+- Provide a way to opt out of networking support in abigen proc macro with
+  `abigen-offline` feature [#580](https://github.com/gakonst/ethers-rs/pull/580)
+- Add `.call()` method to `Deployer` for performing dry runs of contract
+  deployments. [#554](https://github.com/gakonst/ethers-rs/pull/554)
+- Improve error message from failure in `ethers_contract_abigen::Source::parse`
+  [#552](https://github.com/gakonst/ethers-rs/pull/552)
+- use enumerated aliases for overloaded functions
+  [#545](https://github.com/gakonst/ethers-rs/pull/545)
+- add `EthCall` trait and derive macro which generates matching structs for
+  contract calls [#517](https://github.com/gakonst/ethers-rs/pull/517)
+- Use rust types as contract function inputs for human readable abi
+  [#482](https://github.com/gakonst/ethers-rs/pull/482)
+- `abigen!` now generates `Display` for all events using the new `EthDisplay`
+  macro [#513](https://github.com/gakonst/ethers-rs/pull/513)
+- `abigen!` now supports overloaded functions natively
+  [#501](https://github.com/gakonst/ethers-rs/pull/501)
+- `abigen!` now supports multiple contracts
+  [#498](https://github.com/gakonst/ethers-rs/pull/498)
+
+### Unreleased
+
+### 0.5.3
+
+- (De)Tokenize structs and events with only a single field as `Token:Tuple`
+  ([#417](https://github.com/gakonst/ethers-rs/pull/417))
+
+## ethers-middleware
+
+### Unreleased
+
+- Added `openssl` and `rustls` feature flags
+  [#1961](https://github.com/gakonst/ethers-rs/pull/1961)
+- Relax Clone requirements when Arc<Middleware> is used
+  [#1183](https://github.com/gakonst/ethers-rs/pull/1183)
+- Ensure a consistent chain ID between a Signer and Provider in SignerMiddleware
+  [#1095](https://gakonst/ethers-rs/pull/1095)
+- Add BlockNative gas oracle [#1175](https://github.com/gakonst/ethers-rs/pull/1175)
+
+### 0.6.0
+
+- add the missing constructor for `Timelag` middleware via
+  [#568](https://github.com/gakonst/ethers-rs/pull/568)
+- Removes GasNow as a gas price oracle
+  [#508](https://github.com/gakonst/ethers-rs/pull/508)
+- add initialize_nonce public function to initialize NonceMiddleManager
+
+### 0.5.3
+
+- Added Time Lagged middleware
+  [#457](https://github.com/gakonst/ethers-rs/pull/457)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d78df792..61349c6b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,402 +1,2050 @@
 # Changelog
 
-## ethers-core
-
-### Unreleased
-
-- Add support for `ethlive` as a chain name [#2268](https://github.com/gakonst/ethers-rs/pull/2268)
-- Make `Chain` more round-trip friendly [#2270](https://github.com/gakonst/ethers-rs/pull/2270)
-- Add `other: OtherFields` to `TransactionReceipt` [#2209](https://github.com/gakonst/ethers-rs/pull/2209)
-- Add `Signature::recover_typed_data` [#2120](https://github.com/gakonst/ethers-rs/pull/2120)
-- Add `abi::encode_packed` [#2104](https://github.com/gakonst/ethers-rs/pull/2104)
-- Add support for custom JavaScript tracer to `debug_traceCall` and `debug_traceTransaction` [#2064](https://github.com/gakonst/ethers-rs/pull/2064)
-- Add a `Send` bound to the `IntoFuture` implementation of `ContractCall` [#2083](https://github.com/gakonst/ethers-rs/pull/2083)
-- Bump [`svm-rs`](https://github.com/roynalnaruto/svm-rs) dependency to fix conflicts with Rust Crytpo packages [#2051](https://github.com/gakonst/ethers-rs/pull/2051)
-- Avoid unnecessary allocations in `utils` [#2046](https://github.com/gakonst/ethers-rs/pull/2046)
-- Add abigen support for hardhat generated bytecode json format [#2012](https://github.com/gakonst/ethers-rs/pull/2012)
-- Fix typo in `RwClient` docs for `write_client` method.
-- Add support for Geth `debug_traceCall` [#1949](https://github.com/gakonst/ethers-rs/pull/1949)
-- Add support for Geth built-in tracer and config [#2121](https://github.com/gakonst/ethers-rs/pull/2121)
-- Graceful handling of WebSocket transport errors [#1889](https://github.com/gakonst/ethers-rs/issues/1889) [#1815](https://github.com/gakonst/ethers-rs/issues/1815)
-- `MiddlewareBuilder` trait to instantiate a `Provider` as `Middleware` layers.
-- An `Event` builder can be instantiated specifying the event filter type, without the need to instantiate a contract.
-- Add 'ethers_core::types::OpCode' and use in 'ethers_core::types::VMOperation' [#1857](https://github.com/gakonst/ethers-rs/issues/1857)
-- Remove rust_decimals dependency for ethers-core
-- Add support for numbers greater than 2^96 for `ethers_core::utils::parse_units` [#1822](https://github.com/gakonst/ethers-rs/issues/1822)
-- Add comment about safety of u8 -> u64 cast in `ethers_core::types::Signature`
-- Stop defaulting to the `"latest"` block in `eth_estimateGas` params [#1657](https://github.com/gakonst/ethers-rs/pull/1657)
-- Fix geth trace types for debug_traceTransaction rpc
-- Fix RLP decoding of legacy `Transaction`
-- Fix RLP encoding of `TransactionReceipt` [#1661](https://github.com/gakonst/ethers-rs/pull/1661)
-- Add `Unit8` helper type [#1639](https://github.com/gakonst/ethers-rs/pull/1639)
-- Add `evm.deployedBytecode.immutableReferences` output selector [#1523](https://github.com/gakonst/ethers-rs/pull/1523)
-- Added `get_erc1155_token_transfer_events` function for etherscan client [#1503](https://github.com/gakonst/ethers-rs/pull/1503)
-- Add support for Geth `debug_traceTransaction` [#1469](https://github.com/gakonst/ethers-rs/pull/1469)
-- Use correct, new transaction type for `typool_content` RPC endpoint [#1501](https://github.com/gakonst/ethers-rs/pull/1501)
-- Fix the default config for generated `BuildInfo` [#1458](https://github.com/gakonst/ethers-rs/pull/1458)
-- Allow configuration of the output directory of the generated `BuildInfo` [#1433](https://github.com/gakonst/ethers-rs/pull/1433)
-- capture unknown fields in `Block` and `Transaction` type via new `OtherFields` type [#1423](https://github.com/gakonst/ethers-rs/pull/1423)
-- Methods like `set_to()` from `TypedTransaction` can be chained
-- Use H64 for Block Nonce [#1396](https://github.com/gakonst/ethers-rs/pull/1396)
-- Add `as_*_mut` methods on `TypedTransaction`
-  [#1310](https://github.com/gakonst/ethers-rs/pull/1310)
-- AWS EIP712 data signing no longer signs with EIP155
-- Added Cronos testnet to etherscan options [#1276](https://github.com/gakonst/ethers-rs/pull/1276)
-- Fix parsing of a pending block
-  [#1272](https://github.com/gakonst/ethers-rs/pull/1272)
-- Removed Cronos mainnet beta from `is_legacy` [1246](https://github.com/gakonst/ethers-rs/pull/1246)
-- Fix RLP decoding of `from` field for `Eip1559TransactionRequest` and
-  `Eip2930TransactionRequest`, remove `Eip1559TransactionRequest` `sighash`
-  method [#1180](https://github.com/gakonst/ethers-rs/pull/1180)
-- Fix RLP encoding of absent access list in `Transaction` [1137](https://github.com/gakonst/ethers-rs/pull/1137)
-- Pass compilation time as additional argument to `Reporter::on_solc_success` [#1098](https://github.com/gakonst/ethers-rs/pull/1098)
-- Fix aws signer bug which maps un-normalized signature to error if no normalization occurs (in `aws::utils::decode_signature`)
-- Implement signed transaction RLP decoding [#1096](https://github.com/gakonst/ethers-rs/pull/1096)
-- `Transaction::from` will default to `Address::zero()`. Add `recover_from` and
-  `recover_from_mut` methods for recovering the sender from signature, and also
-  setting the same on tx [#1075](https://github.com/gakonst/ethers-rs/pull/1075).
-- Add Etherscan account API endpoints [#939](https://github.com/gakonst/ethers-rs/pull/939)
-- Add FTM Mainet and testnet to parse method "try_from" from Chain.rs and add cronos mainet and testnet to "from_str"
-- Add FTM mainnet and testnet Multicall addresses [#927](https://github.com/gakonst/ethers-rs/pull/927)
-- Add Cronos mainnet beta and testnet to the list of known chains
-  [#926](https://github.com/gakonst/ethers-rs/pull/926)
-- `Chain::to_string` will return the same chain name as `Chain::from_str`
-- Add `eth_syncing` [#848](https://github.com/gakonst/ethers-rs/pull/848)
-- Fix overflow and possible divide-by-zero in `estimate_priority_fee`
-- Add BSC mainnet and testnet to the list of known chains
-  [#831](https://github.com/gakonst/ethers-rs/pull/831)
-- Returns error on invalid type conversion instead of panicking
-  [#691](https://github.com/gakonst/ethers-rs/pull/691/files)
-- Change types mapping for solidity `bytes` to rust `ethers::core::Bytes` and
-  solidity `uint8[]` to rust `Vec<u8>`.
-  [#613](https://github.com/gakonst/ethers-rs/pull/613)
-- Fix `format_units` to return a `String` of representing a decimal point float
-  such that the decimal places don't get truncated.
-  [#597](https://github.com/gakonst/ethers-rs/pull/597)
-- Implement hex display format for `ethers::core::Bytes`
-  [#624](https://github.com/gakonst/ethers-rs/pull/624).
-- Fix `fee_history` to first try with `block_count` encoded as a hex `QUANTITY`.
-  [#668](https://github.com/gakonst/ethers-rs/pull/668)
-- Fix `fill_transaction` to set nonces in transactions, if the sender is known
-  and no nonce is specified
-- Move `fill_transaction` implementation to the provider, to allow middleware
-  to properly override its behavior.
-- Add informational messages to solc installation and compilation.
-- Significantly refactor `MultiAbigen` module generation. Now allows for lib
-  generation, and does not make unnecessary disk writes.
-  [#854](https://github.com/gakonst/ethers-rs/pull/852)
-- Refactor `ethers-contract-abigen` to use `eyre` instead of `anyhow` via
-  [#858](https://github.com/gakonst/ethers-rs/pull/858)
-- Add `Deployer.send_with_receipt -> Result<(Contract, Receipt), Error>`
-  so that the receipt can be returned to the called when deploying
-  a contract [#865](https://github.com/gakonst/ethers-rs/pull/865)
-- Add Arbitrum mainnet and testnet to the list of known chains
-- Add ENS avatar and TXT records resolution
-  [#889](https://github.com/gakonst/ethers-rs/pull/889)
-- Do not override gas limits provided by an outer middleware when including an EIP-2930 access list
-  [#901](https://github.com/gakonst/ethers-rs/pull/901)
-- Add a getter to `ProjectCompileOutput` that returns a mapping of compiler
-  versions to a vector of name + contract struct tuples
-  [#908](https://github.com/gakonst/ethers-rs/pull/908)
-- Add Yul compilation [#994](https://github.com/gakonst/ethers-rs/pull/994)
-- Enforce commutativity of ENS reverse resolution
-  [#996](https://github.com/gakonst/ethers-rs/pull/996)
-- Add `TransactionReceipt::to` and `TransactionReceipt::from`
-  [#1184](https://github.com/gakonst/ethers-rs/pull/1184)
-- Add `From<H160>` and From<Vec<H160>> traits to `ValueOrArray<H160>` [#1199](https://github.com/gakonst/ethers-rs/pull/1200)
-- Fix handling of Websocket connection errors [#1287](https://github.com/gakonst/ethers-rs/pull/1287)
-- Add Arithmetic Shift Right operation for I256 [#1323](https://github.com/gakonst/ethers-rs/issues/1323)
-- [#1535](https://github.com/gakonst/ethers-rs/pull/1535) Add support to Aurora and Aurora testnet networks.
-- [#1632](https://github.com/gakonst/ethers-rs/pull/1632) Re-export `H32` from `ethabi`.
-- [#1634](https://github.com/gakonst/ethers-rs/pull/1634) Derive missing `Clone`, `Copy` and `Debug` impls in ethers-etherscan.
-- Bytes debug format now displays hex literals [#1658](https://github.com/gakonst/ethers-rs/pull/1658)
-- [#1451](https://github.com/gakonst/ethers-rs/issues/1451) Add Arithmetic Shift Left operation for I256
-- [#1860](https://github.com/gakonst/ethers-rs/pull/1860) Update I256 type documentation calling out the inconsistency
-  between its right shift operator and standard library numeric types.
-- [#842](https://github.com/gakonst/ethers-rs/issues/842) Add support for I256 types in `parse_units` and `format_units`.
-  Added `twos_complement` function for I256.
-- [#1934](https://github.com/gakonst/ethers-rs/pull/1934) Allow 16 calls in multicall.
-- [#1941](https://github.com/gakonst/ethers-rs/pull/1941) Add `add_calls` and `call_array` for `Multicall`.
-- Added basic event log filtering example.
-
-## ethers-contract-abigen
-
-### Unreleased
-
-- Abigen now generates events with new `<B, M>` generic pattern [#2103](https://github.com/gakonst/ethers-rs/pull/2103)
-- Fix Cargo.toml generation issue that could cause dependency conflicts [#1852](https://github.com/gakonst/ethers-rs/pull/1852)
-- Use corresponding rust structs for event fields if they're solidity structs [#1674](https://github.com/gakonst/ethers-rs/pull/1674)
-- Add `ContractFilter` to filter contracts in `MultiAbigen` [#1564](https://github.com/gakonst/ethers-rs/pull/1564)
-- generate error bindings for custom errors [#1549](https://github.com/gakonst/ethers-rs/pull/1549)
-- Support overloaded events
-  [#1233](https://github.com/gakonst/ethers-rs/pull/1233)
-- Relax Clone requirements when Arc<Middleware> is used
-  [#1183](https://github.com/gakonst/ethers-rs/pull/1183)
-- Generate a deploy function if bytecode is provided in the abigen! input (json artifact)
-  [#1030](https://github.com/gakonst/ethers-rs/pull/1030).
-- Generate correct bindings of struct's field names that are reserved words
-  [#989](https://github.com/gakonst/ethers-rs/pull/989).
-- Generate correct binding module names that are reserved words
-  [#1498](https://github.com/gakonst/ethers-rs/pull/1498). Note: this changes
-  generated module names to snake case. For example, `MyContract` is now
-  `my_contract` rather than `mycontract_mod`.
-- The `Cargo.toml` generated by bindings now includes the `abigen` feature on
-  ethers. [#1508](https://github.com/gakonst/ethers-rs/pull/1508)
-- More descriptive contract deserialization errors.
-  [#1633](https://github.com/gakonst/ethers-rs/pull/1633)
-
-### 0.6.0
-
-- Add `MultiAbigen` to generate a series of contract bindings that can be kept in the repo
-  [#724](https://github.com/gakonst/ethers-rs/pull/724).
-- Add provided `event_derives` to call and event enums as well
-  [#721](https://github.com/gakonst/ethers-rs/pull/721).
-- Implement snowtrace and polygonscan on par with the etherscan integration
-  [#666](https://github.com/gakonst/ethers-rs/pull/666).
-
-## ethers-solc
-
-### Unreleased
-
-- Add `OutputContext` to `ArtifactOutput` trait
-  [#1621](https://github.com/gakonst/ethers-rs/pull/1621)
-- On windows all paths in the `ProjectCompilerOutput` are now slashed by default
-  [#1540](https://github.com/gakonst/ethers-rs/pull/1540)
-- `ArtifactOutput::write_extras` now takes the `Artifacts` directly
-  [#1491](https://github.com/gakonst/ethers-rs/pull/1491)
-- Make `ethers-solc` optional dependency of `ethers`, needs `ethers-solc` feature to activate
-  [#1463](https://github.com/gakonst/ethers-rs/pull/1463)
-- Add `rawMetadata:String` field to configurable contract output
-  [#1365](https://github.com/gakonst/ethers-rs/pull/1365)
-- Use relative source paths and `solc --base-path`
-  [#1317](https://github.com/gakonst/ethers-rs/pull/1317)
-- Save cache entry objects with relative paths
-  [#1307](https://github.com/gakonst/ethers-rs/pull/1307)
-- Bundle svm, svm-builds and sha2 dependencies in new `svm-solc` feature
-  [#1071](https://github.com/gakonst/ethers-rs/pull/1071)
-- Emit artifact files for source files without any ContractDefinition
-  [#1296](https://github.com/gakonst/ethers-rs/pull/1296)
-- Wrap `ethabi::Contract` into new type `LosslessAbi` and `abi: Option<Abi>` with `abi: Option<LosslessAbi>` in `ConfigurableContractArtifact`
-  [#952](https://github.com/gakonst/ethers-rs/pull/952)
-- Let `Project` take ownership of `ArtifactOutput` and change trait interface
-  [#907](https://github.com/gakonst/ethers-rs/pull/907)
-- Total revamp of the `Project::compile` pipeline
-  [#802](https://github.com/gakonst/ethers-rs/pull/802)
-  - Support multiple versions of compiled contracts
-  - Breaking: deprecate hardhat cache file compatibility, cache file now tracks artifact paths and their versions
-- Fix flatten replacement target location
-  [#846](https://github.com/gakonst/ethers-rs/pull/846)
-- Fix duplicate files during flattening
-  [#813](https://github.com/gakonst/ethers-rs/pull/813)
-- Add ability to flatten file imports
-  [#774](https://github.com/gakonst/ethers-rs/pull/774)
-- Add dependency graph and resolve all imported libraryfiles
-  [#750](https://github.com/gakonst/ethers-rs/pull/750)
-- `Remapping::find_many` does not return a `Result` anymore
-  [#707](https://github.com/gakonst/ethers-rs/pull/707)
-- Add support for hardhat artifacts
-  [#677](https://github.com/gakonst/ethers-rs/pull/677)
-- Add more utility functions to the `Artifact` trait
-  [#673](https://github.com/gakonst/ethers-rs/pull/673)
-- Return cached artifacts from project `compile` when the cache only contains
-  some files
-- Add support for library linking and make `Bytecode`'s `object` filed an
-  `enum BytecodeObject` [#656](https://github.com/gakonst/ethers-rs/pull/656).
-- Nit: remove accidentally doubled double-quotes in an error message
-- Fix when compiler-out metadata is empty and there's no internalType [#1182](https://github.com/gakonst/ethers-rs/pull/1182)
-- Add basic `solc` model checker options.
-  [#1258](https://github.com/gakonst/ethers-rs/pull/1258)
-
-### 0.6.0
-
-- add `EthAbiCodec` proc macro to derive `AbiEncode` `AbiDecode` implementation
-  [#704](https://github.com/gakonst/ethers-rs/pull/704)
-- move `AbiEncode` `AbiDecode` trait to ethers-core and implement for core types
-  [#531](https://github.com/gakonst/ethers-rs/pull/531)
-- Add EIP-712 `sign_typed_data` signer method; add ethers-core type `Eip712`
-  trait and derive macro in ethers-derive-eip712
-  [#481](https://github.com/gakonst/ethers-rs/pull/481)
-
-### 0.5.3
-
-- Allow configuring the optimizer & passing arbitrary arguments to solc
-  [#427](https://github.com/gakonst/ethers-rs/pull/427)
-- Decimal support for `ethers_core::utils::parse_units`
-  [#463](https://github.com/gakonst/ethers-rs/pull/463)
-- Fixed Wei unit calculation in `Units`
-  [#460](https://github.com/gakonst/ethers-rs/pull/460)
-- Add `ethers_core::utils::get_create2_address_from_hash`
-  [#444](https://github.com/gakonst/ethers-rs/pull/444)
-- Bumped ethabi to 0.15.0 and fixing breaking changes
-  [#469](https://github.com/gakonst/ethers-rs/pull/469),
-  [#448](https://github.com/gakonst/ethers-rs/pull/448),
-  [#445](https://github.com/gakonst/ethers-rs/pull/445)
-
-### 0.5.2
-
-- Correctly RLP Encode transactions as received from the mempool
-  ([#415](https://github.com/gakonst/ethers-rs/pull/415))
-
-## ethers-providers
-
-### Unreleased
-
-- Breaking: WS now includes reconnection logic and a changed `connect`
-  interface. Old behavior can be accessed via the `legacy_ws` feature
-  [#2181](https://github.com/gakonst/ethers-rs/pull/2181)
-- Re-organize the crate. #[2150](https://github.com/gakonst/ethers-rs/pull/2159)
-- Convert provider errors to arbitrary middleware errors
-  [#1920](https://github.com/gakonst/ethers-rs/pull/1920)
-- Add a subset of the `admin` namespace
-  [1880](https://github.com/gakonst/ethers-rs/pull/1880)
-- Return String for net version
-  [1376](https://github.com/gakonst/ethers-rs/pull/1376)
-- Stream of paginated logs that load logs in small pages
-  [1285](https://github.com/gakonst/ethers-rs/pull/1285)
-- Load previous logs before subscribing to new logs in case fromBlock is set
-  [1264](https://github.com/gakonst/ethers-rs/pull/1264)
-- Add retries to the pending transaction future
-  [1221](https://github.com/gakonst/ethers-rs/pull/1221)
-- Add support for basic and bearer authentication in http and non-wasm websockets.
-  [829](https://github.com/gakonst/ethers-rs/pull/829)
-- Export `ethers_providers::IpcError` and `ethers_providers::QuorumError`
-  [1012](https://github.com/gakonst/ethers-rs/pull/1012)
-
-### 0.6.0
-
-- re-export error types for `Http` and `Ws` providers in
-  [#570](https://github.com/gakonst/ethers-rs/pull/570)
-- add a method on the `Middleware` to broadcast a tx with a series of escalating
-  gas prices via [#566](https://github.com/gakonst/ethers-rs/pull/566)
-- Remove unnecessary `Serialize` constraint to `R` (the Response type) in the
-  `request` method of `JsonRpcClient`.
-- Fix `http Provider` data race when generating new request `id`s.
-- Add support for `net_version` RPC method.
-  [595](https://github.com/gakonst/ethers-rs/pull/595)
-- Add support for `evm_snapshot` and `evm_revert` dev RPC methods.
-  [640](https://github.com/gakonst/ethers-rs/pull/640)
-
-### 0.5.3
-
-- Expose `ens` module [#435](https://github.com/gakonst/ethers-rs/pull/435)
-- Add `eth_getProof` [#459](https://github.com/gakonst/ethers-rs/pull/459)
-
-### 0.5.2
-
-- Set resolved ENS name during gas estimation
-  ([1e5a9e](https://github.com/gakonst/ethers-rs/commit/1e5a9efb3c678eecd43d5c341b4932da35445831))
-
-## ethers-signers
-
-### Unreleased
-
-- fix: `LedgerSigner` has improved tracing and a ledger app bug mitigation
-  [#2192](https://github.com/gakonst/ethers-rs/pull/2192)
-- `eth-keystore-rs` crate updated. Allow an optional name for the to-be-generated
-  keystore file [#910](https://github.com/gakonst/ethers-rs/pull/910)
-- [1983](https://github.com/gakonst/ethers-rs/pull/1983) Added a `from_bytes` function for the `Wallet` type.
-- Allow parsing of private key that has `0x` prefix
-  [#2037](https://github.com/gakonst/ethers-rs/pull/2037)
-
-### 0.6.0
-
-- `LocalWallet::new_keystore` now returns a tuple `(LocalWallet, String)`
-  instead of `LocalWallet`, where the string represents the UUID of the newly
-  created encrypted JSON keystore. The JSON keystore is stored as a file
-  `/dir/uuid`. The issue [#557](https://github.com/gakonst/ethers-rs/issues/557)
-  is addressed [#559](https://github.com/gakonst/ethers-rs/pull/559)
-
-## ethers-contract
-
-### Unreleased
-
-- (Breaking) Add `Revert` to `ContractError`. Add `impl EthError for String`.
-  Modify existing `ContractError` variants to prevent accidental improper
-  usage. Change `MulticallError` to use `ContractError::Revert`. Add
-  convenience methods to decode errors from reverts.
-  [#2172](https://github.com/gakonst/ethers-rs/pull/2172)
-- (Breaking) Improve Multicall result handling
-  [#2164](https://github.com/gakonst/ethers-rs/pull/2105)
-- (Breaking) Make `Event` objects generic over borrow & remove lifetime
-  [#2105](https://github.com/gakonst/ethers-rs/pull/2105)
-- Make `Factory` objects generic over the borrow trait, to allow non-arc mware
-  [#2103](https://github.com/gakonst/ethers-rs/pull/2103)
-- Make `Contract` objects generic over the borrow trait, to allow non-arc mware
-  [#2082](https://github.com/gakonst/ethers-rs/pull/2082)
-- Return pending transaction from `Multicall::send`
-  [#2044](https://github.com/gakonst/ethers-rs/pull/2044)
-- Add abigen to default features
-  [#1684](https://github.com/gakonst/ethers-rs/pull/1684)
-- Add extra Multicall helper methods
-  [#1666](https://github.com/gakonst/ethers-rs/pull/1666)
-- Update Multicall to Multicall3
-  [#1584](https://github.com/gakonst/ethers-rs/pull/1584)
-- Add `Event::stream_with_meta` and `Event::subscribe_with_meta`
-  [#1483](https://github.com/gakonst/ethers-rs/pull/1483)
-- Added tx builder methods to `ContractFactory`
-  [#1289](https://github.com/gakonst/ethers-rs/pull/1289)
-- Relax Clone requirements when Arc<Middleware> is used
-  [#1183](https://github.com/gakonst/ethers-rs/pull/1183)
-- Add `EventStream::select` to combine streams with different event types
-  [#725](https://github.com/gakonst/ethers-rs/pull/725)
-- Substitute output tuples with rust struct types for function calls
-  [#664](https://github.com/gakonst/ethers-rs/pull/664)
-- Add AbiType implementation during EthAbiType expansion
-  [#647](https://github.com/gakonst/ethers-rs/pull/647)
-- fix Etherscan conditional HTTP support
-  [#632](https://github.com/gakonst/ethers-rs/pull/632)
-- use `CARGO_MANIFEST_DIR` as root for relative paths in abigen
-  [#631](https://github.com/gakonst/ethers-rs/pull/631)
-
-### 0.6.0
-
-- Provide a way to opt out of networking support in abigen proc macro with
-  `abigen-offline` feature [#580](https://github.com/gakonst/ethers-rs/pull/580)
-- Add `.call()` method to `Deployer` for performing dry runs of contract
-  deployments. [#554](https://github.com/gakonst/ethers-rs/pull/554)
-- Improve error message from failure in `ethers_contract_abigen::Source::parse`
-  [#552](https://github.com/gakonst/ethers-rs/pull/552)
-- use enumerated aliases for overloaded functions
-  [#545](https://github.com/gakonst/ethers-rs/pull/545)
-- add `EthCall` trait and derive macro which generates matching structs for
-  contract calls [#517](https://github.com/gakonst/ethers-rs/pull/517)
-- Use rust types as contract function inputs for human readable abi
-  [#482](https://github.com/gakonst/ethers-rs/pull/482)
-- `abigen!` now generates `Display` for all events using the new `EthDisplay`
-  macro [#513](https://github.com/gakonst/ethers-rs/pull/513)
-- `abigen!` now supports overloaded functions natively
-  [#501](https://github.com/gakonst/ethers-rs/pull/501)
-- `abigen!` now supports multiple contracts
-  [#498](https://github.com/gakonst/ethers-rs/pull/498)
-
-### Unreleased
-
-### 0.5.3
-
-- (De)Tokenize structs and events with only a single field as `Token:Tuple`
-  ([#417](https://github.com/gakonst/ethers-rs/pull/417))
-
-## ethers-middleware
-
-### Unreleased
-
-- Added `openssl` and `rustls` feature flags
-  [#1961](https://github.com/gakonst/ethers-rs/pull/1961)
-- Relax Clone requirements when Arc<Middleware> is used
-  [#1183](https://github.com/gakonst/ethers-rs/pull/1183)
-- Ensure a consistent chain ID between a Signer and Provider in SignerMiddleware
-  [#1095](https://gakonst/ethers-rs/pull/1095)
-- Add BlockNative gas oracle [#1175](https://github.com/gakonst/ethers-rs/pull/1175)
-
-### 0.6.0
-
-- add the missing constructor for `Timelag` middleware via
-  [#568](https://github.com/gakonst/ethers-rs/pull/568)
-- Removes GasNow as a gas price oracle
-  [#508](https://github.com/gakonst/ethers-rs/pull/508)
-- add initialize_nonce public function to initialize NonceMiddleManager
-
-### 0.5.3
-
-- Added Time Lagged middleware
-  [#457](https://github.com/gakonst/ethers-rs/pull/457)
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+This changelog is automatically generated by [git-cliff](https://github.com/orhun/git-cliff).
+Please do not manually edit this file.
+
+## [Unreleased]
+
+### Bug Fixes
+
+- Accept ethlive as a chain name ([#2268](https://github.com/gakonst/ethers-rs/issues/2268))
+- Fix missing ident # ([#2267](https://github.com/gakonst/ethers-rs/issues/2267))
+- Support null result ([#2249](https://github.com/gakonst/ethers-rs/issues/2249))
+- Ensure flatten target is part of graph ([#2256](https://github.com/gakonst/ethers-rs/issues/2256))
+- Dont poll stream again if done ([#2245](https://github.com/gakonst/ethers-rs/issues/2245))
+- Docsrs builds final ([#2235](https://github.com/gakonst/ethers-rs/issues/2235))
+- Docs.rs build ([#2221](https://github.com/gakonst/ethers-rs/issues/2221))
+- Change windows target ABI ([#2230](https://github.com/gakonst/ethers-rs/issues/2230))
+- Init guard in noncemanager ([#2227](https://github.com/gakonst/ethers-rs/issues/2227))
+- Parse_log in public interface ([#2228](https://github.com/gakonst/ethers-rs/issues/2228))
+- Allow MIT-0, allow CC0-1.0 exceptions ([#2212](https://github.com/gakonst/ethers-rs/issues/2212))
+- Udeps ([#2215](https://github.com/gakonst/ethers-rs/issues/2215))
+- Set miner.etherbase in clique mode ([#2210](https://github.com/gakonst/ethers-rs/issues/2210))
+- Examples ([#2207](https://github.com/gakonst/ethers-rs/issues/2207))
+- Properly parse genesis alloc storage ([#2205](https://github.com/gakonst/ethers-rs/issues/2205))
+- I256 docs ([#2187](https://github.com/gakonst/ethers-rs/issues/2187))
+- Builtin trait derives ([#2170](https://github.com/gakonst/ethers-rs/issues/2170))
+- Block FromStr implementation ([#2155](https://github.com/gakonst/ethers-rs/issues/2155))
+- Use event name from abi attribute ([#2144](https://github.com/gakonst/ethers-rs/issues/2144))
+- Report all errors during parsing ([#2149](https://github.com/gakonst/ethers-rs/issues/2149))
+- Examples ([#2153](https://github.com/gakonst/ethers-rs/issues/2153))
+- Test hive genesis parsing ([#2145](https://github.com/gakonst/ethers-rs/issues/2145))
+- Process all imports even input files ([#2136](https://github.com/gakonst/ethers-rs/issues/2136))
+- Fix autodetection edge case ([#2099](https://github.com/gakonst/ethers-rs/issues/2099))
+- Add cfg to IntoFuture preventing Send ([#2086](https://github.com/gakonst/ethers-rs/issues/2086))
+- Use middleware associated err type ([#2093](https://github.com/gakonst/ethers-rs/issues/2093))
+- Add Send bound to return type of JsonRpcClient::request ([#2072](https://github.com/gakonst/ethers-rs/issues/2072))
+- Add getrandom with js feature for wasm ([#2076](https://github.com/gakonst/ethers-rs/issues/2076))
+- Add missing pub for tuple structs ([#2080](https://github.com/gakonst/ethers-rs/issues/2080))
+- Ensure urls have trailing / ([#2069](https://github.com/gakonst/ethers-rs/issues/2069))
+- Fix geth --init temp dir race condition ([#2068](https://github.com/gakonst/ethers-rs/issues/2068))
+- Default to Ascii for windows / Utf8 otherwise ([#2060](https://github.com/gakonst/ethers-rs/issues/2060))
+- Add missing ir option ([#2055](https://github.com/gakonst/ethers-rs/issues/2055))
+- Add back mod util
+- Fixed issue#2004 parsing solc verison with trailing newlines ([#2005](https://github.com/gakonst/ethers-rs/issues/2005))
+- Failing can_autodetect_dirs solc test ([#1895](https://github.com/gakonst/ethers-rs/issues/1895)) ([#2052](https://github.com/gakonst/ethers-rs/issues/2052))
+- Ensure correct ABI in `From` impl ([#2036](https://github.com/gakonst/ethers-rs/issues/2036))
+- Revert to old version ([#2048](https://github.com/gakonst/ethers-rs/issues/2048))
+- Signer test ([#2028](https://github.com/gakonst/ethers-rs/issues/2028))
+- Tests ([#2015](https://github.com/gakonst/ethers-rs/issues/2015))
+- Doctests ([#2007](https://github.com/gakonst/ethers-rs/issues/2007))
+- Use full path of i256 ([#2000](https://github.com/gakonst/ethers-rs/issues/2000))
+- Doc typo regarding Multicall::call_array ([#1985](https://github.com/gakonst/ethers-rs/issues/1985))
+- Deprecated gas oracle ([#1986](https://github.com/gakonst/ethers-rs/issues/1986))
+- Gwei wei wrong u256 constant ([#1992](https://github.com/gakonst/ethers-rs/issues/1992))
+- Don't override user-set 1559 attributes ([#1980](https://github.com/gakonst/ethers-rs/issues/1980))
+- Reexport SourceLocation ([#1971](https://github.com/gakonst/ethers-rs/issues/1971))
+- Reexport some ast types again ([#1968](https://github.com/gakonst/ethers-rs/issues/1968))
+- Add setter for MultiBindings' rustfmt ([#1948](https://github.com/gakonst/ethers-rs/issues/1948))
+- Source code serde ([#1962](https://github.com/gakonst/ethers-rs/issues/1962))
+- Ethers-etherscan solc feature ([#1965](https://github.com/gakonst/ethers-rs/issues/1965))
+- Rebase to master for onbjerg's ast ([#1943](https://github.com/gakonst/ethers-rs/issues/1943))
+- Add `openssl` and `rustls` feature flags in ethers-middleware ([#1961](https://github.com/gakonst/ethers-rs/issues/1961))
+- Oracles, tests ([#1944](https://github.com/gakonst/ethers-rs/issues/1944))
+- Bump in .clippy.toml and add a comment in root Cargo.toml ([#1945](https://github.com/gakonst/ethers-rs/issues/1945))
+- Decode to correctly in Transaction ([#1946](https://github.com/gakonst/ethers-rs/issues/1946))
+- Allow 16 calls in multicall ([#1934](https://github.com/gakonst/ethers-rs/issues/1934))
+- Set `GethInstance` p2p_port in spawn ([#1933](https://github.com/gakonst/ethers-rs/issues/1933))
+- Remove `OpCode` enum and update `VMOperation`'s `op` field type ([#1904](https://github.com/gakonst/ethers-rs/issues/1904))
+- Always set p2p port in non-dev mode ([#1919](https://github.com/gakonst/ethers-rs/issues/1919))
+- Make version  detection infallible ([#1916](https://github.com/gakonst/ethers-rs/issues/1916))
+- Multicall decode error ([#1907](https://github.com/gakonst/ethers-rs/issues/1907))
+- Rm wrong brackets ([#1914](https://github.com/gakonst/ethers-rs/issues/1914))
+- Txpool_inspect unable to parse contract creations ([#1905](https://github.com/gakonst/ethers-rs/issues/1905))
+
+### Depedencies
+
+- Bump and use workspace dependencies ([#2222](https://github.com/gakonst/ethers-rs/issues/2222))
+- Bump crypto deps ([#2260](https://github.com/gakonst/ethers-rs/issues/2260))
+- Bump enr from 0.7.0 to 0.8.0 ([#2255](https://github.com/gakonst/ethers-rs/issues/2255))
+- Bump futures-executor from 0.3.26 to 0.3.27 ([#2250](https://github.com/gakonst/ethers-rs/issues/2250))
+- Bump semver from 1.0.16 to 1.0.17 ([#2251](https://github.com/gakonst/ethers-rs/issues/2251))
+- Bump proc-macro2 from 1.0.51 to 1.0.52 ([#2252](https://github.com/gakonst/ethers-rs/issues/2252))
+- Bump futures-util from 0.3.26 to 0.3.27 ([#2253](https://github.com/gakonst/ethers-rs/issues/2253))
+- Bump chrono from 0.4.23 to 0.4.24 ([#2254](https://github.com/gakonst/ethers-rs/issues/2254))
+- Bump coins-bip39 to 0.8.1 and coins-bip32 to 0.8.0 ([#2246](https://github.com/gakonst/ethers-rs/issues/2246))
+- Bump rayon from 1.6.1 to 1.7.0 ([#2233](https://github.com/gakonst/ethers-rs/issues/2233))
+- Bump serde_path_to_error from 0.1.9 to 0.1.10 ([#2232](https://github.com/gakonst/ethers-rs/issues/2232))
+- Bump thiserror from 1.0.38 to 1.0.39 ([#2234](https://github.com/gakonst/ethers-rs/issues/2234))
+- Improve CI jobs and tests ([#2189](https://github.com/gakonst/ethers-rs/issues/2189))
+- Build without deps ([#2196](https://github.com/gakonst/ethers-rs/issues/2196))
+- Bump tempfile from 3.3.0 to 3.4.0 ([#2200](https://github.com/gakonst/ethers-rs/issues/2200))
+- Bump auto_impl from 0.5.0 to 1.0.1 ([#2201](https://github.com/gakonst/ethers-rs/issues/2201))
+- Bump syn from 1.0.108 to 1.0.109 ([#2202](https://github.com/gakonst/ethers-rs/issues/2202))
+- Bump num_enum from 0.5.10 to 0.5.11 ([#2184](https://github.com/gakonst/ethers-rs/issues/2184))
+- Bump svm ([#2185](https://github.com/gakonst/ethers-rs/issues/2185))
+- Bump syn from 1.0.107 to 1.0.108 ([#2178](https://github.com/gakonst/ethers-rs/issues/2178))
+- Bump svm-rs ([#2179](https://github.com/gakonst/ethers-rs/issues/2179))
+- Make order of types in shared_types deterministic ([#2169](https://github.com/gakonst/ethers-rs/issues/2169))
+- Bump num_enum from 0.5.9 to 0.5.10 ([#2168](https://github.com/gakonst/ethers-rs/issues/2168))
+- Bump http from 0.2.8 to 0.2.9 ([#2167](https://github.com/gakonst/ethers-rs/issues/2167))
+- Bump once_cell from 1.17.0 to 1.17.1 ([#2156](https://github.com/gakonst/ethers-rs/issues/2156))
+- Bump coins-ledger from 0.7.0 to 0.7.1 ([#2139](https://github.com/gakonst/ethers-rs/issues/2139))
+- Bump fs_extra from 1.2.0 to 1.3.0 ([#2118](https://github.com/gakonst/ethers-rs/issues/2118))
+- Bump proc-macro2 from 1.0.50 to 1.0.51 ([#2117](https://github.com/gakonst/ethers-rs/issues/2117))
+- Bump wasm-bindgen-test from 0.3.33 to 0.3.34 ([#2111](https://github.com/gakonst/ethers-rs/issues/2111))
+- Bump solc test 0.8.18 ([#2113](https://github.com/gakonst/ethers-rs/issues/2113))
+- Bump wasm-bindgen-futures from 0.4.33 to 0.4.34 ([#2108](https://github.com/gakonst/ethers-rs/issues/2108))
+- Bump web-sys from 0.3.60 to 0.3.61 ([#2106](https://github.com/gakonst/ethers-rs/issues/2106))
+- Bump svm crates ([#2110](https://github.com/gakonst/ethers-rs/issues/2110))
+- Bump cargo_metadata from 0.15.2 to 0.15.3 ([#2101](https://github.com/gakonst/ethers-rs/issues/2101))
+- Bump bytes from 1.3.0 to 1.4.0 ([#2100](https://github.com/gakonst/ethers-rs/issues/2100))
+- Bump ws_stream_wasm from 0.7.3 to 0.7.4 ([#2092](https://github.com/gakonst/ethers-rs/issues/2092))
+- Bump futures-executor from 0.3.25 to 0.3.26 ([#2096](https://github.com/gakonst/ethers-rs/issues/2096))
+- Bump futures-util from 0.3.25 to 0.3.26 ([#2097](https://github.com/gakonst/ethers-rs/issues/2097))
+- Bump reqwest from 0.11.13 to 0.11.14 ([#2065](https://github.com/gakonst/ethers-rs/issues/2065))
+- Bump num_enum from 0.5.7 to 0.5.9 ([#2073](https://github.com/gakonst/ethers-rs/issues/2073))
+- Bump proc-macro2 from 1.0.49 to 1.0.50 ([#2061](https://github.com/gakonst/ethers-rs/issues/2061))
+- Bump solang-parser 0.2.1 ([#2054](https://github.com/gakonst/ethers-rs/issues/2054))
+- Bump svm-rs ([#2051](https://github.com/gakonst/ethers-rs/issues/2051))
+- Bump criterion from 0.3.6 to 0.4.0 ([#2050](https://github.com/gakonst/ethers-rs/issues/2050))
+- Bump regex from 1.7.0 to 1.7.1 ([#2034](https://github.com/gakonst/ethers-rs/issues/2034))
+- Bump num_enum from 0.5.7 to 0.5.8 ([#2035](https://github.com/gakonst/ethers-rs/issues/2035))
+- Bump bzip2 from 0.4.3 to 0.4.4 ([#2040](https://github.com/gakonst/ethers-rs/issues/2040))
+- Bump base64 from 0.20.0 to 0.21.0 ([#2030](https://github.com/gakonst/ethers-rs/issues/2030))
+- Bump glob from 0.3.0 to 0.3.1 ([#2031](https://github.com/gakonst/ethers-rs/issues/2031))
+- Bump once_cell from 1.16.0 to 1.17.0 ([#1987](https://github.com/gakonst/ethers-rs/issues/1987))
+- Examples ([#1940](https://github.com/gakonst/ethers-rs/issues/1940))
+- Bump serde_path_to_error from 0.1.8 to 0.1.9 ([#1969](https://github.com/gakonst/ethers-rs/issues/1969))
+- Bump proc-macro2 from 1.0.47 to 1.0.49 ([#1951](https://github.com/gakonst/ethers-rs/issues/1951))
+- Bump thiserror from 1.0.37 to 1.0.38 ([#1950](https://github.com/gakonst/ethers-rs/issues/1950))
+- Bump semver from 1.0.14 to 1.0.16 ([#1952](https://github.com/gakonst/ethers-rs/issues/1952))
+- Bump syn from 1.0.105 to 1.0.107 ([#1953](https://github.com/gakonst/ethers-rs/issues/1953))
+- Bump serial_test from 0.9.0 to 0.10.0 ([#1954](https://github.com/gakonst/ethers-rs/issues/1954))
+- Bump num_cpus from 1.14.0 to 1.15.0 ([#1959](https://github.com/gakonst/ethers-rs/issues/1959))
+- Bump base64 from 0.13.1 to 0.20.0 ([#1935](https://github.com/gakonst/ethers-rs/issues/1935))
+- Bump rayon from 1.6.0 to 1.6.1 ([#1936](https://github.com/gakonst/ethers-rs/issues/1936))
+- Bump futures-locks from 0.7.0 to 0.7.1 ([#1930](https://github.com/gakonst/ethers-rs/issues/1930))
+- Bump syn from 1.0.104 to 1.0.105 ([#1918](https://github.com/gakonst/ethers-rs/issues/1918))
+- Bump tokio-tungstenite from 0.17.2 to 0.18.0 ([#1908](https://github.com/gakonst/ethers-rs/issues/1908))
+- Bump chrono from 0.4.20 to 0.4.23 ([#1900](https://github.com/gakonst/ethers-rs/issues/1900))
+- Bump syn from 1.0.103 to 1.0.104 ([#1901](https://github.com/gakonst/ethers-rs/issues/1901))
+
+### Documentation
+
+- Fix broken links, update documentation ([#2203](https://github.com/gakonst/ethers-rs/issues/2203))
+- Update providers book and examples ([#2098](https://github.com/gakonst/ethers-rs/issues/2098))
+- Rename `event_derives` to `derives` ([#2018](https://github.com/gakonst/ethers-rs/issues/2018))
+- Mock-provider ([#2011](https://github.com/gakonst/ethers-rs/issues/2011))
+- Add rw/quorum provider
+- Mdbook ([#1994](https://github.com/gakonst/ethers-rs/issues/1994))
+- Fixed typos in rw client docs ([#1957](https://github.com/gakonst/ethers-rs/issues/1957))
+- Update MRSV to 1.64 ([#1926](https://github.com/gakonst/ethers-rs/issues/1926))
+
+### Features
+
+- Roundtrip serde + to/from strings ([#2270](https://github.com/gakonst/ethers-rs/issues/2270))
+- Support empty events ([#2263](https://github.com/gakonst/ethers-rs/issues/2263))
+- Add implementations to Opcode ([#2243](https://github.com/gakonst/ethers-rs/issues/2243))
+- Add Boba chain ([#2236](https://github.com/gakonst/ethers-rs/issues/2236))
+- Deseralize other fields on tx receipts ([#2209](https://github.com/gakonst/ethers-rs/issues/2209))
+- Contract revert trait ([#2182](https://github.com/gakonst/ethers-rs/issues/2182))
+- Add filecoin chains ([#2177](https://github.com/gakonst/ethers-rs/issues/2177))
+- Add is_empty fn for structs of Options ([#2195](https://github.com/gakonst/ethers-rs/issues/2195))
+- Use binaries.soliditylang.org ([#2198](https://github.com/gakonst/ethers-rs/issues/2198))
+- Improve I256 implementation ([#2180](https://github.com/gakonst/ethers-rs/issues/2180))
+- Improve Multicall result handling ([#2164](https://github.com/gakonst/ethers-rs/issues/2164))
+- Add debug for geth default api ([#2140](https://github.com/gakonst/ethers-rs/issues/2140))
+- Add basic event filtering example ([#2137](https://github.com/gakonst/ethers-rs/issues/2137))
+- Extend model checker setting field ([#2123](https://github.com/gakonst/ethers-rs/issues/2123))
+- Add support for Geth built-in tracer and config ([#2121](https://github.com/gakonst/ethers-rs/issues/2121))
+- Allow signature to recover typed_data payloads ([#2120](https://github.com/gakonst/ethers-rs/issues/2120))
+- Packed encoding ([#2104](https://github.com/gakonst/ethers-rs/issues/2104))
+- Add DerefMut for OtherFields ([#2109](https://github.com/gakonst/ethers-rs/issues/2109))
+- Add support for js tracer to geth trace, fix different return types ([#2064](https://github.com/gakonst/ethers-rs/issues/2064))
+- More type parsing ([#2095](https://github.com/gakonst/ethers-rs/issues/2095))
+- Add convenience impl From Log ([#2087](https://github.com/gakonst/ethers-rs/issues/2087))
+- Expose genesis and private key in Geth ([#2091](https://github.com/gakonst/ethers-rs/issues/2091))
+- Support emitting bytecode as extra files ([#2074](https://github.com/gakonst/ethers-rs/issues/2074))
+- Add helper functions to access solidity types ([#2081](https://github.com/gakonst/ethers-rs/issues/2081))
+- Allow `ClientBuilder` to create `Client` without API key ([#2067](https://github.com/gakonst/ethers-rs/issues/2067))
+- Enable Clique mode  ([#2063](https://github.com/gakonst/ethers-rs/issues/2063))
+- Switch shanghaiBlock to shanghaiTime ([#2049](https://github.com/gakonst/ethers-rs/issues/2049))
+- Use u64 and add more chains to multicall ([#2042](https://github.com/gakonst/ethers-rs/issues/2042))
+- Allow parsing of private key that has `0x` prefix ([#2037](https://github.com/gakonst/ethers-rs/issues/2037))
+- Return multicall pending transaction ([#2044](https://github.com/gakonst/ethers-rs/issues/2044))
+- Add `strum::EnumIter` and `strum::EnumCount` to `Chain` ([#2043](https://github.com/gakonst/ethers-rs/issues/2043))
+- Use prettyplease ([#2027](https://github.com/gakonst/ethers-rs/issues/2027))
+- Support parsing bytecode from evm object ([#2024](https://github.com/gakonst/ethers-rs/issues/2024))
+- Add arbitrum nova api and chain id 42170 ([#2020](https://github.com/gakonst/ethers-rs/issues/2020))
+- Support personal account apis ([#2009](https://github.com/gakonst/ethers-rs/issues/2009))
+- Add ability to take geth stderr ([#2010](https://github.com/gakonst/ethers-rs/issues/2010))
+- Add mining related apis ([#2008](https://github.com/gakonst/ethers-rs/issues/2008))
+- Windows ipc provider (named pipe) ([#1976](https://github.com/gakonst/ethers-rs/issues/1976))
+- Improve error on case mismatch ([#1998](https://github.com/gakonst/ethers-rs/issues/1998))
+- Improve `determine_ethers_crates` ([#1988](https://github.com/gakonst/ethers-rs/issues/1988))
+- Expose all genesis related structs ([#1975](https://github.com/gakonst/ethers-rs/issues/1975))
+- Debug_traceCall ([#1949](https://github.com/gakonst/ethers-rs/issues/1949))
+- Chain macros and impls ([#1958](https://github.com/gakonst/ethers-rs/issues/1958))
+- Adds bscscan as abi source ([#1955](https://github.com/gakonst/ethers-rs/issues/1955))
+- Make geth executable configurable ([#1947](https://github.com/gakonst/ethers-rs/issues/1947))
+- Add_calls and call_array for multicall ([#1941](https://github.com/gakonst/ethers-rs/issues/1941))
+- Add infura error code to retry detection ([#1921](https://github.com/gakonst/ethers-rs/issues/1921))
+- Impl Serialize for Chain ([#1917](https://github.com/gakonst/ethers-rs/issues/1917))
+- Providererror conversion to middleware error ([#1920](https://github.com/gakonst/ethers-rs/issues/1920))
+- Add a subset of admin namespace ([#1880](https://github.com/gakonst/ethers-rs/issues/1880))
+- Chain impls and refactoring ([#1909](https://github.com/gakonst/ethers-rs/issues/1909))
+- Check for serde error with missing req id ([#1910](https://github.com/gakonst/ethers-rs/issues/1910))
+
+### Miscellaneous Tasks
+
+- Make clippy happy ([#2264](https://github.com/gakonst/ethers-rs/issues/2264))
+- Allow clippy false positive ([#2259](https://github.com/gakonst/ethers-rs/issues/2259))
+- Add more cache traces ([#2248](https://github.com/gakonst/ethers-rs/issues/2248))
+- Add some docs and impl debug ([#2219](https://github.com/gakonst/ethers-rs/issues/2219))
+- Replace rpc urls with generic ones ([#2199](https://github.com/gakonst/ethers-rs/issues/2199))
+- Move etherscan api key env var matching to Chain enum ([#2204](https://github.com/gakonst/ethers-rs/issues/2204))
+- Top-up testnet wallets
+- Added canto network ([#2171](https://github.com/gakonst/ethers-rs/issues/2171))
+- Add .git-blame-ignore-revs ([#2157](https://github.com/gakonst/ethers-rs/issues/2157))
+- Remove unused generic
+- Use arbiscan urls for arbitrum goerli ([#2127](https://github.com/gakonst/ethers-rs/issues/2127))
+- Add etherscan page not found error ([#2126](https://github.com/gakonst/ethers-rs/issues/2126))
+- Fix bare urls in abigen ([#2133](https://github.com/gakonst/ethers-rs/issues/2133))
+- Add convenient from impls ([#2112](https://github.com/gakonst/ethers-rs/issues/2112))
+- Add cloudflare captcha error ([#2116](https://github.com/gakonst/ethers-rs/issues/2116))
+- Fix custom provider example
+- Fix ci
+- Fix clippy ([#2059](https://github.com/gakonst/ethers-rs/issues/2059))
+- Do not expose util module
+- Derive default for enums
+- Clippy ([#2032](https://github.com/gakonst/ethers-rs/issues/2032))
+- Alias&export error as ParseChainError ([#2022](https://github.com/gakonst/ethers-rs/issues/2022))
+- Update all rust editions to 2021 ([#1979](https://github.com/gakonst/ethers-rs/issues/1979))
+- Clippy ([#1990](https://github.com/gakonst/ethers-rs/issues/1990))
+- Clippy
+- Gitignore .pre-commit-config.yaml ([#1973](https://github.com/gakonst/ethers-rs/issues/1973))
+- Rm broken pre commit yaml ([#1972](https://github.com/gakonst/ethers-rs/issues/1972))
+- Make clippy happy ([#1923](https://github.com/gakonst/ethers-rs/issues/1923))
+- Generate selector as hex in docs ([#1924](https://github.com/gakonst/ethers-rs/issues/1924))
+
+### Other
+
+- Fix logical errors in doc comments for is_negative and is_zero ([#2218](https://github.com/gakonst/ethers-rs/issues/2218))
+- Solang-parser 0.2.3 ([#2229](https://github.com/gakonst/ethers-rs/issues/2229))
+- Reconnection & Request Reissuance ([#2181](https://github.com/gakonst/ethers-rs/issues/2181))
+- // to https:// on Celo link ([#2193](https://github.com/gakonst/ethers-rs/issues/2193))
+- Workaround for https://github.com/LedgerHQ/app-ethereum/issues/409 ([#2192](https://github.com/gakonst/ethers-rs/issues/2192))
+- Organize ethers-providers ([#2159](https://github.com/gakonst/ethers-rs/issues/2159))
+- Include deployed bytecode in abigen output  ([#2163](https://github.com/gakonst/ethers-rs/issues/2163))
+- Use Option for CliqueConfig fields ([#2162](https://github.com/gakonst/ethers-rs/issues/2162))
+- Prestwich/event no lifetime ([#2105](https://github.com/gakonst/ethers-rs/issues/2105))
+- Extend model checker options ([#2147](https://github.com/gakonst/ethers-rs/issues/2147))
+- Add human readable ABI example in documentation ([#2148](https://github.com/gakonst/ethers-rs/issues/2148))
+- Allow upper case acronyms lint ([#2128](https://github.com/gakonst/ethers-rs/issues/2128))
+- Use pascal casing for type names in structs generated by abigen ([#2130](https://github.com/gakonst/ethers-rs/issues/2130))
+- Solang-parser 0.2.2 ([#2135](https://github.com/gakonst/ethers-rs/issues/2135))
+- Refactor factories to use `Borrow<M>` ([#2103](https://github.com/gakonst/ethers-rs/issues/2103))
+- Book - Providers Chapter ([#2023](https://github.com/gakonst/ethers-rs/issues/2023))
+- Remove EthAbiType derive generated unwrap ([#2056](https://github.com/gakonst/ethers-rs/issues/2056))
+- Book - Middleware Chapter ([#2033](https://github.com/gakonst/ethers-rs/issues/2033))
+- Fix deserializing contract creation NormalTransaction objects ([#2029](https://github.com/gakonst/ethers-rs/issues/2029))
+- Mx - CI - mdbook addons - admonition(callouts) and mermaid (code driven diagrams) with example implementation ([#2025](https://github.com/gakonst/ethers-rs/issues/2025))
+- Disable native-tls on rusoto ([#2021](https://github.com/gakonst/ethers-rs/issues/2021))
+- Fix nonce manager test ([#2014](https://github.com/gakonst/ethers-rs/issues/2014))
+- Remove current nonce load when initialized ([#2013](https://github.com/gakonst/ethers-rs/issues/2013))
+- Abigen adopt hardhat generated bytecode ([#2012](https://github.com/gakonst/ethers-rs/issues/2012))
+- Build/deploy book
+- Delete book.yml
+- Mdbook ([#2003](https://github.com/gakonst/ethers-rs/issues/2003))
+- Sighash on the inner/updated tx object ([#1977](https://github.com/gakonst/ethers-rs/issues/1977))
+- Added `from_bytes` for `Wallet` type ([#1983](https://github.com/gakonst/ethers-rs/issues/1983))
+- (docs): add clippy command ([#1967](https://github.com/gakonst/ethers-rs/issues/1967))
+- Init devenv, gitignore .nlsp-settings ([#1942](https://github.com/gakonst/ethers-rs/issues/1942))
+- Added new checkbox to the PR checklist ([#1937](https://github.com/gakonst/ethers-rs/issues/1937))
+- Added new line were missing ([#1928](https://github.com/gakonst/ethers-rs/issues/1928))
+- Fix Dead Link to abigen test in README ([#1929](https://github.com/gakonst/ethers-rs/issues/1929))
+- Change awsSigner to own kmsclient ([#1922](https://github.com/gakonst/ethers-rs/issues/1922))
+- Middleware library ([#1912](https://github.com/gakonst/ethers-rs/issues/1912))
+
+### Performance
+
+- Wrap source content in Arc ([#2138](https://github.com/gakonst/ethers-rs/issues/2138))
+- Avoid unnecessary allocations ([#2046](https://github.com/gakonst/ethers-rs/issues/2046))
+
+### Refactor
+
+- Keep and use parsed spans ([#2247](https://github.com/gakonst/ethers-rs/issues/2247))
+- Derives, struct expansion ([#2160](https://github.com/gakonst/ethers-rs/issues/2160))
+- Derive procedural macros ([#2152](https://github.com/gakonst/ethers-rs/issues/2152))
+- Solidity types expansion ([#2131](https://github.com/gakonst/ethers-rs/issues/2131))
+- Make contract abstract over Borrow ([#2082](https://github.com/gakonst/ethers-rs/issues/2082))
+- Inline docs ([#2090](https://github.com/gakonst/ethers-rs/issues/2090))
+- Add bytes::Bytes static methods, refactor struct declaration ([#2089](https://github.com/gakonst/ethers-rs/issues/2089))
+- Source ([#2016](https://github.com/gakonst/ethers-rs/issues/2016))
+- Abigen, ContractBindings ([#2019](https://github.com/gakonst/ethers-rs/issues/2019))
+
+### Styling
+
+- Fix fmt from master
+- Expose contract revert errors in the ContractError struct ([#2172](https://github.com/gakonst/ethers-rs/issues/2172))
+- Run rustfmt ([#2176](https://github.com/gakonst/ethers-rs/issues/2176))
+- Fmt
+- Fmt
+- Make ContractCall IntoFuture implement Send ([#2083](https://github.com/gakonst/ethers-rs/issues/2083))
+- Fix to round-trip serialize and deserialize optional address ([#2057](https://github.com/gakonst/ethers-rs/issues/2057))
+- Use sepolia ([#1989](https://github.com/gakonst/ethers-rs/issues/1989))
+- Add celo chain ([#1932](https://github.com/gakonst/ethers-rs/issues/1932))
+- Handle panic on Ws error  ([#1915](https://github.com/gakonst/ethers-rs/issues/1915))
+- Feat middleware stack builder ([#1890](https://github.com/gakonst/ethers-rs/issues/1890))
+
+### Testing
+
+- Simplify test cleanup ([#2220](https://github.com/gakonst/ethers-rs/issues/2220))
+- Add parse pk test ([#2194](https://github.com/gakonst/ethers-rs/issues/2194))
+- Disable signer integration tests temporarily
+
+## [1.0.2] - 2022-11-27
+
+### Bug Fixes
+
+- Format_units overflow ([#1894](https://github.com/gakonst/ethers-rs/issues/1894))
+- Close example subscriptions after 2 emitted items ([#1892](https://github.com/gakonst/ethers-rs/issues/1892))
+- Handle non existing Cargo.toml edge case ([#1886](https://github.com/gakonst/ethers-rs/issues/1886))
+- Mock ethers mod layout ([#1884](https://github.com/gakonst/ethers-rs/issues/1884))
+- Make compatible with older rust versions ([#1868](https://github.com/gakonst/ethers-rs/issues/1868))
+- Generated crate not using generated version ([#1852](https://github.com/gakonst/ethers-rs/issues/1852))
+- Updated logs event filtering for examples with new syntax ([#1861](https://github.com/gakonst/ethers-rs/issues/1861))
+- Better retry timing ([#1855](https://github.com/gakonst/ethers-rs/issues/1855))
+- Improve overloaded param diff matching ([#1853](https://github.com/gakonst/ethers-rs/issues/1853))
+- Disable futures-locks tokio feature ([#1854](https://github.com/gakonst/ethers-rs/issues/1854))
+- Broken regex ([#1851](https://github.com/gakonst/ethers-rs/issues/1851))
+- Stop decoding gas twice for 2930 txs ([#1850](https://github.com/gakonst/ethers-rs/issues/1850))
+- Failing CI ([#1847](https://github.com/gakonst/ethers-rs/issues/1847))
+- Transaction type in TxpoolContent ([#1844](https://github.com/gakonst/ethers-rs/issues/1844))
+- Rustdoc errors ([#1808](https://github.com/gakonst/ethers-rs/issues/1808))
+- Get_logs_paginated fetches past latest block ([#1818](https://github.com/gakonst/ethers-rs/issues/1818))
+- Fix Build issue ([#1819](https://github.com/gakonst/ethers-rs/issues/1819))
+
+### Depedencies
+
+- Bump env_logger from 0.9.3 to 0.10.0 ([#1891](https://github.com/gakonst/ethers-rs/issues/1891))
+- Bump cargo_metadata from 0.15.1 to 0.15.2 ([#1878](https://github.com/gakonst/ethers-rs/issues/1878))
+- Bump serde-aux from 4.1.0 to 4.1.2 ([#1874](https://github.com/gakonst/ethers-rs/issues/1874))
+- Bump rayon from 1.5.3 to 1.6.0 ([#1875](https://github.com/gakonst/ethers-rs/issues/1875))
+- Bump bytes from 1.2.1 to 1.3.0 ([#1879](https://github.com/gakonst/ethers-rs/issues/1879))
+- Bump trezor, fix clippy ([#1871](https://github.com/gakonst/ethers-rs/issues/1871))
+- Bump open-fastrlp
+- Bump ethabi from 17.2.0 to 18.0.0 ([#1865](https://github.com/gakonst/ethers-rs/issues/1865))
+- Bump reqwest from 0.11.12 to 0.11.13 ([#1866](https://github.com/gakonst/ethers-rs/issues/1866))
+- Bump serde-aux from 4.0.0 to 4.1.0 ([#1846](https://github.com/gakonst/ethers-rs/issues/1846))
+- Bump cargo_metadata from 0.15.0 to 0.15.1 ([#1806](https://github.com/gakonst/ethers-rs/issues/1806))
+- Bump regex from 1.6.0 to 1.7.0 ([#1841](https://github.com/gakonst/ethers-rs/issues/1841))
+- Bump env_logger from 0.9.1 to 0.9.3 ([#1842](https://github.com/gakonst/ethers-rs/issues/1842))
+- Bump once_cell from 1.15.0 to 1.16.0 ([#1817](https://github.com/gakonst/ethers-rs/issues/1817))
+- Bump rlp from 0.5.1 to 0.5.2 ([#1805](https://github.com/gakonst/ethers-rs/issues/1805))
+- Bump base64 from 0.13.0 to 0.13.1 ([#1804](https://github.com/gakonst/ethers-rs/issues/1804))
+- Bump num_cpus from 1.13.1 to 1.14.0 ([#1831](https://github.com/gakonst/ethers-rs/issues/1831))
+
+### Features
+
+- Retry client wasm support ([#1877](https://github.com/gakonst/ethers-rs/issues/1877))
+- Instantiate an event builder without a contract instance ([#1882](https://github.com/gakonst/ethers-rs/issues/1882))
+- Add another rate limit retry check ([#1881](https://github.com/gakonst/ethers-rs/issues/1881))
+- Warnings as errors ([#1838](https://github.com/gakonst/ethers-rs/issues/1838))
+- Add TraceError enum ([#1814](https://github.com/gakonst/ethers-rs/issues/1814))
+
+### Miscellaneous Tasks
+
+- Pin env-logger
+- Make clippy happy ([#1888](https://github.com/gakonst/ethers-rs/issues/1888))
+- Add missing ParseUnit impls ([#1885](https://github.com/gakonst/ethers-rs/issues/1885))
+- Make clippy happy ([#1856](https://github.com/gakonst/ethers-rs/issues/1856))
+- Always use sync sources reading ([#1667](https://github.com/gakonst/ethers-rs/issues/1667))
+- Rename xdai gnosis ([#1809](https://github.com/gakonst/ethers-rs/issues/1809))
+- Update readme
+
+### Other
+
+- Get gas price in USD using a Chainlink oracle ([#1872](https://github.com/gakonst/ethers-rs/issues/1872))
+- Use cwd manifest ([#1869](https://github.com/gakonst/ethers-rs/issues/1869))
+- Rust already exists on the platform - update it instead ([#1864](https://github.com/gakonst/ethers-rs/issues/1864))
+- I256 parse support ([#1863](https://github.com/gakonst/ethers-rs/issues/1863))
+- Add `op` field to `VMOperation` to determine executed opcode ([#1858](https://github.com/gakonst/ethers-rs/issues/1858))
+- I256 asr doc ([#1860](https://github.com/gakonst/ethers-rs/issues/1860))
+- Add Arithmetic Shift Left operation for I256. Minor update to the ASR tests to include coverage for a shift of 0, and move to 'I256::minus_one' over 'I256::from(-1i8)' syntax ([#1452](https://github.com/gakonst/ethers-rs/issues/1452))
+- Revert "fix: get_logs_paginated fetches past latest block ([#1818](https://github.com/gakonst/ethers-rs/issues/1818))" ([#1845](https://github.com/gakonst/ethers-rs/issues/1845))
+- Move Event into scope for rustdoc Fixes #1676 ([#1787](https://github.com/gakonst/ethers-rs/issues/1787))
+- Add doc CI ([#1813](https://github.com/gakonst/ethers-rs/issues/1813))
+- Minor typo ([#1794](https://github.com/gakonst/ethers-rs/issues/1794))
+- #1822 ([#1823](https://github.com/gakonst/ethers-rs/issues/1823))
+- Enhance signer middleware to automatically switch legacy ([#1832](https://github.com/gakonst/ethers-rs/issues/1832))
+- #1836 ([#1837](https://github.com/gakonst/ethers-rs/issues/1837))
+- Impl `IntoFuture` for `ContractCall` ([#1826](https://github.com/gakonst/ethers-rs/issues/1826))
+- Adding chiado support ([#1811](https://github.com/gakonst/ethers-rs/issues/1811))
+
+### Styling
+
+- Fmt / clippy
+- Clippy ([#1812](https://github.com/gakonst/ethers-rs/issues/1812))
+- Examples event streams ([#1839](https://github.com/gakonst/ethers-rs/issues/1839))
+
+## [1.0] - 2022-10-25
+
+### Bug Fixes
+
+- Emit empty node vec ([#1793](https://github.com/gakonst/ethers-rs/issues/1793))
+- Handle absolute paths properly on conflict ([#1784](https://github.com/gakonst/ethers-rs/issues/1784))
+- Impl default manually for mock project ([#1779](https://github.com/gakonst/ethers-rs/issues/1779))
+- Remove trailing test,script markers ([#1776](https://github.com/gakonst/ethers-rs/issues/1776))
+- Skip json abi formatting ([#1777](https://github.com/gakonst/ethers-rs/issues/1777))
+- RawAbi and Abi ([#1757](https://github.com/gakonst/ethers-rs/issues/1757))
+- Support eip712 domain chain ids as string ([#1756](https://github.com/gakonst/ethers-rs/issues/1756))
+- Use empty bytecode as default instead unlinked ([#1743](https://github.com/gakonst/ethers-rs/issues/1743))
+- Transaction object rlp decoding ([#1740](https://github.com/gakonst/ethers-rs/issues/1740))
+- Use correct tx field const ([#1735](https://github.com/gakonst/ethers-rs/issues/1735))
+- Legacy signed rlp  decoding ([#1733](https://github.com/gakonst/ethers-rs/issues/1733))
+- Cyclic deps ([#1730](https://github.com/gakonst/ethers-rs/issues/1730))
+- Relax Middleware trait bound for getters ([#1728](https://github.com/gakonst/ethers-rs/issues/1728))
+- WASM example ([#1719](https://github.com/gakonst/ethers-rs/issues/1719))
+- Don't default to "latest" block ID for `eth_estimateGas` ([#1657](https://github.com/gakonst/ethers-rs/issues/1657))
+- GethTrace shouldn't have 0x prefix for return_value ([#1705](https://github.com/gakonst/ethers-rs/issues/1705))
+- Remove default include paths ([#1691](https://github.com/gakonst/ethers-rs/issues/1691))
+- Geth structlog memory ([#1690](https://github.com/gakonst/ethers-rs/issues/1690))
+- Geth trace types ([#1682](https://github.com/gakonst/ethers-rs/issues/1682))
+- Add derives, impls for Units ([#1683](https://github.com/gakonst/ethers-rs/issues/1683))
+- Legacy transaction rlp decoding ([#1672](https://github.com/gakonst/ethers-rs/issues/1672))
+- Via-ir should be optional ([#1664](https://github.com/gakonst/ethers-rs/issues/1664))
+- Incorrect encoding on TransactionReceipt ([#1661](https://github.com/gakonst/ethers-rs/issues/1661))
+- Emit null transaction fields ([#1654](https://github.com/gakonst/ethers-rs/issues/1654))
+- Only derive default of no arrays len > 32 ([#1653](https://github.com/gakonst/ethers-rs/issues/1653))
+- Use correct model for metadata libraries ([#1648](https://github.com/gakonst/ethers-rs/issues/1648))
+- Set chain id  explicitly ([#1647](https://github.com/gakonst/ethers-rs/issues/1647))
+- Dont skip null to field ([#1631](https://github.com/gakonst/ethers-rs/issues/1631))
+- QuorumProvider zero-parameter json Value handling ([#1613](https://github.com/gakonst/ethers-rs/issues/1613))
+- Handle provider error correctly ([#1630](https://github.com/gakonst/ethers-rs/issues/1630))
+- Clarify Geth trace structs ([#1626](https://github.com/gakonst/ethers-rs/issues/1626))
+- Consider case sensitive conflicting artifact paths ([#1625](https://github.com/gakonst/ethers-rs/issues/1625))
+- Extend eth_syncing response type and serde ([#1624](https://github.com/gakonst/ethers-rs/issues/1624))
+- Use cache context when determining artifact files ([#1621](https://github.com/gakonst/ethers-rs/issues/1621))
+- Support formatting large units ([#1608](https://github.com/gakonst/ethers-rs/issues/1608))
+- Sanitize absolute paths from etherscan ([#1603](https://github.com/gakonst/ethers-rs/issues/1603))
+- Deserialize a Filter request with `topics == null` ([#1604](https://github.com/gakonst/ethers-rs/issues/1604))
+- Validate address resolver ([#1605](https://github.com/gakonst/ethers-rs/issues/1605))
+- Ensure base-path is not include-path ([#1596](https://github.com/gakonst/ethers-rs/issues/1596))
+- Strip .sol suffix ([#1583](https://github.com/gakonst/ethers-rs/issues/1583))
+- Typo on README.md ([#1571](https://github.com/gakonst/ethers-rs/issues/1571))
+- Use correct str Regex ([#1566](https://github.com/gakonst/ethers-rs/issues/1566))
+- Use correct moonbeam ([#1552](https://github.com/gakonst/ethers-rs/issues/1552))
+- Convert source paths on windows ([#1540](https://github.com/gakonst/ethers-rs/issues/1540))
+- Resolve output struct types correctly ([#1546](https://github.com/gakonst/ethers-rs/issues/1546))
+- Add missing moonbase  fromstr ([#1531](https://github.com/gakonst/ethers-rs/issues/1531))
+- Support stringified numbers in response ([#1524](https://github.com/gakonst/ethers-rs/issues/1524))
+- Use fully qualified path for Result ([#1527](https://github.com/gakonst/ethers-rs/issues/1527))
+- Make compatible with edition2018 ([#1522](https://github.com/gakonst/ethers-rs/issues/1522))
+- Deserialize sealfields with default ([#1520](https://github.com/gakonst/ethers-rs/issues/1520))
+- Abigen feature required for bindings ([#1508](https://github.com/gakonst/ethers-rs/issues/1508))
+- Make StorageLayout json parsing lossless ([#1515](https://github.com/gakonst/ethers-rs/issues/1515))
+- Only run tracing example if env var is set ([#1517](https://github.com/gakonst/ethers-rs/issues/1517))
+- Use correct model for txpool_content endpoint ([#1501](https://github.com/gakonst/ethers-rs/issues/1501))
+- Contract names can be reserve words ([#1498](https://github.com/gakonst/ethers-rs/issues/1498))
+- Improve argument parsing ([#1485](https://github.com/gakonst/ethers-rs/issues/1485))
+- Parse constructor as function ([#1479](https://github.com/gakonst/ethers-rs/issues/1479))
+- Handle zst params in retry provider correctly ([#1481](https://github.com/gakonst/ethers-rs/issues/1481))
+- Fix unused warning ([#1477](https://github.com/gakonst/ethers-rs/issues/1477))
+- Serialize metadata as raw string ([#1474](https://github.com/gakonst/ethers-rs/issues/1474))
+- Use path slash for remapping display on windows ([#1454](https://github.com/gakonst/ethers-rs/issues/1454))
+- Apply base path to model checker contracts ([#1437](https://github.com/gakonst/ethers-rs/issues/1437))
+- Remove 0x bytecode object prefix for CompilerOutput ([#1424](https://github.com/gakonst/ethers-rs/issues/1424))
+- Remove redundant index adjustment for many overloads ([#1419](https://github.com/gakonst/ethers-rs/issues/1419))
+- Add missing chain id match arms ([#1411](https://github.com/gakonst/ethers-rs/issues/1411))
+- Use abi signature attribute if provided ([#1409](https://github.com/gakonst/ethers-rs/issues/1409))
+- Use signer chain when tx is None ([#1377](https://github.com/gakonst/ethers-rs/issues/1377))
+- Net_version returns string ([#1376](https://github.com/gakonst/ethers-rs/issues/1376))
+- ChainId 31337 corresponds to Anvil/Hardhat not Dev
+- Fix fields for `UserDoc` and `DevDoc` ([#1355](https://github.com/gakonst/ethers-rs/issues/1355))
+- `Transfered` -> `Transferred* ([#1357](https://github.com/gakonst/ethers-rs/issues/1357))
+- Emit empty vec for empty artifacts ([#1345](https://github.com/gakonst/ethers-rs/issues/1345))
+- Invalidate cache on unresolve error ([#1337](https://github.com/gakonst/ethers-rs/issues/1337))
+- Wrong unit for gas_price (ether -> gwei) ([#1316](https://github.com/gakonst/ethers-rs/issues/1316))
+- Improve remappings autodetection ([#1335](https://github.com/gakonst/ethers-rs/issues/1335))
+- Remove compile_exact restriction ([#1329](https://github.com/gakonst/ethers-rs/issues/1329))
+- Non-snake-case modules out of order ([#1331](https://github.com/gakonst/ethers-rs/issues/1331))
+- Use decimal crate for parsing units ([#1330](https://github.com/gakonst/ethers-rs/issues/1330))
+- Emit empty bytecode objects for standalone sol files ([#1327](https://github.com/gakonst/ethers-rs/issues/1327))
+- Improve contract metadata bindings ([#1326](https://github.com/gakonst/ethers-rs/issues/1326))
+- Clippy warnings on solidity bindings ([#1319](https://github.com/gakonst/ethers-rs/issues/1319))
+- Aws eip712 does not use eip155 ([#1309](https://github.com/gakonst/ethers-rs/issues/1309))
+- Use wallet chainid for tx signing ([#1308](https://github.com/gakonst/ethers-rs/issues/1308))
+- Correctly serialize TxPoolInspectSummary ([#1305](https://github.com/gakonst/ethers-rs/issues/1305))
+- Remove viaIR for older versions ([#1304](https://github.com/gakonst/ethers-rs/issues/1304))
+- Flatten random statement order ([#1292](https://github.com/gakonst/ethers-rs/issues/1292))
+- Support constructor user docs ([#1283](https://github.com/gakonst/ethers-rs/issues/1283))
+- Serialize eth_getStorageAt position param as quantity ([#1281](https://github.com/gakonst/ethers-rs/issues/1281))
+- Follow symlinks in source files ([#1277](https://github.com/gakonst/ethers-rs/issues/1277))
+- Purge obsolete cached artifacts ([#1273](https://github.com/gakonst/ethers-rs/issues/1273))
+- On pending block `miner` field is always `null` ([#1272](https://github.com/gakonst/ethers-rs/issues/1272))
+- Unify name of supported chains with strum ([#1249](https://github.com/gakonst/ethers-rs/issues/1249))
+- Output methodIdentifiers by default ([#1266](https://github.com/gakonst/ethers-rs/issues/1266))
+- All request ids start at 1 ([#1265](https://github.com/gakonst/ethers-rs/issues/1265))
+- Add `RuntimeOrHandle` & fix solc blocking installation ([#1260](https://github.com/gakonst/ethers-rs/issues/1260))
+- Make ast node ids optional ([#1254](https://github.com/gakonst/ethers-rs/issues/1254))
+- Filter out empty bytecode ([#1248](https://github.com/gakonst/ethers-rs/issues/1248))
+- Removed Cronos mainnet beta from `is_legacy` ([#1246](https://github.com/gakonst/ethers-rs/issues/1246))
+- Respect auto detection in additional compile functions ([#1226](https://github.com/gakonst/ethers-rs/issues/1226))
+- Flatten import aliases ([#1192](https://github.com/gakonst/ethers-rs/issues/1192))
+- Make scoped reporter work in parallel ([#1214](https://github.com/gakonst/ethers-rs/issues/1214))
+- Ensure std json sources are unique ([#1210](https://github.com/gakonst/ethers-rs/issues/1210))
+- Pass tx with chain by ref
+- Fixed typo when determining to token address ([#1208](https://github.com/gakonst/ethers-rs/issues/1208))
+- Remapping aware libraries ([#1190](https://github.com/gakonst/ethers-rs/issues/1190))
+- Use correct empty output selection ([#1185](https://github.com/gakonst/ethers-rs/issues/1185))
+- Add to and from into the transaction receipt to follow spec ([#1184](https://github.com/gakonst/ethers-rs/issues/1184))
+- Decode `from` field for typed transactions ([#1180](https://github.com/gakonst/ethers-rs/issues/1180))
+- When compiler-out metadata is empty and there's no `internalType` ([#1182](https://github.com/gakonst/ethers-rs/issues/1182))
+- Only write cache file if build was successful ([#1177](https://github.com/gakonst/ethers-rs/issues/1177))
+- Proper fantom api urls ([#1170](https://github.com/gakonst/ethers-rs/issues/1170))
+- Fix extra spacing ([#1149](https://github.com/gakonst/ethers-rs/issues/1149))
+- Support display for bytes ([#1148](https://github.com/gakonst/ethers-rs/issues/1148))
+- Normalize block if block = None ([#1146](https://github.com/gakonst/ethers-rs/issues/1146))
+- Compute content hashes first ([#1142](https://github.com/gakonst/ethers-rs/issues/1142))
+- Encode absent tx access_list correctly ([#1137](https://github.com/gakonst/ethers-rs/issues/1137))
+- Strip root path from remappings and sources for standard json ([#1136](https://github.com/gakonst/ethers-rs/issues/1136))
+- Correct etherscan url address, remove double quotes in solc error ([#1130](https://github.com/gakonst/ethers-rs/issues/1130))
+- Eth_feehistory reward is optional ([#1127](https://github.com/gakonst/ethers-rs/issues/1127))
+- Bump up svm ([#1129](https://github.com/gakonst/ethers-rs/issues/1129))
+- Fix deploy tx RLP decoding ([#1124](https://github.com/gakonst/ethers-rs/issues/1124))
+- Only notify about unresolved import once ([#1125](https://github.com/gakonst/ethers-rs/issues/1125))
+- Correctly check cache expiry ([#1114](https://github.com/gakonst/ethers-rs/issues/1114))
+- Sanitize compilerinput based on version ([#1111](https://github.com/gakonst/ethers-rs/issues/1111))
+- Extend sparse mode to linked references ([#1107](https://github.com/gakonst/ethers-rs/issues/1107))
+- Broken Etherscan URL Construction ([#1100](https://github.com/gakonst/ethers-rs/issues/1100))
+- Aws signer does not throw error on unnormalized sig ([#1099](https://github.com/gakonst/ethers-rs/issues/1099))
+- Bump svm-rs for lockfile + checksum adjustments
+- Clippy before nightly ring regression
+- Change abiarraytype trait bounds for tuple ([#1079](https://github.com/gakonst/ethers-rs/issues/1079))
+- Bundle new svm-solc feature ([#1071](https://github.com/gakonst/ethers-rs/issues/1071))
+- Remove debug print ([#1067](https://github.com/gakonst/ethers-rs/issues/1067))
+- Eip1559 gas price should be max_fee_per_gas ([#1062](https://github.com/gakonst/ethers-rs/issues/1062))
+- Check against ethers internal crate names ([#1060](https://github.com/gakonst/ethers-rs/issues/1060))
+- More sophisticated crate detection ([#1056](https://github.com/gakonst/ethers-rs/issues/1056))
+- Only modify files that are required to compile the project ([#1050](https://github.com/gakonst/ethers-rs/issues/1050))
+- Use lowercase when comparing paths ([#1041](https://github.com/gakonst/ethers-rs/issues/1041))
+- Adjust breaking changes and detect failures in ci ([#1040](https://github.com/gakonst/ethers-rs/issues/1040))
+- Don't evict cache entries with no artifacts ([#1035](https://github.com/gakonst/ethers-rs/issues/1035))
+- Trim constructor args ([#1024](https://github.com/gakonst/ethers-rs/issues/1024))
+- Use correct artifact api ([#1019](https://github.com/gakonst/ethers-rs/issues/1019))
+- Skip artifacts check for files without artifacts ([#1018](https://github.com/gakonst/ethers-rs/issues/1018))
+- Feature-gate TestProvider.ws fn
+- Bump svm-rs for mac m1 solc installs
+- Export `ethers_providers::IpcError` and `ethers_providers::QuorumError` ([#1012](https://github.com/gakonst/ethers-rs/issues/1012))
+- Use svm-rs with fixed solc checksums
+- Use correct types ([#1004](https://github.com/gakonst/ethers-rs/issues/1004))
+- Respect offline mode ([#1002](https://github.com/gakonst/ethers-rs/issues/1002))
+- Fix cache and allowed paths bug ([#998](https://github.com/gakonst/ethers-rs/issues/998))
+- Remove unnecessary indent ([#999](https://github.com/gakonst/ethers-rs/issues/999))
+- Safe ident field names ([#989](https://github.com/gakonst/ethers-rs/issues/989))
+- Bump solang and adjust breaking change
+- Propogate gas limit with access list ([#901](https://github.com/gakonst/ethers-rs/issues/901))
+- Safe ident underscore followed by numeric ([#970](https://github.com/gakonst/ethers-rs/issues/970))
+- Support functions with different casing ([#972](https://github.com/gakonst/ethers-rs/issues/972))
+- Dont generate empty shared_types module ([#965](https://github.com/gakonst/ethers-rs/issues/965))
+- Make abigen work with ethers-solc and abiencoderv2 ([#952](https://github.com/gakonst/ethers-rs/issues/952))
+- Handle lossy ethabi generated abi structs ([#950](https://github.com/gakonst/ethers-rs/issues/950))
+- Consistent serde for linked and unlinked bytecode ([#948](https://github.com/gakonst/ethers-rs/issues/948))
+- Flatten import loc ([#946](https://github.com/gakonst/ethers-rs/issues/946))
+- Mimic hardhat import resolver when in node_modules ([#928](https://github.com/gakonst/ethers-rs/issues/928))
+- Off by one error finding version intersection ([#930](https://github.com/gakonst/ethers-rs/issues/930))
+- Add serde json to created crate
+- Do not panic when run on non-cargo projects ([#918](https://github.com/gakonst/ethers-rs/issues/918))
+- Url params naming ([#911](https://github.com/gakonst/ethers-rs/issues/911))
+- Correctly deserialize eip1186 proof responses
+- Add address field ([#899](https://github.com/gakonst/ethers-rs/issues/899))
+- Resolver and remapping auto detection bugs ([#893](https://github.com/gakonst/ethers-rs/issues/893))
+- Bump svm-rs to fix race condition on same version installs of solc
+- Support remapping autodetection edge case ([#888](https://github.com/gakonst/ethers-rs/issues/888))
+- Bump svm-rs to support arm solc
+- PendingTransaction::log() missing deref ([#886](https://github.com/gakonst/ethers-rs/issues/886))
+- Prevent chain_id from serializing for requests ([#879](https://github.com/gakonst/ethers-rs/issues/879))
+- Use nodesiter when printing tree ([#878](https://github.com/gakonst/ethers-rs/issues/878))
+- Bump ethers-solc version ([#864](https://github.com/gakonst/ethers-rs/issues/864))
+- Bump solang ([#861](https://github.com/gakonst/ethers-rs/issues/861))
+- Doc test for dev_rpc ([#857](https://github.com/gakonst/ethers-rs/issues/857))
+- Adjust Ganache for new cli output ([#851](https://github.com/gakonst/ethers-rs/issues/851))
+- Can parse secondary source locations ([#849](https://github.com/gakonst/ethers-rs/issues/849))
+- Flatten replacement target location ([#846](https://github.com/gakonst/ethers-rs/issues/846))
+- Use already instantiated tokio runtime if exists ([#811](https://github.com/gakonst/ethers-rs/issues/811))
+- Make http crate required ([#836](https://github.com/gakonst/ethers-rs/issues/836))
+- Duplicate contracts segments  ([#832](https://github.com/gakonst/ethers-rs/issues/832))
+- Propagate deserialization errors upstream + infura quickfix ([#827](https://github.com/gakonst/ethers-rs/issues/827))
+- Derive serde Ser and De for log metadata ([#823](https://github.com/gakonst/ethers-rs/issues/823))
+- Flatten duplicates ([#813](https://github.com/gakonst/ethers-rs/issues/813))
+- Take installer lock before installing ([#801](https://github.com/gakonst/ethers-rs/issues/801))
+- Traverse nodes iteratively ([#800](https://github.com/gakonst/ethers-rs/issues/800))
+- Check for uint8 params in human readable types ([#789](https://github.com/gakonst/ethers-rs/issues/789))
+- Invalid cached artifacts ([#783](https://github.com/gakonst/ethers-rs/issues/783))
+- Allow cyclic imports ([#766](https://github.com/gakonst/ethers-rs/issues/766))
+- Add timeout and error detection for releases lookup ([#759](https://github.com/gakonst/ethers-rs/issues/759))
+- Contract with abi test ([#757](https://github.com/gakonst/ethers-rs/issues/757))
+- Methods is object ([#734](https://github.com/gakonst/ethers-rs/issues/734))
+- Make evm bytecode optional ([#735](https://github.com/gakonst/ethers-rs/issues/735))
+- Handle more remapping edge cases ([#719](https://github.com/gakonst/ethers-rs/issues/719))
+- Prefere dapptools style remappings ([#713](https://github.com/gakonst/ethers-rs/issues/713))
+- Use lib for parsing paths correctly in windows
+- Use lib for parsing paths correctly in windows ([#712](https://github.com/gakonst/ethers-rs/issues/712))
+- Auto-enable asm when supported (x86/x64 and not msvc) ([#710](https://github.com/gakonst/ethers-rs/issues/710))
+- Configure rustls & openssl via feature flag ([#703](https://github.com/gakonst/ethers-rs/issues/703))
+- Rollback yanked futures versions
+- Parse_units was generating an error on some values because of extra decimal places added round to prevent error ([#701](https://github.com/gakonst/ethers-rs/issues/701))
+- Contract creation on trezor ([#695](https://github.com/gakonst/ethers-rs/issues/695))
+- Avoid futures-util yanked err ([#693](https://github.com/gakonst/ethers-rs/issues/693))
+- Do not panic on invalid units conversion ([#691](https://github.com/gakonst/ethers-rs/issues/691))
+- Remove assert to check cache format ([#689](https://github.com/gakonst/ethers-rs/issues/689))
+- Fix handling empty tx parameters ([#686](https://github.com/gakonst/ethers-rs/issues/686))
+- Bump svm-rs for windows support ([#685](https://github.com/gakonst/ethers-rs/issues/685))
+- Exclude asm for msvc ([#679](https://github.com/gakonst/ethers-rs/issues/679))
+- Format_units return was truncating the decimal places if there were leading zeros ([#675](https://github.com/gakonst/ethers-rs/issues/675))
+- Skip 0x prefix for deserialize bytes decoding ([#671](https://github.com/gakonst/ethers-rs/issues/671))
+- Naming and default impl ([#665](https://github.com/gakonst/ethers-rs/issues/665))
+- Add allow paths ([#667](https://github.com/gakonst/ethers-rs/issues/667))
+- Nonce too low for different providers ([#655](https://github.com/gakonst/ethers-rs/issues/655))
+- Specify home-dep as non-wasm instead of x86-only ([#645](https://github.com/gakonst/ethers-rs/issues/645))
+- Ignore the websocket response when the request has been cancelled. ([#641](https://github.com/gakonst/ethers-rs/issues/641))
+- Make ethers-wasm workspace member ([#642](https://github.com/gakonst/ethers-rs/issues/642))
+- Check all import styles ([#634](https://github.com/gakonst/ethers-rs/issues/634))
+- Source parsing for local paths ([#633](https://github.com/gakonst/ethers-rs/issues/633))
+- Conditional http support ([#632](https://github.com/gakonst/ethers-rs/issues/632))
+- Use CARGO_MANIFEST_DIR as root for relative paths in abigen! ([#631](https://github.com/gakonst/ethers-rs/issues/631))
+- Remove changed artifacts from the cache ([#630](https://github.com/gakonst/ethers-rs/issues/630))
+- Method deduplication ([#619](https://github.com/gakonst/ethers-rs/issues/619))
+- Do not overwrite existing cache ([#629](https://github.com/gakonst/ethers-rs/issues/629))
+- Remove redundant cache read ([#627](https://github.com/gakonst/ethers-rs/issues/627))
+- Pass partial artifact cache to project compiler output ([#623](https://github.com/gakonst/ethers-rs/issues/623))
+- Enable sha2 asm for checksum speed ([#626](https://github.com/gakonst/ethers-rs/issues/626))
+- [**breaking**] Ambiguity unit8[] and bytes ([#613](https://github.com/gakonst/ethers-rs/issues/613))
+
+### Depedencies
+
+- Revert "chore: disable dev deps for release"
+- Disable dev deps for release
+- Bump futures-executor from 0.3.24 to 0.3.25 ([#1795](https://github.com/gakonst/ethers-rs/issues/1795))
+- Bump futures-util from 0.3.24 to 0.3.25 ([#1796](https://github.com/gakonst/ethers-rs/issues/1796))
+- Bump syn from 1.0.102 to 1.0.103 ([#1799](https://github.com/gakonst/ethers-rs/issues/1799))
+- Bump getrandom from 0.2.7 to 0.2.8 ([#1800](https://github.com/gakonst/ethers-rs/issues/1800))
+- Bump proc-macro2 from 1.0.46 to 1.0.47 ([#1788](https://github.com/gakonst/ethers-rs/issues/1788))
+- Bump home from 0.5.3 to 0.5.4 ([#1781](https://github.com/gakonst/ethers-rs/issues/1781))
+- Bump tracing-subscriber from 0.3.15 to 0.3.16 ([#1765](https://github.com/gakonst/ethers-rs/issues/1765))
+- Bump dunce from 1.0.2 to 1.0.3 ([#1767](https://github.com/gakonst/ethers-rs/issues/1767))
+- Bump ansi-regex in /examples/ethers-wasm ([#1771](https://github.com/gakonst/ethers-rs/issues/1771))
+- Bump tracing from 0.1.36 to 0.1.37 ([#1766](https://github.com/gakonst/ethers-rs/issues/1766))
+- Bump syn from 1.0.101 to 1.0.102 ([#1764](https://github.com/gakonst/ethers-rs/issues/1764))
+- Bump serde-wasm-bindgen from 0.4.3 to 0.4.5 ([#1761](https://github.com/gakonst/ethers-rs/issues/1761))
+- Bump proc-macro2 from 1.0.44 to 1.0.46 ([#1753](https://github.com/gakonst/ethers-rs/issues/1753))
+- Bump k256 from 0.11.5 to 0.11.6 ([#1749](https://github.com/gakonst/ethers-rs/issues/1749))
+- Bump thiserror from 1.0.36 to 1.0.37 ([#1748](https://github.com/gakonst/ethers-rs/issues/1748))
+- Bump syn from 1.0.100 to 1.0.101 ([#1745](https://github.com/gakonst/ethers-rs/issues/1745))
+- Bump thiserror from 1.0.35 to 1.0.36 ([#1739](https://github.com/gakonst/ethers-rs/issues/1739))
+- Bump proc-macro2 from 1.0.43 to 1.0.44 ([#1738](https://github.com/gakonst/ethers-rs/issues/1738))
+- Bump md-5 from 0.10.4 to 0.10.5 ([#1726](https://github.com/gakonst/ethers-rs/issues/1726))
+- Bump reqwest from 0.11.11 to 0.11.12 ([#1724](https://github.com/gakonst/ethers-rs/issues/1724))
+- Bump once_cell from 1.14.0 to 1.15.0 ([#1725](https://github.com/gakonst/ethers-rs/issues/1725))
+- Bump env_logger from 0.9.0 to 0.9.1 ([#1718](https://github.com/gakonst/ethers-rs/issues/1718))
+- Bump syn from 1.0.99 to 1.0.100 ([#1717](https://github.com/gakonst/ethers-rs/issues/1717))
+- Bump solang-parser from 0.1.17 to 0.1.18 ([#1716](https://github.com/gakonst/ethers-rs/issues/1716))
+- Bump svm-rs 0.2.18 ([#1715](https://github.com/gakonst/ethers-rs/issues/1715))
+- Trim eip712 deps ([#1714](https://github.com/gakonst/ethers-rs/issues/1714))
+- Bump semver from 1.0.13 to 1.0.14 ([#1708](https://github.com/gakonst/ethers-rs/issues/1708))
+- Bump unicode-xid from 0.2.3 to 0.2.4 ([#1707](https://github.com/gakonst/ethers-rs/issues/1707))
+- Bump k256 from 0.11.4 to 0.11.5 ([#1701](https://github.com/gakonst/ethers-rs/issues/1701))
+- Bump sha2 from 0.10.5 to 0.10.6 ([#1709](https://github.com/gakonst/ethers-rs/issues/1709))
+- Bump wasm-bindgen-test from 0.3.32 to 0.3.33 ([#1700](https://github.com/gakonst/ethers-rs/issues/1700))
+- Bump wasm-bindgen-futures from 0.4.32 to 0.4.33 ([#1693](https://github.com/gakonst/ethers-rs/issues/1693))
+- Bump web-sys from 0.3.59 to 0.3.60 ([#1694](https://github.com/gakonst/ethers-rs/issues/1694))
+- Bump thiserror from 1.0.34 to 1.0.35 ([#1697](https://github.com/gakonst/ethers-rs/issues/1697))
+- Bump max solc 0.8.17 ([#1679](https://github.com/gakonst/ethers-rs/issues/1679))
+- Bump url from 2.3.0 to 2.3.1 ([#1680](https://github.com/gakonst/ethers-rs/issues/1680))
+- Bump convert_case from 0.5.0 to 0.6.0 ([#1681](https://github.com/gakonst/ethers-rs/issues/1681))
+- Bump url from 2.2.2 to 2.3.0 ([#1678](https://github.com/gakonst/ethers-rs/issues/1678))
+- Bump serde-aux from 3.1.0 to 4.0.0 ([#1673](https://github.com/gakonst/ethers-rs/issues/1673))
+- Bump thiserror from 1.0.33 to 1.0.34 ([#1668](https://github.com/gakonst/ethers-rs/issues/1668))
+- Bump once_cell from 1.13.1 to 1.14.0 ([#1669](https://github.com/gakonst/ethers-rs/issues/1669))
+- Bump md-5 from 0.10.2 to 0.10.4 ([#1670](https://github.com/gakonst/ethers-rs/issues/1670))
+- Bump sha2 from 0.10.3 to 0.10.5 ([#1671](https://github.com/gakonst/ethers-rs/issues/1671))
+- Bump pretty_assertions from 1.2.1 to 1.3.0 ([#1652](https://github.com/gakonst/ethers-rs/issues/1652))
+- Bump sha2 from 0.10.2 to 0.10.3 ([#1651](https://github.com/gakonst/ethers-rs/issues/1651))
+- Bump thiserror from 1.0.32 to 1.0.33 ([#1650](https://github.com/gakonst/ethers-rs/issues/1650))
+- Bump md-5 from 0.10.1 to 0.10.2 ([#1649](https://github.com/gakonst/ethers-rs/issues/1649))
+- Bump futures-executor from 0.3.23 to 0.3.24 ([#1646](https://github.com/gakonst/ethers-rs/issues/1646))
+- Bump eth-keystore from 0.4.2 to 0.5.0 ([#1645](https://github.com/gakonst/ethers-rs/issues/1645))
+- Bump futures-util from 0.3.23 to 0.3.24 ([#1644](https://github.com/gakonst/ethers-rs/issues/1644))
+- Bump eth-keystore ([#1643](https://github.com/gakonst/ethers-rs/issues/1643))
+- Bump once_cell from 1.13.0 to 1.13.1 ([#1606](https://github.com/gakonst/ethers-rs/issues/1606))
+- Bump ethabi ([#1601](https://github.com/gakonst/ethers-rs/issues/1601))
+- Bump k256 from 0.11.3 to 0.11.4 ([#1599](https://github.com/gakonst/ethers-rs/issues/1599))
+- Bump futures-util from 0.3.21 to 0.3.23 ([#1598](https://github.com/gakonst/ethers-rs/issues/1598))
+- Bump futures-executor from 0.3.21 to 0.3.23 ([#1597](https://github.com/gakonst/ethers-rs/issues/1597))
+- Bump serial_test from 0.8.0 to 0.9.0 ([#1587](https://github.com/gakonst/ethers-rs/issues/1587))
+- Bump rust_decimal from 1.26.0 to 1.26.1 ([#1574](https://github.com/gakonst/ethers-rs/issues/1574))
+- Bump path-slash from 0.2.0 to 0.2.1 ([#1575](https://github.com/gakonst/ethers-rs/issues/1575))
+- Bump chrono from 0.4.19 to 0.4.20 ([#1568](https://github.com/gakonst/ethers-rs/issues/1568))
+- Bump rust_decimal from 1.25.0 to 1.26.0 ([#1569](https://github.com/gakonst/ethers-rs/issues/1569))
+- Bump proc-macro2 from 1.0.42 to 1.0.43 ([#1560](https://github.com/gakonst/ethers-rs/issues/1560))
+- Bump semver from 1.0.12 to 1.0.13 ([#1561](https://github.com/gakonst/ethers-rs/issues/1561))
+- Bump syn from 1.0.98 to 1.0.99 ([#1562](https://github.com/gakonst/ethers-rs/issues/1562))
+- Bump thiserror from 1.0.31 to 1.0.32 ([#1563](https://github.com/gakonst/ethers-rs/issues/1563))
+- Bump elliptic-curve from 0.12.2 to 0.12.3 ([#1555](https://github.com/gakonst/ethers-rs/issues/1555))
+- Bump yubihsm from 0.41.0-pre to 0.41.0 ([#1556](https://github.com/gakonst/ethers-rs/issues/1556))
+- Bump generic-array from 0.14.5 to 0.14.6 ([#1557](https://github.com/gakonst/ethers-rs/issues/1557))
+- Bump bytes from 1.2.0 to 1.2.1 ([#1542](https://github.com/gakonst/ethers-rs/issues/1542))
+- Bump tracing from 0.1.35 to 0.1.36 ([#1543](https://github.com/gakonst/ethers-rs/issues/1543))
+- Bump eth-keystore from 0.4.1 to 0.4.2 ([#1544](https://github.com/gakonst/ethers-rs/issues/1544))
+- Add back dev-deps ([#1532](https://github.com/gakonst/ethers-rs/issues/1532))
+- Disable dev deps
+- Bump wasm-bindgen-test from 0.3.31 to 0.3.32 ([#1518](https://github.com/gakonst/ethers-rs/issues/1518))
+- Bump svm-builds ([#1521](https://github.com/gakonst/ethers-rs/issues/1521))
+- Bump fastrlp from 0.1.2 to 0.1.3 ([#1505](https://github.com/gakonst/ethers-rs/issues/1505))
+- Bump proc-macro2 from 1.0.40 to 1.0.42 ([#1513](https://github.com/gakonst/ethers-rs/issues/1513))
+- Bump wasm-bindgen-futures from 0.4.31 to 0.4.32 ([#1512](https://github.com/gakonst/ethers-rs/issues/1512))
+- Bump web-sys from 0.3.58 to 0.3.59 ([#1511](https://github.com/gakonst/ethers-rs/issues/1511))
+- Bump tracing-subscriber from 0.3.14 to 0.3.15 ([#1504](https://github.com/gakonst/ethers-rs/issues/1504))
+- Bump tracing-subscriber from 0.3.11 to 0.3.14 ([#1448](https://github.com/gakonst/ethers-rs/issues/1448))
+- Bump terser from 4.8.0 to 4.8.1 in /examples/ethers-wasm ([#1489](https://github.com/gakonst/ethers-rs/issues/1489))
+- Bump bytes from 1.1.0 to 1.2.0 ([#1488](https://github.com/gakonst/ethers-rs/issues/1488))
+- Bump tokio-tungstenite from 0.17.1 to 0.17.2 ([#1478](https://github.com/gakonst/ethers-rs/issues/1478))
+- Bump svm-rs-builds ([#1476](https://github.com/gakonst/ethers-rs/issues/1476))
+- Bump criterion from 0.3.5 to 0.3.6 ([#1466](https://github.com/gakonst/ethers-rs/issues/1466))
+- Bump crypto deps ([#1465](https://github.com/gakonst/ethers-rs/issues/1465))
+- Bump paths-slash ([#1462](https://github.com/gakonst/ethers-rs/issues/1462))
+- Bump pin-project to silence new clippy lints ([#1464](https://github.com/gakonst/ethers-rs/issues/1464))
+- Bump regex from 1.5.6 to 1.6.0 ([#1461](https://github.com/gakonst/ethers-rs/issues/1461))
+- Bump once_cell from 1.12.0 to 1.13.0 ([#1453](https://github.com/gakonst/ethers-rs/issues/1453))
+- Solang 0.1.16 ([#1446](https://github.com/gakonst/ethers-rs/issues/1446))
+- Implement fastrlp traits for Bytes ([#1443](https://github.com/gakonst/ethers-rs/issues/1443))
+- Bump coins-ledger to 0.6.1 ([#1442](https://github.com/gakonst/ethers-rs/issues/1442))
+- Bump semver from 1.0.11 to 1.0.12 ([#1441](https://github.com/gakonst/ethers-rs/issues/1441))
+- Bump eventsource in /examples/ethers-wasm ([#1334](https://github.com/gakonst/ethers-rs/issues/1334))
+- Bump serde-aux from 3.0.1 to 3.1.0 ([#1432](https://github.com/gakonst/ethers-rs/issues/1432))
+- Bump semver from 1.0.10 to 1.0.11 ([#1431](https://github.com/gakonst/ethers-rs/issues/1431))
+- Bump path-slash from 0.1.4 to 0.1.5 ([#1430](https://github.com/gakonst/ethers-rs/issues/1430))
+- Bump cargo_metadata from 0.14.2 to 0.15.0 ([#1410](https://github.com/gakonst/ethers-rs/issues/1410))
+- Bump serial_test from 0.7.0 to 0.8.0 ([#1418](https://github.com/gakonst/ethers-rs/issues/1418))
+- Bump trezor client 0.0.6 ([#1401](https://github.com/gakonst/ethers-rs/issues/1401))
+- Bump wasm-bindgen-test from 0.3.30 to 0.3.31 ([#1391](https://github.com/gakonst/ethers-rs/issues/1391))
+- Bump syn from 1.0.96 to 1.0.98 ([#1392](https://github.com/gakonst/ethers-rs/issues/1392))
+- Bump proc-macro2 from 1.0.39 to 1.0.40 ([#1393](https://github.com/gakonst/ethers-rs/issues/1393))
+- Bump serial_test from 0.6.0 to 0.7.0 ([#1349](https://github.com/gakonst/ethers-rs/issues/1349))
+- Bump wasm-bindgen-futures from 0.4.30 to 0.4.31 ([#1378](https://github.com/gakonst/ethers-rs/issues/1378))
+- Bump web-sys from 0.3.57 to 0.3.58 ([#1379](https://github.com/gakonst/ethers-rs/issues/1379))
+- Bump wasm-bindgen from 0.2.80 to 0.2.81 ([#1380](https://github.com/gakonst/ethers-rs/issues/1380))
+- Bump ethabi version ([#1381](https://github.com/gakonst/ethers-rs/issues/1381))
+- Revert "release: disable dev deps"
+- Disable dev deps
+- Bump reqwest from 0.11.10 to 0.11.11 ([#1374](https://github.com/gakonst/ethers-rs/issues/1374))
+- Bump getrandom from 0.2.6 to 0.2.7 ([#1373](https://github.com/gakonst/ethers-rs/issues/1373))
+- Bump strum from 0.24.0 to 0.24.1 ([#1370](https://github.com/gakonst/ethers-rs/issues/1370))
+- Bump rust_decimal from 1.24.0 to 1.25.0 ([#1375](https://github.com/gakonst/ethers-rs/issues/1375))
+- Bump semver from 1.0.9 to 1.0.10 ([#1366](https://github.com/gakonst/ethers-rs/issues/1366))
+- Bump solang_parser 0.1.14 ([#1369](https://github.com/gakonst/ethers-rs/issues/1369))
+- Bump tracing from 0.1.34 to 0.1.35 ([#1364](https://github.com/gakonst/ethers-rs/issues/1364))
+- Bump http from 0.2.7 to 0.2.8 ([#1352](https://github.com/gakonst/ethers-rs/issues/1352))
+- Bump crossbeam-utils from 0.8.6 to 0.8.8 ([#1351](https://github.com/gakonst/ethers-rs/issues/1351))
+- Make ethers-solc dev dep ([#1358](https://github.com/gakonst/ethers-rs/issues/1358))
+- Bump syn from 1.0.95 to 1.0.96 ([#1342](https://github.com/gakonst/ethers-rs/issues/1342))
+- Bump auto_impl from 0.5.0 to 1.0.1 ([#1341](https://github.com/gakonst/ethers-rs/issues/1341))
+- Bump serde_derive from 1.0.136 to 1.0.137 ([#1333](https://github.com/gakonst/ethers-rs/issues/1333))
+- Make tokio required dependency ([#1322](https://github.com/gakonst/ethers-rs/issues/1322))
+- Bump once_cell from 1.11.0 to 1.12.0 ([#1306](https://github.com/gakonst/ethers-rs/issues/1306))
+- Bump regex from 1.5.5 to 1.5.6 ([#1300](https://github.com/gakonst/ethers-rs/issues/1300))
+- Bump once_cell from 1.10.0 to 1.11.0 ([#1288](https://github.com/gakonst/ethers-rs/issues/1288))
+- Bump syn from 1.0.94 to 1.0.95 ([#1280](https://github.com/gakonst/ethers-rs/issues/1280))
+- Bump latest solc release ([#1282](https://github.com/gakonst/ethers-rs/issues/1282))
+- Bump proc-macro2 from 1.0.38 to 1.0.39 ([#1275](https://github.com/gakonst/ethers-rs/issues/1275))
+- Bump rayon from 1.5.2 to 1.5.3 ([#1269](https://github.com/gakonst/ethers-rs/issues/1269))
+- Bump tokio-util from 0.7.1 to 0.7.2 ([#1270](https://github.com/gakonst/ethers-rs/issues/1270))
+- Bump syn from 1.0.93 to 1.0.94 ([#1271](https://github.com/gakonst/ethers-rs/issues/1271))
+- Bump syn from 1.0.92 to 1.0.93 ([#1244](https://github.com/gakonst/ethers-rs/issues/1244))
+- Bump unicode-xid from 0.2.2 to 0.2.3 ([#1243](https://github.com/gakonst/ethers-rs/issues/1243))
+- Bump proc-macro2 from 1.0.37 to 1.0.38 ([#1237](https://github.com/gakonst/ethers-rs/issues/1237))
+- Bump spki from 0.5.4 to 0.6.0 ([#1238](https://github.com/gakonst/ethers-rs/issues/1238))
+- Bump semver from 1.0.7 to 1.0.9 ([#1211](https://github.com/gakonst/ethers-rs/issues/1211))
+- Bump rusoto-kms/core
+- Bump async from 2.6.3 to 2.6.4 in /examples/ethers-wasm ([#1196](https://github.com/gakonst/ethers-rs/issues/1196))
+- Bump thiserror from 1.0.30 to 1.0.31 ([#1206](https://github.com/gakonst/ethers-rs/issues/1206))
+- Bump syn from 1.0.91 to 1.0.92 ([#1194](https://github.com/gakonst/ethers-rs/issues/1194))
+- Bump http from 0.2.6 to 0.2.7 ([#1195](https://github.com/gakonst/ethers-rs/issues/1195))
+- Bump rayon from 1.5.1 to 1.5.2 ([#1145](https://github.com/gakonst/ethers-rs/issues/1145))
+- Bump tracing from 0.1.33 to 0.1.34 ([#1147](https://github.com/gakonst/ethers-rs/issues/1147))
+- Bump solang-parser from 0.1.11 to 0.1.12 ([#1152](https://github.com/gakonst/ethers-rs/issues/1152))
+- Bump wasm-bindgen-test from 0.3.29 to 0.3.30 ([#1133](https://github.com/gakonst/ethers-rs/issues/1133))
+- Bump tracing from 0.1.32 to 0.1.33 ([#1132](https://github.com/gakonst/ethers-rs/issues/1132))
+- Bump tracing-subscriber from 0.3.10 to 0.3.11 ([#1131](https://github.com/gakonst/ethers-rs/issues/1131))
+- Bump web-sys from 0.3.56 to 0.3.57 ([#1122](https://github.com/gakonst/ethers-rs/issues/1122))
+- Bump wasm-bindgen from 0.2.79 to 0.2.80 ([#1121](https://github.com/gakonst/ethers-rs/issues/1121))
+- Bump wasm-bindgen-futures from 0.4.29 to 0.4.30 ([#1120](https://github.com/gakonst/ethers-rs/issues/1120))
+- Bump svm-rs for updated timeout
+- Bump proc-macro2 from 1.0.36 to 1.0.37 ([#1117](https://github.com/gakonst/ethers-rs/issues/1117))
+- Bump syn from 1.0.90 to 1.0.91 ([#1113](https://github.com/gakonst/ethers-rs/issues/1113))
+- Bump eyre from 0.6.7 to 0.6.8 ([#1110](https://github.com/gakonst/ethers-rs/issues/1110))
+- Bump pretty_assertions from 1.2.0 to 1.2.1 ([#1105](https://github.com/gakonst/ethers-rs/issues/1105))
+- Bump tracing-subscriber from 0.3.9 to 0.3.10 ([#1106](https://github.com/gakonst/ethers-rs/issues/1106))
+- Bump solang-parser 0.1.11 ([#1103](https://github.com/gakonst/ethers-rs/issues/1103))
+- Bump getrandom from 0.2.5 to 0.2.6 ([#1090](https://github.com/gakonst/ethers-rs/issues/1090))
+- Bump syn from 1.0.89 to 1.0.90 ([#1091](https://github.com/gakonst/ethers-rs/issues/1091))
+- Bump tokio-util from 0.7.0 to 0.7.1 ([#1089](https://github.com/gakonst/ethers-rs/issues/1089))
+- Bump semver from 1.0.6 to 1.0.7 ([#1085](https://github.com/gakonst/ethers-rs/issues/1085))
+- Bump minimist from 1.2.5 to 1.2.6 in /examples/ethers-wasm ([#1083](https://github.com/gakonst/ethers-rs/issues/1083))
+- Add some deny lints ([#1064](https://github.com/gakonst/ethers-rs/issues/1064))
+- Bump quote from 1.0.15 to 1.0.16 ([#1061](https://github.com/gakonst/ethers-rs/issues/1061))
+- Bump k256 from 0.10.3 to 0.10.4 ([#1037](https://github.com/gakonst/ethers-rs/issues/1037))
+- Bump syn from 1.0.88 to 1.0.89 ([#1046](https://github.com/gakonst/ethers-rs/issues/1046))
+- Bump reqwest from 0.11.9 to 0.11.10 ([#1031](https://github.com/gakonst/ethers-rs/issues/1031))
+- Bump k256 from 0.10.2 to 0.10.3 ([#1032](https://github.com/gakonst/ethers-rs/issues/1032))
+- Bump syn from 1.0.86 to 1.0.88 ([#1033](https://github.com/gakonst/ethers-rs/issues/1033))
+- Bump svm-rs and use returned install path ([#1034](https://github.com/gakonst/ethers-rs/issues/1034))
+- Bump pretty_assertions from 1.1.0 to 1.2.0 ([#1022](https://github.com/gakonst/ethers-rs/issues/1022))
+- Bump svm-rs
+- Bump tracing from 0.1.31 to 0.1.32 ([#1001](https://github.com/gakonst/ethers-rs/issues/1001))
+- Bump svm-rs for macos aarch releases
+- Bump regex from 1.5.4 to 1.5.5 ([#997](https://github.com/gakonst/ethers-rs/issues/997))
+- Bump solang ([#992](https://github.com/gakonst/ethers-rs/issues/992))
+- Bump once_cell from 1.9.0 to 1.10.0 ([#987](https://github.com/gakonst/ethers-rs/issues/987))
+- Bump ethabi to 17.0
+- Bump ethabi and trezor signing
+- Bump tokio-tungstenite from 0.16.1 to 0.17.1 ([#945](https://github.com/gakonst/ethers-rs/issues/945))
+- Bump eyre from 0.6.6 to 0.6.7 ([#973](https://github.com/gakonst/ethers-rs/issues/973))
+- Bump url-parse in /examples/ethers-wasm ([#974](https://github.com/gakonst/ethers-rs/issues/974))
+- Bump getrandom from 0.2.4 to 0.2.5 ([#955](https://github.com/gakonst/ethers-rs/issues/955))
+- Bump semver from 1.0.5 to 1.0.6 ([#944](https://github.com/gakonst/ethers-rs/issues/944))
+- Bump serial_test from 0.5.1 to 0.6.0 ([#938](https://github.com/gakonst/ethers-rs/issues/938))
+- Bump url-parse from 1.5.3 to 1.5.7 in /examples/ethers-wasm ([#932](https://github.com/gakonst/ethers-rs/issues/932))
+- Bump md-5 from 0.10.0 to 0.10.1 ([#922](https://github.com/gakonst/ethers-rs/issues/922))
+- Bump tracing from 0.1.30 to 0.1.31 ([#923](https://github.com/gakonst/ethers-rs/issues/923))
+- Bump ethabi from `321a651` to `e161e68` ([#925](https://github.com/gakonst/ethers-rs/issues/925))
+- Bump tracing-subscriber from 0.3.8 to 0.3.9 ([#924](https://github.com/gakonst/ethers-rs/issues/924))
+- Bump cargo_metadata from 0.14.1 to 0.14.2 ([#920](https://github.com/gakonst/ethers-rs/issues/920))
+- Bump eth-keystore from 0.4.0 to 0.4.1 ([#913](https://github.com/gakonst/ethers-rs/issues/913))
+- Bump rand from 0.8.4 to 0.8.5 ([#914](https://github.com/gakonst/ethers-rs/issues/914))
+- Bump follow-redirects in /examples/ethers-wasm ([#912](https://github.com/gakonst/ethers-rs/issues/912))
+- Chore/update eth keystore ([#910](https://github.com/gakonst/ethers-rs/issues/910))
+- Bump solang-parser from `f850719` to `b286b63` ([#896](https://github.com/gakonst/ethers-rs/issues/896))
+- Bump tokio-util from 0.6.9 to 0.7.0 ([#895](https://github.com/gakonst/ethers-rs/issues/895))
+- Bump ethabi from `6f18e11` to `321a651` ([#891](https://github.com/gakonst/ethers-rs/issues/891))
+- Bump solang-parser from `f3e8f6f` to `f850719` ([#881](https://github.com/gakonst/ethers-rs/issues/881))
+- Bump futures-util from 0.3.19 to 0.3.21 ([#872](https://github.com/gakonst/ethers-rs/issues/872))
+- Bump futures-executor from 0.3.19 to 0.3.21 ([#873](https://github.com/gakonst/ethers-rs/issues/873))
+- Bump semver from 1.0.4 to 1.0.5 ([#874](https://github.com/gakonst/ethers-rs/issues/874))
+- Bump tracing-subscriber from 0.3.7 to 0.3.8 ([#875](https://github.com/gakonst/ethers-rs/issues/875))
+- Rewrite compiler passes and cache change detection ([#802](https://github.com/gakonst/ethers-rs/issues/802))
+- Bump tracing from 0.1.29 to 0.1.30 ([#862](https://github.com/gakonst/ethers-rs/issues/862))
+- Bump ethabi from `c622438` to `6f18e11` ([#853](https://github.com/gakonst/ethers-rs/issues/853))
+- Bump pretty_assertions from 1.0.0 to 1.1.0 ([#854](https://github.com/gakonst/ethers-rs/issues/854))
+- Bump svm-rs
+- Bump elliptic-curve from 0.11.10 to 0.11.12 ([#845](https://github.com/gakonst/ethers-rs/issues/845))
+- Bump deps
+- Bump elliptic-curve from 0.11.9 to 0.11.10 ([#837](https://github.com/gakonst/ethers-rs/issues/837))
+- Bump tracing-subscriber from 0.3.6 to 0.3.7 ([#830](https://github.com/gakonst/ethers-rs/issues/830))
+- Bump quote from 1.0.14 to 1.0.15 ([#826](https://github.com/gakonst/ethers-rs/issues/826))
+- Bump wasm-bindgen-test from 0.3.28 to 0.3.29 ([#815](https://github.com/gakonst/ethers-rs/issues/815))
+- Bump syn from 1.0.85 to 1.0.86 ([#816](https://github.com/gakonst/ethers-rs/issues/816))
+- Bump web-sys from 0.3.55 to 0.3.56 ([#817](https://github.com/gakonst/ethers-rs/issues/817))
+- Bump wasm-bindgen from 0.2.78 to 0.2.79 ([#818](https://github.com/gakonst/ethers-rs/issues/818))
+- Bump wasm-bindgen-futures from 0.4.28 to 0.4.29 ([#819](https://github.com/gakonst/ethers-rs/issues/819))
+- Bump ethabi from `5781964` to `c622438` ([#812](https://github.com/gakonst/ethers-rs/issues/812))
+- Bump k256 from 0.10.1 to 0.10.2 ([#804](https://github.com/gakonst/ethers-rs/issues/804))
+- Bump elliptic-curve from 0.11.7 to 0.11.9 ([#803](https://github.com/gakonst/ethers-rs/issues/803))
+- Bump elliptic-curve from 0.11.6 to 0.11.7 ([#793](https://github.com/gakonst/ethers-rs/issues/793))
+- Bump tracing-subscriber from 0.3.5 to 0.3.6 ([#794](https://github.com/gakonst/ethers-rs/issues/794))
+- Bump follow-redirects in /examples/ethers-wasm ([#795](https://github.com/gakonst/ethers-rs/issues/795))
+- Bump solang ([#796](https://github.com/gakonst/ethers-rs/issues/796))
+- Bump getrandom from 0.2.3 to 0.2.4 ([#790](https://github.com/gakonst/ethers-rs/issues/790))
+- Bump ethabi master ([#787](https://github.com/gakonst/ethers-rs/issues/787))
+- Bump tempfile from 3.2.0 to 3.3.0 ([#780](https://github.com/gakonst/ethers-rs/issues/780))
+- Bump reqwest from 0.11.8 to 0.11.9 ([#785](https://github.com/gakonst/ethers-rs/issues/785))
+- Bump ecdsa from 0.13.3 to 0.13.4 ([#767](https://github.com/gakonst/ethers-rs/issues/767))
+- Bump syn from 1.0.84 to 1.0.85 ([#764](https://github.com/gakonst/ethers-rs/issues/764))
+- Bump k256 from 0.10.0 to 0.10.1 ([#762](https://github.com/gakonst/ethers-rs/issues/762))
+- Bump spki from 0.5.3 to 0.5.4 ([#763](https://github.com/gakonst/ethers-rs/issues/763))
+- Bump generic-array from 0.14.4 to 0.14.5 ([#758](https://github.com/gakonst/ethers-rs/issues/758))
+- Bump tracing-subscriber from 0.3.4 to 0.3.5 ([#752](https://github.com/gakonst/ethers-rs/issues/752))
+- Bump quote from 1.0.10 to 1.0.14 ([#746](https://github.com/gakonst/ethers-rs/issues/746))
+- Bump proc-macro2 from 1.0.35 to 1.0.36 ([#744](https://github.com/gakonst/ethers-rs/issues/744))
+- Bump convert_case from 0.4.0 to 0.5.0 ([#741](https://github.com/gakonst/ethers-rs/issues/741))
+- Bump proc-macro2 from 1.0.34 to 1.0.35 ([#743](https://github.com/gakonst/ethers-rs/issues/743))
+- Bump syn from 1.0.83 to 1.0.84 ([#742](https://github.com/gakonst/ethers-rs/issues/742))
+- Bump tracing-subscriber from 0.3.3 to 0.3.4 ([#730](https://github.com/gakonst/ethers-rs/issues/730))
+- Bump syn from 1.0.82 to 1.0.83 ([#726](https://github.com/gakonst/ethers-rs/issues/726))
+- Bump num_cpus from 1.13.0 to 1.13.1 ([#722](https://github.com/gakonst/ethers-rs/issues/722))
+- Bump futures-util from 0.3.17 to 0.3.19 ([#717](https://github.com/gakonst/ethers-rs/issues/717))
+- Bump futures-executor from 0.3.17 to 0.3.19 ([#718](https://github.com/gakonst/ethers-rs/issues/718))
+- Bump latest solc version ([#720](https://github.com/gakonst/ethers-rs/issues/720))
+- Bump solc everywhere ([#672](https://github.com/gakonst/ethers-rs/issues/672))
+- Bump solc 0.8.10 ([#670](https://github.com/gakonst/ethers-rs/issues/670))
+- Bump md-5 from 0.9.1 to 0.10.0 ([#660](https://github.com/gakonst/ethers-rs/issues/660))
+- Bump elliptic-curve from 0.11.1 to 0.11.5 ([#653](https://github.com/gakonst/ethers-rs/issues/653))
+- Bump proc-macro2 from 1.0.32 to 1.0.33 ([#654](https://github.com/gakonst/ethers-rs/issues/654))
+- Bump reqwest from 0.11.6 to 0.11.7 ([#636](https://github.com/gakonst/ethers-rs/issues/636))
+- Bump tracing-subscriber from 0.3.2 to 0.3.3 ([#635](https://github.com/gakonst/ethers-rs/issues/635))
+- Bump syn from 1.0.81 to 1.0.82 ([#620](https://github.com/gakonst/ethers-rs/issues/620))
+- Bump futures-executor from 0.3.17 to 0.3.18 ([#615](https://github.com/gakonst/ethers-rs/issues/615))
+
+### Documentation
+
+- Fix typo annonated to annotated ([#1790](https://github.com/gakonst/ethers-rs/issues/1790))
+- Add MSRV ([#1712](https://github.com/gakonst/ethers-rs/issues/1712))
+- Add comment about safety of u8 -> u64 cast in signature ([#1704](https://github.com/gakonst/ethers-rs/issues/1704))
+- Some additional retry docs ([#1537](https://github.com/gakonst/ethers-rs/issues/1537))
+- Fix broken doc links ([#1497](https://github.com/gakonst/ethers-rs/issues/1497))
+- Improve EventStream docs ([#1450](https://github.com/gakonst/ethers-rs/issues/1450))
+- Complete unfinished sentence in block comment
+- Improve abigen type docs ([#953](https://github.com/gakonst/ethers-rs/issues/953))
+- More docs and tracing ([#651](https://github.com/gakonst/ethers-rs/issues/651))
+
+### Features
+
+- Re-export H128 ([#1786](https://github.com/gakonst/ethers-rs/issues/1786))
+- Added more ethereum units ([#1760](https://github.com/gakonst/ethers-rs/issues/1760))
+- Parse SourceCode field ([#1747](https://github.com/gakonst/ethers-rs/issues/1747))
+- Add versioned artifacts helper ([#1752](https://github.com/gakonst/ethers-rs/issues/1752))
+- Add arbitrum-goerli ([#1734](https://github.com/gakonst/ethers-rs/issues/1734))
+- Add utility methods to NameOrAddress ([#1720](https://github.com/gakonst/ethers-rs/issues/1720))
+- Double anvil startup time ([#1702](https://github.com/gakonst/ethers-rs/issues/1702))
+- Detect requested backoff ([#1711](https://github.com/gakonst/ethers-rs/issues/1711))
+- Retry infura's header not found ([#1706](https://github.com/gakonst/ethers-rs/issues/1706))
+- Add blocked by cloudflare error ([#1703](https://github.com/gakonst/ethers-rs/issues/1703))
+- Subsitute structs in event bindings ([#1674](https://github.com/gakonst/ethers-rs/issues/1674))
+- Add extra Multicall helper methods ([#1666](https://github.com/gakonst/ethers-rs/issues/1666))
+- Improved debug format for Bytes ([#1658](https://github.com/gakonst/ethers-rs/issues/1658))
+- Add support for Optimism Goerli ([#1641](https://github.com/gakonst/ethers-rs/issues/1641))
+- Update Multicall to Multicall3 ([#1584](https://github.com/gakonst/ethers-rs/issues/1584))
+- Add uint8 type ([#1639](https://github.com/gakonst/ethers-rs/issues/1639))
+- More derives for geth trace structs ([#1637](https://github.com/gakonst/ethers-rs/issues/1637))
+- Descriptive deserialization errors ([#1633](https://github.com/gakonst/ethers-rs/issues/1633))
+- Support retrying connection errors ([#1629](https://github.com/gakonst/ethers-rs/issues/1629))
+- Add events function to set multiple event filter ([#1607](https://github.com/gakonst/ethers-rs/issues/1607))
+- Add invalid api key error type ([#1600](https://github.com/gakonst/ethers-rs/issues/1600))
+- Resolve absolute imports in libraries ([#1590](https://github.com/gakonst/ethers-rs/issues/1590))
+- Add missing helper functions ([#1592](https://github.com/gakonst/ethers-rs/issues/1592))
+- Added PartialEq to TraceType ([#1586](https://github.com/gakonst/ethers-rs/issues/1586))
+- Added Deserialize to TraceType ([#1585](https://github.com/gakonst/ethers-rs/issues/1585))
+- Add etherscan urls function ([#1582](https://github.com/gakonst/ethers-rs/issues/1582))
+- Add helper to checkout temp projects ([#1581](https://github.com/gakonst/ethers-rs/issues/1581))
+- Add contract filter ([#1564](https://github.com/gakonst/ethers-rs/issues/1564))
+- Add ProviderExt trait ([#1559](https://github.com/gakonst/ethers-rs/issues/1559))
+- Add missing str abi trait impls ([#1554](https://github.com/gakonst/ethers-rs/issues/1554))
+- Expose url for http ([#1550](https://github.com/gakonst/ethers-rs/issues/1550))
+- Add set_interval helper function ([#1551](https://github.com/gakonst/ethers-rs/issues/1551))
+- Add lib inclusion function ([#1547](https://github.com/gakonst/ethers-rs/issues/1547))
+- Add EthError trait and derive ([#1549](https://github.com/gakonst/ethers-rs/issues/1549))
+- Add support for EIP-712 typed data ([#1510](https://github.com/gakonst/ethers-rs/issues/1510))
+- Erc1155 token transfer events endpoint ([#1503](https://github.com/gakonst/ethers-rs/issues/1503))
+- Bump abi/token tuple limit ([#1506](https://github.com/gakonst/ethers-rs/issues/1506))
+- Initial commit ([#1469](https://github.com/gakonst/ethers-rs/issues/1469))
+- Handle conflicting artifacts properly ([#1491](https://github.com/gakonst/ethers-rs/issues/1491))
+- Allow event builder to stream with meta ([#1483](https://github.com/gakonst/ethers-rs/issues/1483))
+- Add Sepolia endpoint ([#1467](https://github.com/gakonst/ethers-rs/issues/1467))
+- Add --fork-block-number setter for anvil bindings ([#1468](https://github.com/gakonst/ethers-rs/issues/1468))
+- Configurable build-info output dir ([#1433](https://github.com/gakonst/ethers-rs/issues/1433))
+- Impl Ord for receipt ([#1434](https://github.com/gakonst/ethers-rs/issues/1434))
+- Add remove_contract utility function ([#1436](https://github.com/gakonst/ethers-rs/issues/1436))
+- Add more contract iter helper functions ([#1438](https://github.com/gakonst/ethers-rs/issues/1438))
+- Include opcodes in output ([#1435](https://github.com/gakonst/ethers-rs/issues/1435))
+- Capture unknown fields ([#1423](https://github.com/gakonst/ethers-rs/issues/1423))
+- Add human readable function parser ([#1416](https://github.com/gakonst/ethers-rs/issues/1416))
+- More sensible backoff calc ([#1413](https://github.com/gakonst/ethers-rs/issues/1413))
+- Add Contract Info structs ([#1407](https://github.com/gakonst/ethers-rs/issues/1407))
+- Feat!(solc): add additional remove functions ([#1406](https://github.com/gakonst/ethers-rs/issues/1406))
+- Add evmos support ([#1398](https://github.com/gakonst/ethers-rs/issues/1398))
+- Add eth filter deserialization and matching ([#1389](https://github.com/gakonst/ethers-rs/issues/1389))
+- Emit build info files if configured ([#1338](https://github.com/gakonst/ethers-rs/issues/1338))
+- Emit additional raw metadata field ([#1365](https://github.com/gakonst/ethers-rs/issues/1365))
+- Add option to create ws provider with auth ([#1363](https://github.com/gakonst/ethers-rs/issues/1363))
+- Add script/ to project paths ([#1359](https://github.com/gakonst/ethers-rs/issues/1359))
+- Add anvil hardhat chain id ([#1356](https://github.com/gakonst/ethers-rs/issues/1356))
+- Source map getters for deployed bytecode ([#1348](https://github.com/gakonst/ethers-rs/issues/1348))
+- Add display impl for BlockNumber ([#1346](https://github.com/gakonst/ethers-rs/issues/1346))
+- Additional chain apis ([#1343](https://github.com/gakonst/ethers-rs/issues/1343))
+- Add `RetryClient` ([#1302](https://github.com/gakonst/ethers-rs/issues/1302))
+- Adds cargo audit workflow ([#1318](https://github.com/gakonst/ethers-rs/issues/1318))
+- Use relative paths and --base-path option ([#1317](https://github.com/gakonst/ethers-rs/issues/1317))
+- Impl AbiEncode, AbiDecode for I256 ([#1311](https://github.com/gakonst/ethers-rs/issues/1311))
+- Add `as_*_mut` methods on `TypedTransaction` ([#1310](https://github.com/gakonst/ethers-rs/issues/1310))
+- Make cache entries relative to root dir ([#1307](https://github.com/gakonst/ethers-rs/issues/1307))
+- Add paginated logs ([#1285](https://github.com/gakonst/ethers-rs/issues/1285))
+- Opt out of checking cargo.toml for consistency ([#1301](https://github.com/gakonst/ethers-rs/issues/1301))
+- Install solc io reporter in basic reporter ([#1295](https://github.com/gakonst/ethers-rs/issues/1295))
+- Emit artifacts for standalone source files ([#1296](https://github.com/gakonst/ethers-rs/issues/1296))
+- Add tx builder methods ([#1289](https://github.com/gakonst/ethers-rs/issues/1289))
+- Include id in artifact ([#1284](https://github.com/gakonst/ethers-rs/issues/1284))
+- Add  helpers to unwrap `TypedTransaction` ([#1278](https://github.com/gakonst/ethers-rs/issues/1278))
+- Added Cronos testnet ([#1276](https://github.com/gakonst/ethers-rs/issues/1276))
+- Load previous logs before subscribing ([#1264](https://github.com/gakonst/ethers-rs/issues/1264))
+- Add eip-1898 deserialize for BlockId ([#1257](https://github.com/gakonst/ethers-rs/issues/1257))
+- Add strip and join functions to sources and contracts ([#1252](https://github.com/gakonst/ethers-rs/issues/1252))
+- Add source map access functions ([#1253](https://github.com/gakonst/ethers-rs/issues/1253))
+- Remaining AST nodes ([#1201](https://github.com/gakonst/ethers-rs/issues/1201))
+- Add human readable tokenizer and parser ([#1234](https://github.com/gakonst/ethers-rs/issues/1234))
+- Lookup solc build metadata ([#1242](https://github.com/gakonst/ethers-rs/issues/1242))
+- Support overloaded events ([#1233](https://github.com/gakonst/ethers-rs/issues/1233))
+- Store source files with their solc version ([#1231](https://github.com/gakonst/ethers-rs/issues/1231))
+- Add moonbeam urls ([#1232](https://github.com/gakonst/ethers-rs/issues/1232))
+- Add missing options for configurable artifact ([#1223](https://github.com/gakonst/ethers-rs/issues/1223))
+- Pending transaction retries repeatedly before assuming dropped ([#1221](https://github.com/gakonst/ethers-rs/issues/1221))
+- Support logging multiple files via io logger ([#1216](https://github.com/gakonst/ethers-rs/issues/1216))
+- Add ClientBuilder type ([#1193](https://github.com/gakonst/ethers-rs/issues/1193))
+- Add block conversion helpers ([#1186](https://github.com/gakonst/ethers-rs/issues/1186))
+- Relax `Clone` requirements when `Arc<M>` is used ([#1183](https://github.com/gakonst/ethers-rs/issues/1183))
+- Blocknative gas oracle ([#1175](https://github.com/gakonst/ethers-rs/issues/1175))
+- Add minimal ast bindings ([#1167](https://github.com/gakonst/ethers-rs/issues/1167))
+- Function debug data in extra output ([#1165](https://github.com/gakonst/ethers-rs/issues/1165))
+- Abi as an extra file ([#1166](https://github.com/gakonst/ethers-rs/issues/1166))
+- Add standardjson compiler input type ([#1169](https://github.com/gakonst/ethers-rs/issues/1169))
+- Make stream mod public ([#1160](https://github.com/gakonst/ethers-rs/issues/1160))
+- Add debug info bindings ([#1161](https://github.com/gakonst/ethers-rs/issues/1161))
+- Add anvil bindings ([#1164](https://github.com/gakonst/ethers-rs/issues/1164))
+- Accept different middlewares for contract connect ([#1159](https://github.com/gakonst/ethers-rs/issues/1159))
+- Impl rlp encodable for log and receipt ([#1153](https://github.com/gakonst/ethers-rs/issues/1153))
+- Add RwClient ([#1016](https://github.com/gakonst/ethers-rs/issues/1016))
+- Add deserialize support for ValueorArray ([#1138](https://github.com/gakonst/ethers-rs/issues/1138))
+- Implemented signed transaction RLP decoding ([#1096](https://github.com/gakonst/ethers-rs/issues/1096))
+- Add standard-json-input ([#1126](https://github.com/gakonst/ethers-rs/issues/1126))
+- Strip experimental pragma from all imported contracts ([#1116](https://github.com/gakonst/ethers-rs/issues/1116))
+- Add caching  ([#1108](https://github.com/gakonst/ethers-rs/issues/1108))
+- Add bytecode hash variants ([#1104](https://github.com/gakonst/ethers-rs/issues/1104))
+- Pass compile time to reporter ([#1098](https://github.com/gakonst/ethers-rs/issues/1098))
+- Include project paths in cache ([#1097](https://github.com/gakonst/ethers-rs/issues/1097))
+- Add dev as a chain ([#1093](https://github.com/gakonst/ethers-rs/issues/1093))
+- Add `ArtifactId::identifier()` ([#1087](https://github.com/gakonst/ethers-rs/issues/1087))
+- Add TryFrom String reference for http provider ([#1084](https://github.com/gakonst/ethers-rs/issues/1084))
+- Include source file ast in artifact ([#1081](https://github.com/gakonst/ethers-rs/issues/1081))
+- Ability to get artifacts + sources ([#1080](https://github.com/gakonst/ethers-rs/issues/1080))
+- Add helper for calculating max cost of tx ([#1070](https://github.com/gakonst/ethers-rs/issues/1070))
+- Use svm-builds instead of fetching http releases list ([#1063](https://github.com/gakonst/ethers-rs/issues/1063))
+- Add abi object deserializer and generate deploy function ([#1030](https://github.com/gakonst/ethers-rs/issues/1030))
+- Add hex encode and decode functions ([#1059](https://github.com/gakonst/ethers-rs/issues/1059))
+- More artifact trait functions ([#1057](https://github.com/gakonst/ethers-rs/issues/1057))
+- Support for solc io json output ([#1043](https://github.com/gakonst/ethers-rs/issues/1043))
+- Add viaIR option ([#1049](https://github.com/gakonst/ethers-rs/issues/1049))
+- Add gas_target and next_block_base_fee fns a… ([#1047](https://github.com/gakonst/ethers-rs/issues/1047))
+- Support customized output selection pruning ([#1039](https://github.com/gakonst/ethers-rs/issues/1039))
+- Optimize output selection in cache mode ([#1029](https://github.com/gakonst/ethers-rs/issues/1029))
+- Add mock project generator ([#1011](https://github.com/gakonst/ethers-rs/issues/1011))
+- Add solc install error report ([#1027](https://github.com/gakonst/ethers-rs/issues/1027))
+- Set from on tx before calling eth_call, eth_createAccessList, eth_estimateGas ([#1021](https://github.com/gakonst/ethers-rs/issues/1021))
+- Rotate infura keys for ws
+- Rotating infura keys ([#1017](https://github.com/gakonst/ethers-rs/issues/1017))
+- Yul compilation ([#994](https://github.com/gakonst/ethers-rs/issues/994))
+- Remapping helper functions ([#1003](https://github.com/gakonst/ethers-rs/issues/1003))
+- Add scoped reporter ([#1000](https://github.com/gakonst/ethers-rs/issues/1000))
+- Source tree support ([#990](https://github.com/gakonst/ethers-rs/issues/990))
+- Impl FromStr ([#991](https://github.com/gakonst/ethers-rs/issues/991))
+- Add contract interface helpers ([#982](https://github.com/gakonst/ethers-rs/issues/982))
+- Add helper for getting number of abigen'd contracts
+- Implement Default trait ([#976](https://github.com/gakonst/ethers-rs/issues/976))
+- Expose pending tx_hash with a getter ([#968](https://github.com/gakonst/ethers-rs/issues/968))
+- Account endpoints ([#939](https://github.com/gakonst/ethers-rs/issues/939))
+- Support shared type during multiabigen ([#959](https://github.com/gakonst/ethers-rs/issues/959))
+- Add contract code not verified check ([#962](https://github.com/gakonst/ethers-rs/issues/962))
+- Add helper functions to compile standalone files ([#931](https://github.com/gakonst/ethers-rs/issues/931))
+- Add tree printer implementation ([#933](https://github.com/gakonst/ethers-rs/issues/933))
+- Add Cronos and Cronos testnet ([#926](https://github.com/gakonst/ethers-rs/issues/926))
+- Add configurable Artifact type ([#907](https://github.com/gakonst/ethers-rs/issues/907))
+- Add getter to `ProjectCompileOutput` ([#908](https://github.com/gakonst/ethers-rs/issues/908))
+- Report on unresolved imports ([#905](https://github.com/gakonst/ethers-rs/issues/905))
+- Use svm blocking feature ([#904](https://github.com/gakonst/ethers-rs/issues/904))
+- Make to_string and from_str inverse functions ([#903](https://github.com/gakonst/ethers-rs/issues/903))
+- More options for output selection ([#898](https://github.com/gakonst/ethers-rs/issues/898))
+- Better metadata support ([#894](https://github.com/gakonst/ethers-rs/issues/894))
+- Add Reporter type ([#883](https://github.com/gakonst/ethers-rs/issues/883))
+- Log methods for PendingTransaction ([#884](https://github.com/gakonst/ethers-rs/issues/884))
+- Implement Artifact for serde_json ([#885](https://github.com/gakonst/ethers-rs/issues/885))
+- Add `send_with_receipt` to `Deployer` ([#865](https://github.com/gakonst/ethers-rs/issues/865))
+- Add arbitrum support ([#869](https://github.com/gakonst/ethers-rs/issues/869))
+- Add optimizer details ([#868](https://github.com/gakonst/ethers-rs/issues/868))
+- Compiler pipeline improvements ([#866](https://github.com/gakonst/ethers-rs/issues/866))
+- Impl codec for Bytes ([#856](https://github.com/gakonst/ethers-rs/issues/856))
+- Add BSC networks to the is_legacy helper ([#843](https://github.com/gakonst/ethers-rs/issues/843))
+- Is_legacy helper ([#835](https://github.com/gakonst/ethers-rs/issues/835))
+- Add BSC and BSC testnet ([#831](https://github.com/gakonst/ethers-rs/issues/831))
+- Flatten ([#774](https://github.com/gakonst/ethers-rs/issues/774))
+- Relative remappings ([#786](https://github.com/gakonst/ethers-rs/issues/786))
+- Enum values + TryFrom<u64> ([#782](https://github.com/gakonst/ethers-rs/issues/782))
+- Expose svm_compile
+- Change abi_str to abi from contract in for hardhat abi ([#740](https://github.com/gakonst/ethers-rs/issues/740))
+- Add more contract utility types and functions ([#765](https://github.com/gakonst/ethers-rs/issues/765))
+- Add source map parser ([#658](https://github.com/gakonst/ethers-rs/issues/658))
+- Add dependency graph implementation ([#750](https://github.com/gakonst/ethers-rs/issues/750))
+- Add path auto detection ([#761](https://github.com/gakonst/ethers-rs/issues/761))
+- Add FromStr impl for Chain ([#756](https://github.com/gakonst/ethers-rs/issues/756))
+- Cache session on filesystem ([#747](https://github.com/gakonst/ethers-rs/issues/747))
+- Search json recursively ([#733](https://github.com/gakonst/ethers-rs/issues/733))
+- Add EventStream::select to combine multiple event streams ([#725](https://github.com/gakonst/ethers-rs/issues/725))
+- Add MultiAbigen to generate multiple contract bindings ([#724](https://github.com/gakonst/ethers-rs/issues/724))
+- Add provided derives for call and event enums ([#721](https://github.com/gakonst/ethers-rs/issues/721))
+- Add EthAbiCodec proc macro ([#704](https://github.com/gakonst/ethers-rs/issues/704))
+- Revamped remapping auto detect ([#706](https://github.com/gakonst/ethers-rs/issues/706))
+- New ethabi for error types ([#700](https://github.com/gakonst/ethers-rs/issues/700))
+- Set nonce in fill transaction ([#687](https://github.com/gakonst/ethers-rs/issues/687))
+- Trezor support ([#663](https://github.com/gakonst/ethers-rs/issues/663))
+- Add workspace utils ([#678](https://github.com/gakonst/ethers-rs/issues/678))
+- Add hardhat artifact support ([#677](https://github.com/gakonst/ethers-rs/issues/677))
+- Extend Artifact trait ([#673](https://github.com/gakonst/ethers-rs/issues/673))
+- Use structs for outputs ([#664](https://github.com/gakonst/ethers-rs/issues/664))
+- Add support for library linking ([#656](https://github.com/gakonst/ethers-rs/issues/656))
+- Add support for compiling solc in parallel ([#652](https://github.com/gakonst/ethers-rs/issues/652))
+- Support overloaded functions with different casing ([#650](https://github.com/gakonst/ethers-rs/issues/650))
+- Add clean up function ([#649](https://github.com/gakonst/ethers-rs/issues/649))
+- Improve solc detection and reduce install effort ([#648](https://github.com/gakonst/ethers-rs/issues/648))
+- Use AbiType when parsing Function abi signature fails at compile time ([#647](https://github.com/gakonst/ethers-rs/issues/647))
+- Impl Default for eip2718::TypedTransaction ([#646](https://github.com/gakonst/ethers-rs/issues/646))
+- Add moonbeam support ([#644](https://github.com/gakonst/ethers-rs/issues/644))
+- Implement gas endpoints and use in oracle middleware ([#621](https://github.com/gakonst/ethers-rs/issues/621))
+- Implement hex display for Bytes ([#624](https://github.com/gakonst/ethers-rs/issues/624))
+- Verify checksum before project compilation ([#614](https://github.com/gakonst/ethers-rs/issues/614))
+
+### Miscellaneous Tasks
+
+- Reexport BigEndianHash ([#1789](https://github.com/gakonst/ethers-rs/issues/1789))
+- Disable remove_liq example
+- Fix clippy
+- Make clippy happy ([#1778](https://github.com/gakonst/ethers-rs/issues/1778))
+- Create artifacts folder on output ([#1772](https://github.com/gakonst/ethers-rs/issues/1772))
+- Replace rinkeby with goerli ([#1768](https://github.com/gakonst/ethers-rs/issues/1768))
+- Rm unwrap ([#1744](https://github.com/gakonst/ethers-rs/issues/1744))
+- Format polygon-mumbai as mumbai ([#1737](https://github.com/gakonst/ethers-rs/issues/1737))
+- Support fuji alias ([#1723](https://github.com/gakonst/ethers-rs/issues/1723))
+- Add another artifacts helper type ([#1722](https://github.com/gakonst/ethers-rs/issues/1722))
+- Add cloudflare test case ([#1721](https://github.com/gakonst/ethers-rs/issues/1721))
+- Log response data on error ([#1698](https://github.com/gakonst/ethers-rs/issues/1698))
+- Inherit stderr ([#1689](https://github.com/gakonst/ethers-rs/issues/1689))
+- Make clippy happy ([#1688](https://github.com/gakonst/ethers-rs/issues/1688))
+- Remove unused import
+- Add abigen to default features ([#1684](https://github.com/gakonst/ethers-rs/issues/1684))
+- Export abi related types ([#1677](https://github.com/gakonst/ethers-rs/issues/1677))
+- Replace colorized with yansi ([#1662](https://github.com/gakonst/ethers-rs/issues/1662))
+- Make clippy happy ([#1659](https://github.com/gakonst/ethers-rs/issues/1659))
+- Match standalone mumbai for chain ([#1656](https://github.com/gakonst/ethers-rs/issues/1656))
+- Update svm ([#1627](https://github.com/gakonst/ethers-rs/issues/1627))
+- Add some traces ([#1622](https://github.com/gakonst/ethers-rs/issues/1622))
+- Improve file not found error ([#1611](https://github.com/gakonst/ethers-rs/issues/1611))
+- Make proof response fields pub ([#1612](https://github.com/gakonst/ethers-rs/issues/1612))
+- Improve io error for bad symlinks ([#1594](https://github.com/gakonst/ethers-rs/issues/1594))
+- Make clippy happy ([#1595](https://github.com/gakonst/ethers-rs/issues/1595))
+- Add set cache helper ([#1589](https://github.com/gakonst/ethers-rs/issues/1589))
+- Update svm and svm-builds ([#1588](https://github.com/gakonst/ethers-rs/issues/1588))
+- Update svm crates ([#1579](https://github.com/gakonst/ethers-rs/issues/1579))
+- Skip none trace error ([#1577](https://github.com/gakonst/ethers-rs/issues/1577))
+- Update max solc version 0.8.16 ([#1578](https://github.com/gakonst/ethers-rs/issues/1578))
+- Add aurora etherscan endpoints ([#1572](https://github.com/gakonst/ethers-rs/issues/1572))
+- Improve remapping errors ([#1570](https://github.com/gakonst/ethers-rs/issues/1570))
+- Reexport filter ([#1565](https://github.com/gakonst/ethers-rs/issues/1565))
+- Make clippy happy ([#1525](https://github.com/gakonst/ethers-rs/issues/1525))
+- Add Anvil::at and anvil example ([#1486](https://github.com/gakonst/ethers-rs/issues/1486))
+- Make clippy happy ([#1475](https://github.com/gakonst/ethers-rs/issues/1475))
+- Make ethers-solc optional ([#1463](https://github.com/gakonst/ethers-rs/issues/1463))
+- Export quorum's JsonRpcClientWrapper ([#1439](https://github.com/gakonst/ethers-rs/issues/1439))
+- Add gas_mut function ([#1427](https://github.com/gakonst/ethers-rs/issues/1427))
+- Convenience impls for Bytes ([#1421](https://github.com/gakonst/ethers-rs/issues/1421))
+- Update svm-rs ([#1415](https://github.com/gakonst/ethers-rs/issues/1415))
+- Make ethers-etherscan compile for wasm32 ([#1403](https://github.com/gakonst/ethers-rs/issues/1403))
+- Silence wasm warnings ([#1404](https://github.com/gakonst/ethers-rs/issues/1404))
+- Add moonbase chain id ([#1397](https://github.com/gakonst/ethers-rs/issues/1397))
+- Improve checksum error message ([#1394](https://github.com/gakonst/ethers-rs/issues/1394))
+- Update svm-rs and svm-rs-builds ([#1395](https://github.com/gakonst/ethers-rs/issues/1395))
+- Update svm-rs and svm-rs-builds ([#1387](https://github.com/gakonst/ethers-rs/issues/1387))
+- Add traces to retry provider ([#1382](https://github.com/gakonst/ethers-rs/issues/1382))
+- Add blocknumber convenience impls ([#1368](https://github.com/gakonst/ethers-rs/issues/1368))
+- Reexport ethabi module ([#1362](https://github.com/gakonst/ethers-rs/issues/1362))
+- Remove redundant call ([#1320](https://github.com/gakonst/ethers-rs/issues/1320))
+- Fix wasm warnings ([#1312](https://github.com/gakonst/ethers-rs/issues/1312))
+- Log error on ws unexpected close
+- Fix newest nightly lints ([#1298](https://github.com/gakonst/ethers-rs/issues/1298))
+- Make clippy happy ([#1230](https://github.com/gakonst/ethers-rs/issues/1230))
+- Update moonbeam url ([#1228](https://github.com/gakonst/ethers-rs/issues/1228))
+- Update VerifyArgs ([#1212](https://github.com/gakonst/ethers-rs/issues/1212))
+- Fix typo in provider readme
+- Remove async feature requirement ([#1181](https://github.com/gakonst/ethers-rs/issues/1181))
+- Include error code in diagnostic ([#1171](https://github.com/gakonst/ethers-rs/issues/1171))
+- Derive default for log ([#1168](https://github.com/gakonst/ethers-rs/issues/1168))
+- Silence unused warnings ([#1162](https://github.com/gakonst/ethers-rs/issues/1162))
+- Update svm ([#1150](https://github.com/gakonst/ethers-rs/issues/1150))
+- Add as number helper function ([#1139](https://github.com/gakonst/ethers-rs/issues/1139))
+- Make ipfs the default bytecodehash again ([#1128](https://github.com/gakonst/ethers-rs/issues/1128))
+- Expose some helpers ([#1118](https://github.com/gakonst/ethers-rs/issues/1118))
+- Add examples with required features ([#1109](https://github.com/gakonst/ethers-rs/issues/1109))
+- Add some solc checksum traces ([#1088](https://github.com/gakonst/ethers-rs/issues/1088))
+- Add .sol extension when missing ([#1077](https://github.com/gakonst/ethers-rs/issues/1077))
+- Update svm ([#1074](https://github.com/gakonst/ethers-rs/issues/1074))
+- Update svm-rs and svm-rs-builds ([#1069](https://github.com/gakonst/ethers-rs/issues/1069))
+- Return error for unverified contracts ([#1065](https://github.com/gakonst/ethers-rs/issues/1065))
+- Decrease tx count in nonce manager test ([#1053](https://github.com/gakonst/ethers-rs/issues/1053))
+- Do not pin eyre patch version
+- Improve error message when bindings out of sync ([#1025](https://github.com/gakonst/ethers-rs/issues/1025))
+- Provide remappings on unresolved import message ([#1026](https://github.com/gakonst/ethers-rs/issues/1026))
+- Go back to upstream svm
+- Make on_solc_success a no-op to avoid duplicate logs
+- Add rate limit message ([#971](https://github.com/gakonst/ethers-rs/issues/971))
+- Cargo --fix ([#921](https://github.com/gakonst/ethers-rs/issues/921))
+- Fix all warnings ([#890](https://github.com/gakonst/ethers-rs/issues/890))
+- Rm no longer valid todo ([#870](https://github.com/gakonst/ethers-rs/issues/870))
+- Lints
+- Add info messages to solc install/compile ([#838](https://github.com/gakonst/ethers-rs/issues/838))
+- Remove broken celo test
+- Also rm cache dir if empty ([#822](https://github.com/gakonst/ethers-rs/issues/822))
+- Add more convenience functions ([#810](https://github.com/gakonst/ethers-rs/issues/810))
+- Add ord derive ([#807](https://github.com/gakonst/ethers-rs/issues/807))
+- Update ethabi
+- Silence unused ws macro ([#788](https://github.com/gakonst/ethers-rs/issues/788))
+- Fix lints / solc test
+- Use new acc for rinkeby integration tests
+- More verbose traces ([#738](https://github.com/gakonst/ethers-rs/issues/738))
+- Remove old webpki dep from reqwest
+- Disable auto-enabling of asm
+- Add display impl for PathsConfig ([#708](https://github.com/gakonst/ethers-rs/issues/708))
+- Use new remapping detection ([#707](https://github.com/gakonst/ethers-rs/issues/707))
+- Make clippy happy ([#705](https://github.com/gakonst/ethers-rs/issues/705))
+- Remove unused patch
+- Allow unused http_get ([#674](https://github.com/gakonst/ethers-rs/issues/674))
+- Makes etherscan::Result pub(crate) ([#638](https://github.com/gakonst/ethers-rs/issues/638))
+- Update changelog
+
+### Other
+
+- Add safe and finalized  tag to BlockNumber ([#1792](https://github.com/gakonst/ethers-rs/issues/1792))
+- Add option to disable CBOR metadata in bytecode. ([#1782](https://github.com/gakonst/ethers-rs/issues/1782))
+- Disable remove_liq and revert to always use rinkeby
+- Fix Transaction decoding ([#1773](https://github.com/gakonst/ethers-rs/issues/1773))
+- Re-enable remove_liq example and replace key w goerli key
+- Drop anvil stdout ([#1759](https://github.com/gakonst/ethers-rs/issues/1759))
+- Return `Arc<M>` instead of `&M` ([#1731](https://github.com/gakonst/ethers-rs/issues/1731))
+- Omit ([#1686](https://github.com/gakonst/ethers-rs/issues/1686))
+- Serialize viaIR setting ([#1655](https://github.com/gakonst/ethers-rs/issues/1655))
+- Explicitly handle all chains on match ([#1635](https://github.com/gakonst/ethers-rs/issues/1635))
+- Derive debug, clone and copy ([#1634](https://github.com/gakonst/ethers-rs/issues/1634))
+- Fix 'get_transactions' response. ([#1632](https://github.com/gakonst/ethers-rs/issues/1632))
+- More gas oracles ([#1251](https://github.com/gakonst/ethers-rs/issues/1251))
+- Don't auto-generate an AccessList when sending/filling a tx ([#1619](https://github.com/gakonst/ethers-rs/issues/1619))
+- Export LogQueryError ([#1615](https://github.com/gakonst/ethers-rs/issues/1615))
+- Fix bug in basic lib and basic contract generation ([#1580](https://github.com/gakonst/ethers-rs/issues/1580))
+- Derive Clone on Wallet ([#1573](https://github.com/gakonst/ethers-rs/issues/1573))
+- Take provider interval on PendingTransaction ([#1558](https://github.com/gakonst/ethers-rs/issues/1558))
+- Solang parser 0.1.17 ([#1548](https://github.com/gakonst/ethers-rs/issues/1548))
+- Rm pinned nightly ([#1541](https://github.com/gakonst/ethers-rs/issues/1541))
+- Add a simple constructor for Wallet ([#1530](https://github.com/gakonst/ethers-rs/issues/1530))
+- MBlockerge branch 'master' of github.com:gakonst/ethers-rs
+- Add immutableReferences output selector ([#1523](https://github.com/gakonst/ethers-rs/issues/1523))
+- Update README to document common feature flags for providers (websock… ([#1493](https://github.com/gakonst/ethers-rs/issues/1493))
+- Set URL to binaries.soliditylang.org ([#1490](https://github.com/gakonst/ethers-rs/issues/1490))
+- For fix test code, Added morden to chainid as a Mock-like value. ([#1472](https://github.com/gakonst/ethers-rs/issues/1472))
+- Fix build info default directory ([#1458](https://github.com/gakonst/ethers-rs/issues/1458))
+- Impl fastrlp traits for AccessList ([#1456](https://github.com/gakonst/ethers-rs/issues/1456))
+- Generate structs for the return data of abigen-erated contracts ([#1440](https://github.com/gakonst/ethers-rs/issues/1440))
+- Impl fastrlp traits for Signature ([#1444](https://github.com/gakonst/ethers-rs/issues/1444))
+- TypedTransaction methods into builder style ([#1414](https://github.com/gakonst/ethers-rs/issues/1414))
+- Use H64 for Block Nonce ([#1396](https://github.com/gakonst/ethers-rs/issues/1396))
+- Add call builder and eth_call state overrides ([#1340](https://github.com/gakonst/ethers-rs/issues/1340))
+- Make abigen-ed modules pub ([#1332](https://github.com/gakonst/ethers-rs/issues/1332))
+- `get_paginated_logs` fixes and refactoring ([#1328](https://github.com/gakonst/ethers-rs/issues/1328))
+- Add Arithmetic Shift Right operation for I256 ([#1324](https://github.com/gakonst/ethers-rs/issues/1324))
+- Remove liquidity example ([#1290](https://github.com/gakonst/ethers-rs/issues/1290))
+- Return instead of ignore error ([#1287](https://github.com/gakonst/ethers-rs/issues/1287))
+- Relax thiserror minor version constraint ([#1294](https://github.com/gakonst/ethers-rs/issues/1294))
+- Update & lock solang ([#1256](https://github.com/gakonst/ethers-rs/issues/1256))
+- Add Block::time ([#1250](https://github.com/gakonst/ethers-rs/issues/1250))
+- Impl TryFrom<U256> for Chain ([#1247](https://github.com/gakonst/ethers-rs/issues/1247))
+- Robust gas oracles ([#1222](https://github.com/gakonst/ethers-rs/issues/1222))
+- Make Ganache Startup Timeout *Configurable*. ([#1224](https://github.com/gakonst/ethers-rs/issues/1224))
+- Update document to enable ws & rustls / openssl if user wants to use websockets ([#1197](https://github.com/gakonst/ethers-rs/issues/1197))
+- Adds From<H160> trait to ValueOrArray<H160> ([#1200](https://github.com/gakonst/ethers-rs/issues/1200))
+- Ledger should have correct signature v value for chains with large chain ID ([#1204](https://github.com/gakonst/ethers-rs/issues/1204))
+- Use EIP155 for all signers with empty transaction `chain_id` ([#1198](https://github.com/gakonst/ethers-rs/issues/1198))
+- Update event.rs ([#1173](https://github.com/gakonst/ethers-rs/issues/1173))
+- Adjust flatten format ([#1172](https://github.com/gakonst/ethers-rs/issues/1172))
+- Cleanup of links and requirements in README ([#1163](https://github.com/gakonst/ethers-rs/issues/1163))
+- Pub deployer can modify defaults ([#1156](https://github.com/gakonst/ethers-rs/issues/1156))
+- Tx optional from ([#1075](https://github.com/gakonst/ethers-rs/issues/1075))
+- Show how to retrieve block metadata ([#1058](https://github.com/gakonst/ethers-rs/issues/1058))
+- Temporarily disable examples
+- Utterly nitpicking but i was annoyed ([#1038](https://github.com/gakonst/ethers-rs/issues/1038))
+- Fix websocket connection request ([#1005](https://github.com/gakonst/ethers-rs/issues/1005))
+- Enforce commutativity of reverse resolution ([#996](https://github.com/gakonst/ethers-rs/issues/996))
+- Handle case where the data from the resolver is empty ([#963](https://github.com/gakonst/ethers-rs/issues/963))
+- Add missing chains into parse method ([#941](https://github.com/gakonst/ethers-rs/issues/941))
+- Artifact ids ([#882](https://github.com/gakonst/ethers-rs/issues/882))
+- Add Ftm multicall addresses ([#927](https://github.com/gakonst/ethers-rs/issues/927))
+- Change visibility of the function request in Provider<JsonRpcClient> to public so one can implement Middleware's with custom call to the node ([#919](https://github.com/gakonst/ethers-rs/issues/919))
+- Remove `limit` on `Filter` ([#917](https://github.com/gakonst/ethers-rs/issues/917))
+- Expose New `call_raw` API that permits MultiCalls without Detokenization ([#915](https://github.com/gakonst/ethers-rs/issues/915))
+- Hide Infura API key from docs ([#863](https://github.com/gakonst/ethers-rs/issues/863))
+- Add dese default_for_null ([#860](https://github.com/gakonst/ethers-rs/issues/860))
+- Flatten before verification ([#828](https://github.com/gakonst/ethers-rs/issues/828))
+- Replace anyhow with eyre in examples ([#859](https://github.com/gakonst/ethers-rs/issues/859))
+- Add eth_syncing RPC ([#848](https://github.com/gakonst/ethers-rs/issues/848))
+- Write outputs to file, if selected ([#847](https://github.com/gakonst/ethers-rs/issues/847))
+- Implement RLP decoding for transactions ([#805](https://github.com/gakonst/ethers-rs/issues/805))
+- Fix overflow and panic in priority fee estimation ([#839](https://github.com/gakonst/ethers-rs/issues/839))
+- Write `CompactContractBytecode` instead of `CompactContract` ([#833](https://github.com/gakonst/ethers-rs/issues/833))
+- Add authorization for http and websocket ([#829](https://github.com/gakonst/ethers-rs/issues/829))
+- Revert "Remove entire cache folder, not just contents ([#820](https://github.com/gakonst/ethers-rs/issues/820))" ([#821](https://github.com/gakonst/ethers-rs/issues/821))
+- Revert "Remove entire cache folder, not just contents ([#820](https://github.com/gakonst/ethers-rs/issues/820))"
+- Remove entire cache folder, not just contents ([#820](https://github.com/gakonst/ethers-rs/issues/820))
+- Fantom chain ([#806](https://github.com/gakonst/ethers-rs/issues/806))
+- Add abigen uniswapv2 example ([#798](https://github.com/gakonst/ethers-rs/issues/798))
+- Implement trace_callMany ([#792](https://github.com/gakonst/ethers-rs/issues/792))
+- Uniswap weth addrbook ([#779](https://github.com/gakonst/ethers-rs/issues/779))
+- Implement `is_empty` for `AllowedLibPaths` ([#777](https://github.com/gakonst/ethers-rs/issues/777))
+- Ignore SPDX and contract size for tests ([#775](https://github.com/gakonst/ethers-rs/issues/775))
+- Add `ProjectCompileOutput::has_compiler_warnings` ([#773](https://github.com/gakonst/ethers-rs/issues/773))
+- Check for warnings after compilation ([#772](https://github.com/gakonst/ethers-rs/issues/772))
+- Remove unofficial testnet dai ([#771](https://github.com/gakonst/ethers-rs/issues/771))
+- Add WETH to address book ([#770](https://github.com/gakonst/ethers-rs/issues/770))
+- Ethers-addressbook crate ([#769](https://github.com/gakonst/ethers-rs/issues/769))
+- Update README links ([#754](https://github.com/gakonst/ethers-rs/issues/754))
+- [draft] Add Optimism & OptimismKovan chains ([#737](https://github.com/gakonst/ethers-rs/issues/737))
+- Reexport multiabigen ([#731](https://github.com/gakonst/ethers-rs/issues/731))
+- Add fn settings on CompilerInput ([#729](https://github.com/gakonst/ethers-rs/issues/729))
+- Mark TransactionFut as Send ([#723](https://github.com/gakonst/ethers-rs/issues/723))
+- Add deploy_tokens to ContractFactory ([#699](https://github.com/gakonst/ethers-rs/issues/699))
+- Test on windows targets ([#682](https://github.com/gakonst/ethers-rs/issues/682))
+- Serialize block count as quantity 2 ([#669](https://github.com/gakonst/ethers-rs/issues/669))
+- Add support for polygonscan and snowtrace for abigen ([#666](https://github.com/gakonst/ethers-rs/issues/666))
+- Serialize `eth_feeHistory` block count as `QUANTITY` ([#668](https://github.com/gakonst/ethers-rs/issues/668))
+- Add buffer for file reading ([#662](https://github.com/gakonst/ethers-rs/issues/662))
+- Add dev-rpc middleware ([#640](https://github.com/gakonst/ethers-rs/issues/640))
+- Add tracing ([#628](https://github.com/gakonst/ethers-rs/issues/628))
+- Fix parse units ([#597](https://github.com/gakonst/ethers-rs/issues/597))
+
+### Performance
+
+- Read artifacts in parallel ([#1665](https://github.com/gakonst/ethers-rs/issues/1665))
+- Get response as bytes ([#1536](https://github.com/gakonst/ethers-rs/issues/1536))
+- Add iterator function for finding sol files ([#1480](https://github.com/gakonst/ethers-rs/issues/1480))
+- Replace wake_by_ref with loop ([#1428](https://github.com/gakonst/ethers-rs/issues/1428))
+- Only fallback to old feeHistory request on error ([#1399](https://github.com/gakonst/ethers-rs/issues/1399))
+- Short circuit remapping detection on recursive symlink ([#1225](https://github.com/gakonst/ethers-rs/issues/1225))
+
+### Refactor
+
+- Improve error message for unresolved imports ([#1545](https://github.com/gakonst/ethers-rs/issues/1545))
+- Use expanded EthEvent impl ([#1499](https://github.com/gakonst/ethers-rs/issues/1499))
+- Unify find/remove api ([#1449](https://github.com/gakonst/ethers-rs/issues/1449))
+- Replace ethabi::Reader ([#1417](https://github.com/gakonst/ethers-rs/issues/1417))
+- Refactors ipc transport internals ([#1174](https://github.com/gakonst/ethers-rs/issues/1174))
+- Replace anyhow with eyre ([#858](https://github.com/gakonst/ethers-rs/issues/858))
+- MultiAbigen rework ([#852](https://github.com/gakonst/ethers-rs/issues/852))
+- More temp project features  ([#778](https://github.com/gakonst/ethers-rs/issues/778))
+- Remappings detection rewrite ([#732](https://github.com/gakonst/ethers-rs/issues/732))
+- Move fill_transaction impl to provider rather than default ([#697](https://github.com/gakonst/ethers-rs/issues/697))
+- Move FeeHistory to core types ([#688](https://github.com/gakonst/ethers-rs/issues/688))
+- Add new io error with path info ([#680](https://github.com/gakonst/ethers-rs/issues/680))
+
+### Styling
+
+- All ([#1751](https://github.com/gakonst/ethers-rs/issues/1751))
+- Fmt
+- Seal extension traits ([#1553](https://github.com/gakonst/ethers-rs/issues/1553))
+- Fmt ([#1539](https://github.com/gakonst/ethers-rs/issues/1539))
+- Add support to Aurora network ([#1535](https://github.com/gakonst/ethers-rs/issues/1535))
+- Update broken test and use it module for ethers-contract ([#1502](https://github.com/gakonst/ethers-rs/issues/1502))
+- Fmt
+- Fmt
+- Add basic solc model checker options ([#1258](https://github.com/gakonst/ethers-rs/issues/1258))
+- Ensure a consistent chain ID between a signer and provider in SignerMiddleware ([#1095](https://github.com/gakonst/ethers-rs/issues/1095))
+- Fix IPC handling of jsonrpc errors ([#1123](https://github.com/gakonst/ethers-rs/issues/1123))
+- Fmt
+- Split artifacts mod and create contract and bytecode mods ([#1052](https://github.com/gakonst/ethers-rs/issues/1052))
+- Create decode_tx_input.rs ([#1054](https://github.com/gakonst/ethers-rs/issues/1054))
+- Add capture test for curly bracket imports ([#956](https://github.com/gakonst/ethers-rs/issues/956))
+- Add ENS avatar and TXT records resolution ([#889](https://github.com/gakonst/ethers-rs/issues/889))
+- Fixes a parsing issue of EIP712 chain_id (chain_id = 80001 parsed as chain_id = 0x80001) ([#892](https://github.com/gakonst/ethers-rs/issues/892))
+- Add pub fn initialize_nonce in NonceMiddleManager ([#840](https://github.com/gakonst/ethers-rs/issues/840))
+- Fmt
+- Make it work with latest solang ([#776](https://github.com/gakonst/ethers-rs/issues/776))
+- Make it work with latest solang ([#776](https://github.com/gakonst/ethers-rs/issues/776))
+- Cargo fmt
+- Update Cryptography crates ([#617](https://github.com/gakonst/ethers-rs/issues/617))
+- Use svm global_version if it exists and no SOLC_PATH is set ([#709](https://github.com/gakonst/ethers-rs/issues/709))
+- Fix handling of `nonce too low` error ([#643](https://github.com/gakonst/ethers-rs/issues/643))
+
+### Testing
+
+- Add create_parent_dir_all_test ([#1741](https://github.com/gakonst/ethers-rs/issues/1741))
+- Add large tuple test ([#1642](https://github.com/gakonst/ethers-rs/issues/1642))
+- Comment out etherscan abigen! test ([#1616](https://github.com/gakonst/ethers-rs/issues/1616))
+- Ensure trigger rebuild on settings change ([#1591](https://github.com/gakonst/ethers-rs/issues/1591))
+- Add avalanche test ([#1494](https://github.com/gakonst/ethers-rs/issues/1494))
+- Use default initial base fee ([#1386](https://github.com/gakonst/ethers-rs/issues/1386))
+- Add tx roundtrip test ([#1383](https://github.com/gakonst/ethers-rs/issues/1383))
+- Add tx receipt roundtrip test ([#1360](https://github.com/gakonst/ethers-rs/issues/1360))
+- Update test with changed state on forked tests ([#1353](https://github.com/gakonst/ethers-rs/issues/1353))
+- Set nonce for tx stream explicitly ([#1354](https://github.com/gakonst/ethers-rs/issues/1354))
+- Replace ganache with anvil ([#1286](https://github.com/gakonst/ethers-rs/issues/1286))
+- Expose test provider url
+- Ensure structs in events work ([#1235](https://github.com/gakonst/ethers-rs/issues/1235))
+- Add another link with remapping test ([#1191](https://github.com/gakonst/ethers-rs/issues/1191))
+- Add ethcall derive test for vec tuples ([#1144](https://github.com/gakonst/ethers-rs/issues/1144))
+- Add type check test for abi array tuples ([#1143](https://github.com/gakonst/ethers-rs/issues/1143))
+- Add multiline flatten test ([#1101](https://github.com/gakonst/ethers-rs/issues/1101))
+- Add unique flatten test ([#995](https://github.com/gakonst/ethers-rs/issues/995))
+- Add etherscan test case ([#964](https://github.com/gakonst/ethers-rs/issues/964))
+- Add curly bracket import test ([#929](https://github.com/gakonst/ethers-rs/issues/929))
+- Use new celo txhash which has not been wiped
+
+## [0.6.0] - 2021-11-23
+
+### Bug Fixes
+
+- Lowercase node client type ([#600](https://github.com/gakonst/ethers-rs/issues/600))
+- Remove const lag so it can be passed in as runtime variable ([#587](https://github.com/gakonst/ethers-rs/issues/587))
+- Do not unnecessarily query for solc version ([#586](https://github.com/gakonst/ethers-rs/issues/586))
+- Adds TimeLag::new() ([#568](https://github.com/gakonst/ethers-rs/issues/568))
+- Lift macros feature to lib level ([#567](https://github.com/gakonst/ethers-rs/issues/567))
+- Failing test and check --all-targets in ci ([#560](https://github.com/gakonst/ethers-rs/issues/560))
+- Send error back ([#556](https://github.com/gakonst/ethers-rs/issues/556))
+- Preserve underscores in case of collisions ([#548](https://github.com/gakonst/ethers-rs/issues/548))
+- Use debug fmt for nested arrays ([#527](https://github.com/gakonst/ethers-rs/issues/527))
+- Ensure gas estimation includes the access list in 1559/2930 txs ([#523](https://github.com/gakonst/ethers-rs/issues/523))
+- Eip712 signing with ledger hw ([#518](https://github.com/gakonst/ethers-rs/issues/518))
+- Use syn::Index for tuple access ([#515](https://github.com/gakonst/ethers-rs/issues/515))
+- Allow clippy::redundant_clone and clippy::type_complexity in abigen ([#491](https://github.com/gakonst/ethers-rs/issues/491))
+- Allow functions without output args ([#477](https://github.com/gakonst/ethers-rs/issues/477))
+- Normalize EVM version across solc versions ([#473](https://github.com/gakonst/ethers-rs/issues/473))
+- Remove solc path canonicalization
+- Canonicalize custom paths
+- Breaking changes and force enable serialize for eth-types ([#448](https://github.com/gakonst/ethers-rs/issues/448))
+- Fix cargo fmt command in Contributing.md ([#437](https://github.com/gakonst/ethers-rs/issues/437))
+- Cleanup lock file after exec cargo metadata ([#431](https://github.com/gakonst/ethers-rs/issues/431))
+- Always treat abi type structs as tuples ([#417](https://github.com/gakonst/ethers-rs/issues/417))
+- Enable solc optimization ([#427](https://github.com/gakonst/ethers-rs/issues/427))
+
+### Depedencies
+
+- 0.6.0 ([#611](https://github.com/gakonst/ethers-rs/issues/611))
+- Bump futures-util from 0.3.17 to 0.3.18 ([#609](https://github.com/gakonst/ethers-rs/issues/609))
+- Bump tracing-subscriber from 0.3.1 to 0.3.2 ([#604](https://github.com/gakonst/ethers-rs/issues/604))
+- Bump elliptic-curve from 0.10.6 to 0.11.1 ([#605](https://github.com/gakonst/ethers-rs/issues/605))
+- Bump ethers-core to 0.5.5 ([#582](https://github.com/gakonst/ethers-rs/issues/582))
+- Bump hex-literal from 0.3.3 to 0.3.4 ([#573](https://github.com/gakonst/ethers-rs/issues/573))
+- Bump `ethereum-types`' `impl-serde` to 0.3.2 ([#569](https://github.com/gakonst/ethers-rs/issues/569))
+- Bump cargo_metadata from 0.14.0 to 0.14.1 ([#563](https://github.com/gakonst/ethers-rs/issues/563))
+- Bump auto_impl from 0.4.1 to 0.5.0 ([#564](https://github.com/gakonst/ethers-rs/issues/564))
+- Bump tokio-util from 0.6.8 to 0.6.9 ([#549](https://github.com/gakonst/ethers-rs/issues/549))
+- Bump arrayvec from 0.7.1 to 0.7.2 ([#540](https://github.com/gakonst/ethers-rs/issues/540))
+- Bump tracing-subscriber from 0.3.0 to 0.3.1 ([#532](https://github.com/gakonst/ethers-rs/issues/532))
+- Bump serde-aux from 2.3.0 to 3.0.1 ([#533](https://github.com/gakonst/ethers-rs/issues/533))
+- Bump syn from 1.0.80 to 1.0.81 ([#535](https://github.com/gakonst/ethers-rs/issues/535))
+- Bump proc-macro2 from 1.0.30 to 1.0.32 ([#534](https://github.com/gakonst/ethers-rs/issues/534))
+- Bump tracing-subscriber from 0.2.25 to 0.3.0 ([#529](https://github.com/gakonst/ethers-rs/issues/529))
+- Bump reqwest from 0.11.5 to 0.11.6 ([#521](https://github.com/gakonst/ethers-rs/issues/521))
+- Bump instant from 0.1.11 to 0.1.12 ([#520](https://github.com/gakonst/ethers-rs/issues/520))
+- Bump proc-macro2 from 1.0.29 to 1.0.30 ([#504](https://github.com/gakonst/ethers-rs/issues/504))
+- Bump thiserror from 1.0.29 to 1.0.30 ([#500](https://github.com/gakonst/ethers-rs/issues/500))
+- Bump syn from 1.0.78 to 1.0.80 ([#499](https://github.com/gakonst/ethers-rs/issues/499))
+- Initial implementation of eip712 derive macro ([#481](https://github.com/gakonst/ethers-rs/issues/481))
+- Bump reqwest from 0.11.4 to 0.11.5 ([#490](https://github.com/gakonst/ethers-rs/issues/490))
+- Bump tracing from 0.1.28 to 0.1.29 ([#488](https://github.com/gakonst/ethers-rs/issues/488))
+- Bump tracing-subscriber from 0.2.24 to 0.2.25 ([#487](https://github.com/gakonst/ethers-rs/issues/487))
+- Bump instant from 0.1.10 to 0.1.11 ([#467](https://github.com/gakonst/ethers-rs/issues/467))
+- Bump coins-ledger from 0.4.0 to 0.4.2 ([#470](https://github.com/gakonst/ethers-rs/issues/470))
+- Bump ethabi ([#469](https://github.com/gakonst/ethers-rs/issues/469))
+- Bump ethabi from `ef19ba9` to `1da9de9` ([#464](https://github.com/gakonst/ethers-rs/issues/464))
+- Bump nth-check from 2.0.0 to 2.0.1 in /examples/ethers-wasm ([#466](https://github.com/gakonst/ethers-rs/issues/466))
+- Bump wasm-bindgen-futures from 0.4.27 to 0.4.28 ([#456](https://github.com/gakonst/ethers-rs/issues/456))
+- Bump tracing from 0.1.27 to 0.1.28 ([#461](https://github.com/gakonst/ethers-rs/issues/461))
+- Bump tracing-subscriber from 0.2.23 to 0.2.24 ([#462](https://github.com/gakonst/ethers-rs/issues/462))
+- Bump web-sys from 0.3.54 to 0.3.55 ([#455](https://github.com/gakonst/ethers-rs/issues/455))
+- Bump wasm-bindgen from 0.2.77 to 0.2.78 ([#454](https://github.com/gakonst/ethers-rs/issues/454))
+- Bump tracing-subscriber from 0.2.22 to 0.2.23 ([#458](https://github.com/gakonst/ethers-rs/issues/458))
+- Bump ethabi from `8bd90d1` to `ef19ba9` ([#452](https://github.com/gakonst/ethers-rs/issues/452))
+- Bump spki from 0.4.0 to 0.4.1 ([#453](https://github.com/gakonst/ethers-rs/issues/453))
+- Bump web-sys from 0.3.53 to 0.3.54 ([#438](https://github.com/gakonst/ethers-rs/issues/438))
+- Bump serde-aux from 2.2.0 to 2.3.0 ([#439](https://github.com/gakonst/ethers-rs/issues/439))
+- Bump tracing from 0.1.26 to 0.1.27 ([#449](https://github.com/gakonst/ethers-rs/issues/449))
+- Bump tracing-subscriber from 0.2.21 to 0.2.22 ([#450](https://github.com/gakonst/ethers-rs/issues/450))
+- Bump sha2 from 0.9.6 to 0.9.8 ([#443](https://github.com/gakonst/ethers-rs/issues/443))
+- Bump tracing-subscriber from 0.2.20 to 0.2.21 ([#447](https://github.com/gakonst/ethers-rs/issues/447))
+- Bump wasm-bindgen-futures from 0.4.26 to 0.4.27 ([#441](https://github.com/gakonst/ethers-rs/issues/441))
+- Bump thiserror from 1.0.28 to 1.0.29 ([#433](https://github.com/gakonst/ethers-rs/issues/433))
+- Bump tokio-util from 0.6.7 to 0.6.8 ([#434](https://github.com/gakonst/ethers-rs/issues/434))
+- Bump futures-executor from 0.3.16 to 0.3.17 ([#426](https://github.com/gakonst/ethers-rs/issues/426))
+- Bump parking_lot from 0.11.1 to 0.11.2 ([#418](https://github.com/gakonst/ethers-rs/issues/418))
+- Bump thiserror from 1.0.26 to 1.0.28 ([#419](https://github.com/gakonst/ethers-rs/issues/419))
+- Bump sha2 from 0.9.5 to 0.9.6 ([#420](https://github.com/gakonst/ethers-rs/issues/420))
+- Bump futures-util from 0.3.16 to 0.3.17 ([#423](https://github.com/gakonst/ethers-rs/issues/423))
+
+### Documentation
+
+- Add note about wasm and ffi to readme ([#607](https://github.com/gakonst/ethers-rs/issues/607))
+- Add telegram metadata ([#509](https://github.com/gakonst/ethers-rs/issues/509))
+- Fix broken ethers-js link ([#475](https://github.com/gakonst/ethers-rs/issues/475))
+
+### Features
+
+- Add cargo change detection support ([#599](https://github.com/gakonst/ethers-rs/issues/599))
+- Allow specifying solc version even if auto-detect enabled ([#594](https://github.com/gakonst/ethers-rs/issues/594))
+- Add solc-tests feature for synchronous download of solc versions
+- Add from_str for Remapping ([#583](https://github.com/gakonst/ethers-rs/issues/583))
+- Make reqwest optional but enabled by default ([#580](https://github.com/gakonst/ethers-rs/issues/580))
+- Auto-detect solc remappings ([#574](https://github.com/gakonst/ethers-rs/issues/574))
+- Allow providing --allow-args ([#553](https://github.com/gakonst/ethers-rs/issues/553))
+- Multiple Solc Version detection ([#551](https://github.com/gakonst/ethers-rs/issues/551))
+- Add solc svm find support ([#547](https://github.com/gakonst/ethers-rs/issues/547))
+- Use ethers_solc::Solc instead of ethers_core::utils::Solc ([#546](https://github.com/gakonst/ethers-rs/issues/546))
+- Enumerate overloaded functions if they are nameless ([#545](https://github.com/gakonst/ethers-rs/issues/545))
+- Only compile changed files ([#544](https://github.com/gakonst/ethers-rs/issues/544))
+- Improved solc management ([#539](https://github.com/gakonst/ethers-rs/issues/539))
+- Unify get_block_receipts for eth/parity RPCs ([#541](https://github.com/gakonst/ethers-rs/issues/541))
+- Add abi code trait impls ([#531](https://github.com/gakonst/ethers-rs/issues/531))
+- Add ethers-solc crate ([#522](https://github.com/gakonst/ethers-rs/issues/522))
+- Expose Wallet::sign_hash
+- Add ethabitype support for solidity style enums ([#526](https://github.com/gakonst/ethers-rs/issues/526))
+- Add abi type trait ([#519](https://github.com/gakonst/ethers-rs/issues/519))
+- Function call enums EthCall macro and more ([#517](https://github.com/gakonst/ethers-rs/issues/517))
+- Transaction endpoints ([#512](https://github.com/gakonst/ethers-rs/issues/512))
+- Add display support for events ([#513](https://github.com/gakonst/ethers-rs/issues/513))
+- Substitute overloaded functions ([#501](https://github.com/gakonst/ethers-rs/issues/501))
+- Add support for multiple contract definitions in abigen macro ([#498](https://github.com/gakonst/ethers-rs/issues/498))
+- Impl Deserialize for block number ([#497](https://github.com/gakonst/ethers-rs/issues/497))
+- Add etherscan client crate ([#486](https://github.com/gakonst/ethers-rs/issues/486))
+- Add general solc contract types ([#484](https://github.com/gakonst/ethers-rs/issues/484))
+- Support artifact format in proc macro ([#480](https://github.com/gakonst/ethers-rs/issues/480))
+- Support human readable struct inputs ([#482](https://github.com/gakonst/ethers-rs/issues/482))
+- Allow to configure combined-json ([#483](https://github.com/gakonst/ethers-rs/issues/483))
+- Support Hardhat ABI format ([#478](https://github.com/gakonst/ethers-rs/issues/478))
+- Support shorthand function declarations ([#472](https://github.com/gakonst/ethers-rs/issues/472))
+- First draft timelag middleware ([#457](https://github.com/gakonst/ethers-rs/issues/457))
+- Expand solc capabilities / chore: update ethabi ([#445](https://github.com/gakonst/ethers-rs/issues/445))
+- Add quorum provider ([#409](https://github.com/gakonst/ethers-rs/issues/409))
+
+### Miscellaneous Tasks
+
+- Enable zeroize feature for k256 ([#596](https://github.com/gakonst/ethers-rs/issues/596))
+- Don't look for remappings on hardhat ([#585](https://github.com/gakonst/ethers-rs/issues/585))
+- Re-export http client error in providers transports ([#570](https://github.com/gakonst/ethers-rs/issues/570))
+- Fix flaky integration test
+- Expose modules
+- Update to Rust edition 2021 ([#528](https://github.com/gakonst/ethers-rs/issues/528))
+- Move proc macro implementation to separate modules ([#510](https://github.com/gakonst/ethers-rs/issues/510))
+- Remove GasNow api since it's deprecated ([#508](https://github.com/gakonst/ethers-rs/issues/508))
+- Remove unused && cargo fix ([#496](https://github.com/gakonst/ethers-rs/issues/496))
+- Expose I256 functions
+- Expose solc module
+- Update changelog
+- Add changelog for #427 changes ([#428](https://github.com/gakonst/ethers-rs/issues/428))
+- Update changelog ([#429](https://github.com/gakonst/ethers-rs/issues/429))
+- Add changelog ([#424](https://github.com/gakonst/ethers-rs/issues/424))
+
+### Other
+
+- Update readme for polygon and avalanche ([#610](https://github.com/gakonst/ethers-rs/issues/610))
+- Add support for polygon and avalanche ([#606](https://github.com/gakonst/ethers-rs/issues/606))
+- Add net_version call ([#595](https://github.com/gakonst/ethers-rs/issues/595))
+- Fix/providers ([#590](https://github.com/gakonst/ethers-rs/issues/590))
+- Prestwich/escalator fixes ([#581](https://github.com/gakonst/ethers-rs/issues/581))
+- Remove failing workflow
+- Load rinkeby privkey from envvar instead of secrets
+- Load rinkeby privkey from secrets
+- Add Decimal support to ethers::utils::parse_units ([#463](https://github.com/gakonst/ethers-rs/issues/463))
+- Change wei from 1 to 0 ([#460](https://github.com/gakonst/ethers-rs/issues/460))
+- Add getProof to provider ([#459](https://github.com/gakonst/ethers-rs/issues/459))
+- Add cache
+- Add utils::get_create2_address_from_hash() ([#444](https://github.com/gakonst/ethers-rs/issues/444))
+- Add usage examples for hashing utilities ([#436](https://github.com/gakonst/ethers-rs/issues/436))
+- Make 'ens' module public ([#435](https://github.com/gakonst/ethers-rs/issues/435))
+- Event aliasing for contract bindings ([#425](https://github.com/gakonst/ethers-rs/issues/425))
+- Correctly encode non-legacy mempool transactions ([#415](https://github.com/gakonst/ethers-rs/issues/415))
+- Run examples in CI ([#421](https://github.com/gakonst/ethers-rs/issues/421))
+
+### Performance
+
+- Remove clone ([#602](https://github.com/gakonst/ethers-rs/issues/602))
+
+### Refactor
+
+- [**breaking**] Make artifactoutput a trait ([#579](https://github.com/gakonst/ethers-rs/issues/579))
+- Move Chain enum, use HashMap::from ([#524](https://github.com/gakonst/ethers-rs/issues/524))
+
+### Styling
+
+- Prestwich/super pending ([#566](https://github.com/gakonst/ethers-rs/issues/566))
+- Refactor crate determination in new ethers-macro crate ([#555](https://github.com/gakonst/ethers-rs/issues/555))
+- (fix): new_keystore returns uuid as well ([#559](https://github.com/gakonst/ethers-rs/issues/559))
+- Fix missing fmt argument in error message ([#552](https://github.com/gakonst/ethers-rs/issues/552))
+- Add rustfmt.toml ([#537](https://github.com/gakonst/ethers-rs/issues/537))
+- Simplify eip712 example ([#492](https://github.com/gakonst/ethers-rs/issues/492))
+- Cargo fmt
+
+### Testing
+
+- Get rinkeby private key from env var ([#542](https://github.com/gakonst/ethers-rs/issues/542))
+- Add underscore test ([#505](https://github.com/gakonst/ethers-rs/issues/505))
+- Fix flapping gas oracle ([#514](https://github.com/gakonst/ethers-rs/issues/514))
+- Fix duplicate tx flakes by rotating through a list of wallets ([#451](https://github.com/gakonst/ethers-rs/issues/451))
+
+## [0.5.1] - 2021-08-28
+
+### Bug Fixes
+
+- Generate correct imports depending on ethers crate usage ([#413](https://github.com/gakonst/ethers-rs/issues/413))
+- Make packages default members so they get executed on unit tests ([#411](https://github.com/gakonst/ethers-rs/issues/411))
+- Add send + unpin to stream type ([#402](https://github.com/gakonst/ethers-rs/issues/402))
+- Use once_cell with feature=std in abigen ([#401](https://github.com/gakonst/ethers-rs/issues/401))
+- Drop WS server if work complete ([#399](https://github.com/gakonst/ethers-rs/issues/399))
+- Backwards compatibility for eth_feeHistory ([#395](https://github.com/gakonst/ethers-rs/issues/395))
+- Skip 2930 tests in legacy mode / skip aws test if no id ([#386](https://github.com/gakonst/ethers-rs/issues/386))
+- Signature fields should be U256 instead of H256 ([#379](https://github.com/gakonst/ethers-rs/issues/379))
+- Make gasPrice optional (since Type 2 transactions) ([#374](https://github.com/gakonst/ethers-rs/issues/374))
+- Use async-await-macro to fix docs.rs publishing
+- Only wrap single struct param in a tuple ([#368](https://github.com/gakonst/ethers-rs/issues/368))
+- Convert tuple arguments to tuples ([#363](https://github.com/gakonst/ethers-rs/issues/363))
+- Make chain_id mandatory ([#286](https://github.com/gakonst/ethers-rs/issues/286))
+- Preserve from field in SignerMiddleware ([#350](https://github.com/gakonst/ethers-rs/issues/350))
+- Make event types thread safe ([#341](https://github.com/gakonst/ethers-rs/issues/341))
+- Use ethabi from master w/ fixed abiv2 bug
+- Remove ethers celo feature and ignore celo test ([#313](https://github.com/gakonst/ethers-rs/issues/313))
+- Event decoding for events with zero or one parameters ([#300](https://github.com/gakonst/ethers-rs/issues/300))
+- Off by one error during event decoding ([#296](https://github.com/gakonst/ethers-rs/issues/296))
+- Remove dependency on curl ([#285](https://github.com/gakonst/ethers-rs/issues/285))
+- Add indexed attribute when deriving EthEvent ([#255](https://github.com/gakonst/ethers-rs/issues/255))
+- Make EthEvent abi attribute work for tuple inputs ([#229](https://github.com/gakonst/ethers-rs/issues/229))
+- Correctly parse params in human readable abi ([#194](https://github.com/gakonst/ethers-rs/issues/194))
+- Improvements in DsProxy execute ([#177](https://github.com/gakonst/ethers-rs/issues/177))
+- Switch between units correctly ([#170](https://github.com/gakonst/ethers-rs/issues/170))
+
+### Depedencies
+
+- Remove cyclical dependencies ([#410](https://github.com/gakonst/ethers-rs/issues/410))
+- Bump bytes from 1.0.1 to 1.1.0 ([#407](https://github.com/gakonst/ethers-rs/issues/407))
+- Bump elliptic-curve from 0.10.5 to 0.10.6 ([#406](https://github.com/gakonst/ethers-rs/issues/406))
+- Bump coins-ledger from 0.3.0 to 0.4.0 ([#405](https://github.com/gakonst/ethers-rs/issues/405))
+- Bump tracing-subscriber from 0.2.19 to 0.2.20 ([#389](https://github.com/gakonst/ethers-rs/issues/389))
+- 0.4 ([#382](https://github.com/gakonst/ethers-rs/issues/382))
+- Bump coins-ledger from 0.1.0 to 0.3.0 ([#334](https://github.com/gakonst/ethers-rs/issues/334))
+- Bump futures-executor from 0.3.15 to 0.3.16 ([#351](https://github.com/gakonst/ethers-rs/issues/351))
+- Update deps ([#352](https://github.com/gakonst/ethers-rs/issues/352))
+- Bump tokio-tungstenite from 0.14.0 to 0.15.0 ([#338](https://github.com/gakonst/ethers-rs/issues/338))
+- Bump hex-literal from 0.3.2 to 0.3.3 ([#344](https://github.com/gakonst/ethers-rs/issues/344))
+- Bump futures-util from 0.3.15 to 0.3.16 ([#348](https://github.com/gakonst/ethers-rs/issues/348))
+- Bump elliptic-curve from 0.10.3 to 0.10.4 ([#340](https://github.com/gakonst/ethers-rs/issues/340))
+- Bump ethabi to 14.1.0
+- Update crypto deps for ethers ([#333](https://github.com/gakonst/ethers-rs/issues/333))
+- Bump futures-util from 0.3.14 to 0.3.15 ([#290](https://github.com/gakonst/ethers-rs/issues/290))
+- Bump url from 2.2.1 to 2.2.2 ([#289](https://github.com/gakonst/ethers-rs/issues/289))
+- Bump sha2 from 0.9.3 to 0.9.5 ([#291](https://github.com/gakonst/ethers-rs/issues/291))
+- Bump tracing from 0.1.25 to 0.1.26 ([#284](https://github.com/gakonst/ethers-rs/issues/284))
+- Bump tokio-util from 0.6.6 to 0.6.7 ([#295](https://github.com/gakonst/ethers-rs/issues/295))
+- Bump elliptic-curve from 0.10.0 to 0.10.3 ([#323](https://github.com/gakonst/ethers-rs/issues/323))
+- Bump reqwest from 0.11.3 to 0.11.4 ([#322](https://github.com/gakonst/ethers-rs/issues/322))
+- Bump thiserror from 1.0.24 to 1.0.26 ([#328](https://github.com/gakonst/ethers-rs/issues/328))
+- Bump once_cell from 1.7.2 to 1.8.0 ([#317](https://github.com/gakonst/ethers-rs/issues/317))
+- Bump elliptic-curve from 0.9.11 to 0.10.0 ([#311](https://github.com/gakonst/ethers-rs/issues/311))
+- Bump eth-keystore from 0.2.0 to 0.2.1 ([#280](https://github.com/gakonst/ethers-rs/issues/280))
+- Bump futures-executor from 0.3.13 to 0.3.14 ([#273](https://github.com/gakonst/ethers-rs/issues/273))
+- Bump k256 from 0.7.2 to 0.7.3 ([#277](https://github.com/gakonst/ethers-rs/issues/277))
+- Bump async-trait from 0.1.48 to 0.1.50 ([#278](https://github.com/gakonst/ethers-rs/issues/278))
+- Bump pin-project from 1.0.6 to 1.0.7 ([#279](https://github.com/gakonst/ethers-rs/issues/279))
+- Bump elliptic-curve from 0.9.6 to 0.9.11 ([#281](https://github.com/gakonst/ethers-rs/issues/281))
+- Bump tokio from 1.4.0 to 1.5.0 ([#275](https://github.com/gakonst/ethers-rs/issues/275))
+- Bump serde-aux from 2.1.1 to 2.2.0 ([#267](https://github.com/gakonst/ethers-rs/issues/267))
+- Bump tokio-util from 0.6.5 to 0.6.6 ([#272](https://github.com/gakonst/ethers-rs/issues/272))
+- Bump bincode from 1.3.2 to 1.3.3 ([#266](https://github.com/gakonst/ethers-rs/issues/266))
+- Bump futures-util from 0.3.13 to 0.3.14 ([#268](https://github.com/gakonst/ethers-rs/issues/268))
+- Bump reqwest from 0.11.2 to 0.11.3 ([#271](https://github.com/gakonst/ethers-rs/issues/271))
+- Bump anyhow from 1.0.38 to 1.0.39 ([#243](https://github.com/gakonst/ethers-rs/issues/243))
+- Bump tokio from 1.2.0 to 1.4.0 ([#242](https://github.com/gakonst/ethers-rs/issues/242))
+- Bump elliptic-curve from 0.9.4 to 0.9.5 ([#237](https://github.com/gakonst/ethers-rs/issues/237))
+- Bump reqwest from 0.11.1 to 0.11.2 ([#223](https://github.com/gakonst/ethers-rs/issues/223))
+- Bump serde from 1.0.123 to 1.0.124 ([#222](https://github.com/gakonst/ethers-rs/issues/222))
+- Bump hex from 0.4.2 to 0.4.3 ([#220](https://github.com/gakonst/ethers-rs/issues/220))
+- Bump once_cell from 1.7.0 to 1.7.2 ([#218](https://github.com/gakonst/ethers-rs/issues/218))
+- Bump bincode from 1.3.1 to 1.3.2 ([#211](https://github.com/gakonst/ethers-rs/issues/211))
+- Bump futures-executor from 0.3.12 to 0.3.13 ([#213](https://github.com/gakonst/ethers-rs/issues/213))
+- Bump serde_json from 1.0.62 to 1.0.64 ([#215](https://github.com/gakonst/ethers-rs/issues/215))
+- Bump futures-channel from 0.3.12 to 0.3.13 ([#208](https://github.com/gakonst/ethers-rs/issues/208))
+- Bump futures-util from 0.3.12 to 0.3.13 ([#207](https://github.com/gakonst/ethers-rs/issues/207))
+- Bump once_cell from 1.6.0 to 1.7.0 ([#212](https://github.com/gakonst/ethers-rs/issues/212))
+- Bump tracing from 0.1.24 to 0.1.25 ([#210](https://github.com/gakonst/ethers-rs/issues/210))
+- Bump once_cell from 1.5.2 to 1.6.0 ([#206](https://github.com/gakonst/ethers-rs/issues/206))
+- Bump url from 2.2.0 to 2.2.1 ([#201](https://github.com/gakonst/ethers-rs/issues/201))
+- Bump tracing from 0.1.23 to 0.1.24 ([#199](https://github.com/gakonst/ethers-rs/issues/199))
+- Bump elliptic-curve from 0.9.3 to 0.9.4 ([#203](https://github.com/gakonst/ethers-rs/issues/203))
+- Bump thiserror from 1.0.23 to 1.0.24 ([#204](https://github.com/gakonst/ethers-rs/issues/204))
+- Bump reqwest from 0.11.0 to 0.11.1 ([#202](https://github.com/gakonst/ethers-rs/issues/202))
+- Bump elliptic-curve from 0.9.2 to 0.9.3 ([#198](https://github.com/gakonst/ethers-rs/issues/198))
+- Bump tracing-futures from 0.2.4 to 0.2.5 ([#197](https://github.com/gakonst/ethers-rs/issues/197))
+- Update deps ([#196](https://github.com/gakonst/ethers-rs/issues/196))
+- Bump sha2 from 0.9.2 to 0.9.3 ([#185](https://github.com/gakonst/ethers-rs/issues/185))
+- Bump serde_json from 1.0.61 to 1.0.62 ([#190](https://github.com/gakonst/ethers-rs/issues/190))
+- Bump pin-project from 1.0.4 to 1.0.5 ([#187](https://github.com/gakonst/ethers-rs/issues/187))
+- Bump yubihsm from 0.37.0 to 0.38.0 ([#186](https://github.com/gakonst/ethers-rs/issues/186))
+- Bump tokio from 1.1.1 to 1.2.0 ([#189](https://github.com/gakonst/ethers-rs/issues/189))
+- Bump tracing from 0.1.22 to 0.1.23 ([#188](https://github.com/gakonst/ethers-rs/issues/188))
+- Bump tokio from 1.1.0 to 1.1.1 ([#184](https://github.com/gakonst/ethers-rs/issues/184))
+- Bump serde from 1.0.120 to 1.0.123 ([#181](https://github.com/gakonst/ethers-rs/issues/181))
+- Bump tokio from 1.0.2 to 1.1.0 ([#179](https://github.com/gakonst/ethers-rs/issues/179))
+- Bump serde from 1.0.119 to 1.0.120 ([#176](https://github.com/gakonst/ethers-rs/issues/176))
+- Bump futures-executor from 0.3.11 to 0.3.12 ([#173](https://github.com/gakonst/ethers-rs/issues/173))
+- Bump futures-util from 0.3.11 to 0.3.12 ([#171](https://github.com/gakonst/ethers-rs/issues/171))
+- Bump k256 from 0.7.1 to 0.7.2 ([#156](https://github.com/gakonst/ethers-rs/issues/156))
+- Bump tokio from 1.0.1 to 1.0.2 ([#160](https://github.com/gakonst/ethers-rs/issues/160))
+- Bump futures-channel from 0.3.11 to 0.3.12 ([#167](https://github.com/gakonst/ethers-rs/issues/167))
+- Bump futures-executor from 0.3.9 to 0.3.11 ([#158](https://github.com/gakonst/ethers-rs/issues/158))
+- Bump futures-core from 0.3.11 to 0.3.12 ([#166](https://github.com/gakonst/ethers-rs/issues/166))
+- Bump futures-util from 0.3.9 to 0.3.11 ([#159](https://github.com/gakonst/ethers-rs/issues/159))
+
+### Documentation
+
+- Typo fix ([#292](https://github.com/gakonst/ethers-rs/issues/292))
+- Add example for mnemonic ([#258](https://github.com/gakonst/ethers-rs/issues/258))
+- Note EIP-658 in TransactionReceipt ([#178](https://github.com/gakonst/ethers-rs/issues/178))
+
+### Features
+
+- Add wasm http provider support ([#403](https://github.com/gakonst/ethers-rs/issues/403))
+- Wasm support ([#390](https://github.com/gakonst/ethers-rs/issues/390))
+- Add basic policy middleware ([#400](https://github.com/gakonst/ethers-rs/issues/400))
+- Drop WS server on when WS connection closes ([#396](https://github.com/gakonst/ethers-rs/issues/396))
+- Fee estimation with custom/default fn ([#369](https://github.com/gakonst/ethers-rs/issues/369))
+- Improve gas oracles ([#392](https://github.com/gakonst/ethers-rs/issues/392))
+- Add legacy feature to ethers crate ([#384](https://github.com/gakonst/ethers-rs/issues/384))
+- Generate rust structs from solidity JSON ABI ([#378](https://github.com/gakonst/ethers-rs/issues/378))
+- Multiple addresses on Filter ([#375](https://github.com/gakonst/ethers-rs/issues/375))
+- Typed txs (part 4) ([#362](https://github.com/gakonst/ethers-rs/issues/362))
+- Typed txs provider / middleware changes (part 3) ([#357](https://github.com/gakonst/ethers-rs/issues/357))
+- 1559/2930 txs (part 2) ([#355](https://github.com/gakonst/ethers-rs/issues/355))
+- Eip2930/1559 response type adjustments (part 1) ([#353](https://github.com/gakonst/ethers-rs/issues/353))
+- Add support for `eth_getBlockReceipts` ([#365](https://github.com/gakonst/ethers-rs/issues/365))
+- Detect ethers crate paths in derive macros ([#366](https://github.com/gakonst/ethers-rs/issues/366))
+- Signer using aws kms ([#358](https://github.com/gakonst/ethers-rs/issues/358))
+- Stream_with_meta ([#354](https://github.com/gakonst/ethers-rs/issues/354))
+- Support additional ganache arguments ([#347](https://github.com/gakonst/ethers-rs/issues/347))
+- Initial delay in PendingTransaction ([#339](https://github.com/gakonst/ethers-rs/issues/339))
+- PendingTransaction returns Option ([#327](https://github.com/gakonst/ethers-rs/issues/327))
+- Allow using native-tls or rustls ([#330](https://github.com/gakonst/ethers-rs/issues/330))
+- Extend Middleware trait customized for celo ([#314](https://github.com/gakonst/ethers-rs/issues/314))
+- Add filter utility function ([#316](https://github.com/gakonst/ethers-rs/issues/316))
+- Introduce tx stream ([#303](https://github.com/gakonst/ethers-rs/issues/303))
+- Make I256::from_raw() as const ([#305](https://github.com/gakonst/ethers-rs/issues/305))
+- Support parsing solc contract abi output in string and array form ([#301](https://github.com/gakonst/ethers-rs/issues/301))
+- Signature derives Copy trait ([#288](https://github.com/gakonst/ethers-rs/issues/288))
+- Implement IPC transport support ([#260](https://github.com/gakonst/ethers-rs/issues/260))
+- Mnemonic phrase support for wallet ([#256](https://github.com/gakonst/ethers-rs/issues/256))
+- Add async setup utility functions ([#241](https://github.com/gakonst/ethers-rs/issues/241))
+- Extend ethevent trait methods and decoding ([#239](https://github.com/gakonst/ethers-rs/issues/239))
+- Update ethabi ([#233](https://github.com/gakonst/ethers-rs/issues/233))
+- Add support for EIP-234 and EIP-1898 ([#231](https://github.com/gakonst/ethers-rs/issues/231))
+- Include ethevent proc macro in abigen code gen workflow ([#232](https://github.com/gakonst/ethers-rs/issues/232))
+- Add EthEvent proc macro derive support ([#227](https://github.com/gakonst/ethers-rs/issues/227))
+- Add struct parsing support for human readable ABI ([#226](https://github.com/gakonst/ethers-rs/issues/226))
+- Report path on failed abigen load ([#205](https://github.com/gakonst/ethers-rs/issues/205))
+- Transformer middleware with DsProxy impl ([#165](https://github.com/gakonst/ethers-rs/issues/165))
+
+### Miscellaneous Tasks
+
+- Pull ethers to top level directory ([#398](https://github.com/gakonst/ethers-rs/issues/398))
+- Disable all ethers features by default and expose them individually ([#394](https://github.com/gakonst/ethers-rs/issues/394))
+- Add explanation on `legacy` flag
+- Remove default feature on futures-util from all crates
+- Skip tx rlp test in celo
+- Allow clippy enum variant names ([#364](https://github.com/gakonst/ethers-rs/issues/364))
+- Re-export aws signer error ([#359](https://github.com/gakonst/ethers-rs/issues/359))
+- Fix lints ([#329](https://github.com/gakonst/ethers-rs/issues/329))
+- Use latest ethabi ([#253](https://github.com/gakonst/ethers-rs/issues/253))
+- Fix two small typos ([#249](https://github.com/gakonst/ethers-rs/issues/249))
+- Use upstream ethabi ([#248](https://github.com/gakonst/ethers-rs/issues/248))
+- Use upgraded version for eth-keystore-rs ([#193](https://github.com/gakonst/ethers-rs/issues/193))
+
+### Other
+
+- Fix RLP encoding of gas price ([#408](https://github.com/gakonst/ethers-rs/issues/408))
+- Refactor WS handling code ([#397](https://github.com/gakonst/ethers-rs/issues/397))
+- Add uncle related missing api ([#385](https://github.com/gakonst/ethers-rs/issues/385))
+- Log streams properly end when internal stream closes ([#387](https://github.com/gakonst/ethers-rs/issues/387))
+- Sign_transaction_sync ([#388](https://github.com/gakonst/ethers-rs/issues/388))
+- Disable type serialization when legacy feature is set ([#383](https://github.com/gakonst/ethers-rs/issues/383))
+- Add Flashbots middleware to projects section ([#381](https://github.com/gakonst/ethers-rs/issues/381))
+- Add impl_fixed_types!(18) (fixes opensea abigen) ([#373](https://github.com/gakonst/ethers-rs/issues/373))
+- Cargo clippy --fix ([#346](https://github.com/gakonst/ethers-rs/issues/346))
+- Add util functions for bytes32 string encoding/decoding ([#337](https://github.com/gakonst/ethers-rs/issues/337))
+- Add xDai multicall contract address ([#324](https://github.com/gakonst/ethers-rs/issues/324))
+- Change types of block number and returned keys ([#320](https://github.com/gakonst/ethers-rs/issues/320))
+- Make request error to be confined per request, not a global websocket error ([#315](https://github.com/gakonst/ethers-rs/issues/315))
+- Fix tests failing on solc 0.8.0 or above ([#310](https://github.com/gakonst/ethers-rs/issues/310))
+- Update sign.rs ([#304](https://github.com/gakonst/ethers-rs/issues/304))
+- Upgrade to GitHub-native Dependabot ([#283](https://github.com/gakonst/ethers-rs/issues/283))
+- Prevent interleaving websocket ID load/store operations ([#217](https://github.com/gakonst/ethers-rs/issues/217))
+- Make abigen reproducible ([#200](https://github.com/gakonst/ethers-rs/issues/200))
+- Feat/is middleware signer ([#182](https://github.com/gakonst/ethers-rs/issues/182))
+- I256 implementation ([#175](https://github.com/gakonst/ethers-rs/issues/175))
+- Handle ping/pong messages for Ws provider ([#163](https://github.com/gakonst/ethers-rs/issues/163))
+
+### Refactor
+
+- Make IPC generic over AsyncRead/Write ([#264](https://github.com/gakonst/ethers-rs/issues/264))
+- Make human readable abi parsing more robust ([#225](https://github.com/gakonst/ethers-rs/issues/225))
+
+### Styling
+
+- Expose `LogMeta` type and add more fields, and expose FilterBlockOption ([#294](https://github.com/gakonst/ethers-rs/issues/294))
+- Replace println usage in ws provider ([#263](https://github.com/gakonst/ethers-rs/issues/263))
+- Remove token instead cloning them ([#236](https://github.com/gakonst/ethers-rs/issues/236))
+
+### Testing
+
+- Enable ignored tests with geth ([#306](https://github.com/gakonst/ethers-rs/issues/306))
+- Account for offset for first subscription ([#302](https://github.com/gakonst/ethers-rs/issues/302))
+
+## [0.2.0] - 2021-01-13
+
+### Bug Fixes
+
+- Bump to tokio-tungstenite 13.0
+- Reschedule waker for >1 confs ([#112](https://github.com/gakonst/ethers-rs/issues/112))
+- Reschedule waker even if receipt is not available ([#104](https://github.com/gakonst/ethers-rs/issues/104))
+- Reschedule waker if receipt is immediately available ([#103](https://github.com/gakonst/ethers-rs/issues/103))
+- Default param name if not found following memory/calldata ([#91](https://github.com/gakonst/ethers-rs/issues/91))
+- Update signature error
+- Replace FilterStream with concrete type ([#69](https://github.com/gakonst/ethers-rs/issues/69))
+- Return Option for txs/receipts/blocks ([#64](https://github.com/gakonst/ethers-rs/issues/64))
+- Serialize filters properly and always rewake ([#61](https://github.com/gakonst/ethers-rs/issues/61))
+- Make multicall work by reference ([#58](https://github.com/gakonst/ethers-rs/issues/58))
+- Make token decoding abiencoderv2 friendly
+- Add Randomness when using celo ([#44](https://github.com/gakonst/ethers-rs/issues/44))
+- Add Send trait bound to PendingTx state future ([#39](https://github.com/gakonst/ethers-rs/issues/39))
+
+### Depedencies
+
+- Bump to 0.2.0 ([#151](https://github.com/gakonst/ethers-rs/issues/151))
+- Bump tempfile from 3.1.0 to 3.2.0 ([#149](https://github.com/gakonst/ethers-rs/issues/149))
+- Bump serde from 1.0.118 to 1.0.119 ([#146](https://github.com/gakonst/ethers-rs/issues/146))
+- Bump bytes from 1.0.0 to 1.0.1 ([#145](https://github.com/gakonst/ethers-rs/issues/145))
+- Bump anyhow from 1.0.37 to 1.0.38 ([#139](https://github.com/gakonst/ethers-rs/issues/139))
+- Bump pin-project from 1.0.2 to 1.0.3 ([#135](https://github.com/gakonst/ethers-rs/issues/135))
+- Upgrade to Tokio 1.0 and remove async-std ([#120](https://github.com/gakonst/ethers-rs/issues/120))
+- Trim some dependencies ([#116](https://github.com/gakonst/ethers-rs/issues/116))
+
+### Documentation
+
+- Add more docs ([#130](https://github.com/gakonst/ethers-rs/issues/130))
+- Add solc-select to the readme
+- Fix broken links
+- Add telegram to README
+
+### Features
+
+- Add tracing ([#113](https://github.com/gakonst/ethers-rs/issues/113))
+- Expose to_eip_155 ([#111](https://github.com/gakonst/ethers-rs/issues/111))
+- Derives &, Arc and Box for Middleware ([#109](https://github.com/gakonst/ethers-rs/issues/109))
+- Add a mock transport ([#99](https://github.com/gakonst/ethers-rs/issues/99))
+- Add method for parity_getBlockReceipts
+- Port over tracing from rust-web3 ([#93](https://github.com/gakonst/ethers-rs/issues/93))
+- Allow encoding/decoding function data ([#90](https://github.com/gakonst/ethers-rs/issues/90))
+- Transaction Gas Price Escalator middleware ([#81](https://github.com/gakonst/ethers-rs/issues/81))
+- Generalize wallet/private key + yubihsm2 ([#75](https://github.com/gakonst/ethers-rs/issues/75))
+- Convert signing to k256 ([#72](https://github.com/gakonst/ethers-rs/issues/72))
+- Middleware Architecture ([#65](https://github.com/gakonst/ethers-rs/issues/65))
+- Ledger support ([#66](https://github.com/gakonst/ethers-rs/issues/66))
+- Add epochSnarkData to the celo block ([#46](https://github.com/gakonst/ethers-rs/issues/46))
+- Tokenize tuples
+- Ethers-core wasm32 arch compatibility ([#38](https://github.com/gakonst/ethers-rs/issues/38))
+- Add helper to query events w/ metadata (block num + tx hash) ([#33](https://github.com/gakonst/ethers-rs/issues/33))
+- Make Signer on Client optional ([#34](https://github.com/gakonst/ethers-rs/issues/34))
+- Introduce a pending tx polling delay so that we do not spam the chain ([#31](https://github.com/gakonst/ethers-rs/issues/31))
+
+### Miscellaneous Tasks
+
+- Use published crate ([#148](https://github.com/gakonst/ethers-rs/issues/148))
+- Upgrade to latest ethtypes ([#137](https://github.com/gakonst/ethers-rs/issues/137))
+- Use published coins-ledger ([#132](https://github.com/gakonst/ethers-rs/issues/132))
+- Remove dead code
+- Add example for ledger
+- Make websockets optional ([#45](https://github.com/gakonst/ethers-rs/issues/45))
+
+### Other
+
+- Support for encrypted JSON keystore ([#138](https://github.com/gakonst/ethers-rs/issues/138))
+- Upgrade reqwest to 0.11.0 to ensure only 1 version of tokio used ([#136](https://github.com/gakonst/ethers-rs/issues/136))
+- Fix broken link to TG group in readme. ([#110](https://github.com/gakonst/ethers-rs/issues/110))
+- Returning a `PendingTransaction` after sending a tx ([#107](https://github.com/gakonst/ethers-rs/issues/107))
+- Update README.md
+- Contract & Provider eth_subscribe support ([#100](https://github.com/gakonst/ethers-rs/issues/100))
+- Update README.md
+- Misc Fixes ([#97](https://github.com/gakonst/ethers-rs/issues/97))
+- Add Sync trait to middleware error ([#94](https://github.com/gakonst/ethers-rs/issues/94))
+- Geth TxPool API Support ([#86](https://github.com/gakonst/ethers-rs/issues/86))
+- Address checksum ([#85](https://github.com/gakonst/ethers-rs/issues/85))
+- Nonce manager ([#59](https://github.com/gakonst/ethers-rs/issues/59))
+- (feat) gas oracle support ([#56](https://github.com/gakonst/ethers-rs/issues/56))
+- Add support for gas estimate and calldata from ContractCall ([#53](https://github.com/gakonst/ethers-rs/issues/53))
+- Add get_storage_at
+- Reschedule rewaking when unpausing pending tx future ([#50](https://github.com/gakonst/ethers-rs/issues/50))
+- Implement Multicall functionality for batched calls ([#43](https://github.com/gakonst/ethers-rs/issues/43))
+- Fix buggy non-nested tuples ([#48](https://github.com/gakonst/ethers-rs/issues/48))
+- Update README.md ([#47](https://github.com/gakonst/ethers-rs/issues/47))
+- Improve Ganache Flexibility ([#37](https://github.com/gakonst/ethers-rs/issues/37))
+- Replace contract client references with Arc ([#35](https://github.com/gakonst/ethers-rs/issues/35))
+- Websockets + TLS for Async-Std / Tokio ([#30](https://github.com/gakonst/ethers-rs/issues/30))
+
+### Refactor
+
+- Extract minimal features of Contract into BaseContract ([#88](https://github.com/gakonst/ethers-rs/issues/88))
+- Pending txns don't wait to poll futures until interval elapses ([#49](https://github.com/gakonst/ethers-rs/issues/49))
+
+### Styling
+
+- Bug #55: prevent request from serializing ZSTs as null ([#57](https://github.com/gakonst/ethers-rs/issues/57))
+
+## [0.1.3] - 2020-06-20
+
+### Bug Fixes
+
+- Fix intradoc links and add missing cargo metadata ([#29](https://github.com/gakonst/ethers-rs/issues/29))
+- Make Signature.v a u64 instead of a u8 and expose `verify` ([#21](https://github.com/gakonst/ethers-rs/issues/21))
+- Pass array arguments ([#10](https://github.com/gakonst/ethers-rs/issues/10))
+- Simplify ENS interfaces
+- Make wallet non-optional
+- Serialize null filters
+- Adjust to rest of contract fixes
+- Fix examples
+
+### Depedencies
+
+- Skip tests with external deps
+
+### Documentation
+
+- Add missing attribution to Althea for the lean JSON RPC client
+- Add missing attribution to Gnosis for codegen & macros
+- Add ethers.js as a reference
+- Add contributing.md
+- Add some templates ([#14](https://github.com/gakonst/ethers-rs/issues/14))
+- Further expand the docs
+- Update struct
+- Expand contract docs
+- Expand Wallet examples
+- Add more docs
+- Improve struct level docs
+- Add doctests and examples
+- Add some more docs
+- Add docs to ethers-providers
+- Docs
+
+### Features
+
+- Implement Serde and make Wallet API smaller ([#20](https://github.com/gakonst/ethers-rs/issues/20))
+- Add various new utility methods ([#13](https://github.com/gakonst/ethers-rs/issues/13))
+- Join the transaction futures
+- Allow querying logs with their respective tx hashes
+- Add solc bindings
+- Adds support for launching ganache-cli
+- Add ens support
+- Add tokenization and improve contract API for events
+- Add basic contract support
+- Add fetching logs
+- Add receipts
+- Add get_block
+
+### Miscellaneous Tasks
+
+- Remove leftover file
+- Do not run the doctests since the abi paths cannot be found
+- Fix doctest
+- Fix examples
+- Remove unnecessary stuff
+- Comment out some bothersome tests
+
+### Other
+
+- Dual license under MIT/Apache 2 ([#28](https://github.com/gakonst/ethers-rs/issues/28))
+- Provider Fixes on filters and gas estimation ([#23](https://github.com/gakonst/ethers-rs/issues/23))
+- Add Celo support ([#8](https://github.com/gakonst/ethers-rs/issues/8))
+- Fix Pending Transactions and EIP-155 ([#22](https://github.com/gakonst/ethers-rs/issues/22))
+- ABI Encoder v2 + ABI Spec v6.6 ([#17](https://github.com/gakonst/ethers-rs/issues/17))
+- Switch to github actions ([#18](https://github.com/gakonst/ethers-rs/issues/18))
+- Add json rpc bindings for eth_getCode ([#15](https://github.com/gakonst/ethers-rs/issues/15))
+- Add pending tx type to wait for tx confirmations ([#11](https://github.com/gakonst/ethers-rs/issues/11))
+- Update docs path ([#12](https://github.com/gakonst/ethers-rs/issues/12))
+- Add streamed logs to the provider ([#9](https://github.com/gakonst/ethers-rs/issues/9))
+- Re-enable paths/etherscan and enable more complex tokens
+- Simplify structs and re-enable file/remote codegen
+- Simplify lifetimes
+- Allow connecting to many clients/addresses
+- Simplify errors and generics
+- Remove provider/signers trait bound
+- Simplify signers
+- Remove type-safe networks
+- Simplify provider type declaration
+- Ensure functions do not clash with event names
+- Use pure rust libsecp
+- Reorganize docs
+- Add a prelude to make importing stuff easier
+- Add deployer
+- Add ContractFactory
+- Add docs to ethers-signer
+- Ethers-types docs
+- Add some block tests
+- Add test for utils
+- Make ENS a first class citizen
+- Integrate ENS at the provider level
+- Install cargo-audit and clippy
+- Add versions for publishing
+- Fix ci
+- Progress
+- Specify the datatype when creating the call
+- Complete refactor
+- WIP
+- Wip
+- WIP
+- Wip
+- El refactor
+- WIP add contract abi
+- Filters
+- Add circleci
+- Update readme
+- Do not expose fields
+- Use builder pattern for txs
+- Add eth_balance and eth_accounts
+- Rename type
+- Deduplicate tx types
+- Cleanup
+- Lock
+- Abuse Deref for using provider methods in the Client
+- Lints and more examples
+- Wallet refactor
+- WIP
+- Init
+
+### Refactor
+
+- Pull crates to root dir
+- Refactor ethers-types -> ethers-core
+- Refactor ethers-utils to be part of ethers-types
+- Refactor ethers-abi to be part of ethers-types
+- Split to modules
+- Refactor
+
+### Styling
+
+- Improve Stream performance ([#25](https://github.com/gakonst/ethers-rs/issues/25))
+- Cargo fmt
+- Fmt
+
+### Testing
+
+- Re-enable tests
+
+<!-- generated by git-cliff -->
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b522f980..63428b5c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -134,14 +134,13 @@ include one or more tests to ensure that ethers-rs does not regress in the futur
 #### Unit Tests
 
 Functions which have very specific tasks should be unit tested. We encourage using
-table tests to cover a large number of cases in a succinct readable manner. A good example
-is the [create2](https://github.com/gakonst/ethers-rs/blob/1d7bdef0bd792867454da28c4e9c193681295fb2/ethers-core/src/utils/mod.rs#L110-L163) unit tests.
+table tests to cover a large number of cases in a succinct readable manner. A good
+example is the [utils](./ethers-core/src/utils/mod.rs#L647) unit tests.
 
 #### Integration tests
 
-Integration tests go in the same crate as the code they are testing. Each sub
-crate should have a `dev-dependency` on `ethers` itself. This makes all
-utilities available to use in tests, no matter the crate being tested.
+Integration tests go in the same crate as the code they are testing, in the
+`tests/it/` directory.
 
 The best strategy for writing a new integration test is to look at existing
 integration tests in the crate and follow the style.
@@ -155,27 +154,23 @@ that the example is correct and provides additional test coverage.
 The trick to documentation tests is striking a balance between being succinct
 for a reader to understand and actually testing the API.
 
-Same as with integration tests, when writing a documentation test, the full
-`ethers` crate is available. This is especially useful for getting access to the
-runtime to run the example.
-
 The documentation tests will be visible from both the crate specific
 documentation **and** the `ethers` facade documentation via the re-export. The
 example should be written from the point of view of a user that is using the
-`ethers` crate. As such, the example should use the API via the facade and not by
-directly referencing the crate.
+`ethers` crate.
 
 The type level example for `ethers_providers::Provider` provides a good example of a
 documentation test:
 
 ````rust
 /// ```no_run
-/// use ethers::providers::{JsonRpcClient, Provider, Http};
-/// use std::convert::TryFrom;
+/// # async fn foo() -> Result<(), Box<dyn std::error::Error>> {
+/// use ethers_providers::{Middleware, Provider, Http};
 ///
-/// let provider = Provider::<Http>::try_from("https://eth.llamarpc.com").expect("could not instantiate HTTP Provider");
+/// let provider = Provider::<Http>::try_from(
+///     "https://eth.llamarpc.com"
+/// ).expect("could not instantiate HTTP Provider");
 ///
-/// # async fn foo<P: JsonRpcClient>(provider: &Provider<P>) -> Result<(), Box<dyn std::error::Error>> {
 /// let block = provider.get_block(100u64).await?;
 /// println!("Got block: {}", serde_json::to_string(&block)?);
 /// # Ok(())
@@ -205,52 +200,15 @@ notes about [commit squashing](#commit-squashing)).
 
 #### Commit message guidelines
 
-A good commit message should describe what changed and why.
-
-1. The first line should:
-
--   contain a short description of the change (preferably 50 characters or less,
-    and no more than 72 characters)
--   be entirely in lowercase with the exception of proper nouns, acronyms, and
-    the words that refer to code, like function/variable names
--   be prefixed with the name of the sub crate being changed (without the `ethers-`
-    prefix) and start with an imperative verb. If modifying `ethers` proper,
-    omit the crate prefix.
-
-Examples:
-
--   providers: introduce ENS querying for names and addresses
--   re-export the abi, types and utils modules from `ethers_core`
-
-2. Keep the second line blank.
-3. Wrap all other lines at 72 columns (except for long URLs).
-4. If your patch fixes an open issue, you can add a reference to it at the end
-   of the log. Use the `Fixes: #` prefix and the issue number. For other
-   references use `Refs: #`. `Refs` may include multiple issues, separated by a
-   comma.
+Commit messages should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
+specification.
 
-    Examples:
+Here's a few examples from the master branch's commit log:
 
-    - `Fixes: #1337`
-    - `Refs: #1234`
-
-Sample complete commit message:
-
-```txt
-subcrate: explain the commit in one line
-
-Body of commit message is a few lines of text, explaining things
-in more detail, possibly giving some background about the issue
-being fixed, etc.
-
-The body of the commit message can be several paragraphs, and
-please do proper word-wrap and keep columns shorter than about
-72 characters or so. That way, `git log` will show things
-nicely even when it is indented.
-
-Fixes: #1337
-Refs: #453, #154
-```
+-   feat(abigen): support empty events
+-   chore: bump crypto deps
+-   test: simplify test cleanup
+-   fmt: run rustfmt
 
 ### Opening the Pull Request
 
@@ -380,17 +338,14 @@ When releasing the workspace:
    existing APIs. If so, resolve those issues and make a `minor` change
    release. Otherwise, if it is necessary to make a breaking release, make a
    `major` change release.
-2. **Dry run the release** by running `cargo release --workspace <release_type>`
-3. **Update the changelog for the crate.** Changelog for all crates go in
-   [`CHANGELOG.md`](./CHANGELOG.md). Any unreleased changes changelogs should
-   be moved to respective crates released changelogs. Change descriptions
-   may be taken from the Git history, but should be edited to ensure a consistent
-   format, based on [Keep A Changelog][keep-a-changelog]. Other entries in that
-   crate's changelog may also be used for reference.
-4. **Release the crate.** Run the following command:
-
-    ```bash
-    cargo release --workspace <release_type> --execute
-    ```
+2. **Dry run the release.** Running the `cargo release` command without the
+   `--execute` flag will perform a dry run.
+3. **Release the crate.**
+   Run the `bin/release` script with the `--execute` flag.
+   This will update the package versions in the relevant manifests, create
+   git tags, automatically generate the [`CHANGELOG.md`](./CHANGELOG.md) file
+   with [git-cliff], and finally publish the crates to `crates.io`.
+   For more information, see the top comment in the script file.
 
 [keep-a-changelog]: https://github.com/olivierlacan/keep-a-changelog/blob/master/CHANGELOG.md
+[git-cliff]: https://github.com/orhun/git-cliff
diff --git a/Cargo.lock b/Cargo.lock
index aa4eeafb..a436fa3d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1497,25 +1497,9 @@ dependencies = [
  "yansi",
 ]
 
-[[package]]
-name = "ethers-wasm"
-version = "2.0.0"
-dependencies = [
- "console_error_panic_hook",
- "ethers",
- "hex",
- "serde",
- "serde-wasm-bindgen",
- "serde_json",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wasm-bindgen-test",
- "web-sys",
-]
-
 [[package]]
 name = "examples-anvil"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
  "eyre",
@@ -1524,14 +1508,14 @@ dependencies = [
 
 [[package]]
 name = "examples-big-numbers"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
 ]
 
 [[package]]
 name = "examples-contracts"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
  "eyre",
@@ -1542,7 +1526,7 @@ dependencies = [
 
 [[package]]
 name = "examples-events"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
  "eyre",
@@ -1565,7 +1549,7 @@ dependencies = [
 
 [[package]]
 name = "examples-middleware"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "async-trait",
  "ethers",
@@ -1578,7 +1562,7 @@ dependencies = [
 
 [[package]]
 name = "examples-providers"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "async-trait",
  "ethers",
@@ -1593,7 +1577,7 @@ dependencies = [
 
 [[package]]
 name = "examples-queries"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
  "eyre",
@@ -1604,7 +1588,7 @@ dependencies = [
 
 [[package]]
 name = "examples-subscriptions"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
  "eyre",
@@ -1615,7 +1599,7 @@ dependencies = [
 
 [[package]]
 name = "examples-transactions"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
  "eyre",
@@ -1626,7 +1610,7 @@ dependencies = [
 
 [[package]]
 name = "examples-wallets"
-version = "2.0.0"
+version = "0.0.0"
 dependencies = [
  "ethers",
  "eyre",
@@ -1635,6 +1619,22 @@ dependencies = [
  "tokio",
 ]
 
+[[package]]
+name = "examples-wasm"
+version = "0.0.0"
+dependencies = [
+ "console_error_panic_hook",
+ "ethers",
+ "hex",
+ "serde",
+ "serde-wasm-bindgen",
+ "serde_json",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-bindgen-test",
+ "web-sys",
+]
+
 [[package]]
 name = "eyre"
 version = "0.6.8"
diff --git a/README.md b/README.md
index 97cea2aa..c5037f62 100644
--- a/README.md
+++ b/README.md
@@ -134,7 +134,7 @@ ethers = { version = "1.0.2", features = ["openssl"] }
 
 ## Note on WASM and FFI bindings
 
-You should be able to build a wasm app that uses ethers-rs (see the [example](./examples/ethers-wasm) for reference). If ethers fails to
+You should be able to build a wasm app that uses ethers-rs (see the [example](./examples/wasm) for reference). If ethers fails to
 compile in WASM, please
 [open an issue](https://github.com/gakonst/ethers-rs/issues/new/choose).
 There is currently no plan to provide an official JS/TS-accessible library
diff --git a/bin/publish b/bin/publish
deleted file mode 100644
index d2d4d742..00000000
--- a/bin/publish
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-USAGE="Publish a new release of a ethers-rs crate
-USAGE:
-    $(basename "$0") [OPTIONS] [CRATE] [VERSION]
-OPTIONS:
-    -v, --verbose   Use verbose Cargo output
-    -d, --dry-run   Perform a dry run (do not publish or tag the release)
-    -h, --help      Show this help text and exit"
-
-DRY_RUN=""
-VERBOSE=""
-
-err() {
-    echo -e "\e[31m\e[1merror:\e[0m $@" 1>&2;
-}
-
-status() {
-    WIDTH=12
-    printf "\e[32m\e[1m%${WIDTH}s\e[0m %s\n" "$1" "$2"
-}
-
-verify() {
-    status "Verifying" "if $CRATE v$VERSION can be released"
-    ACTUAL=$(cargo pkgid | sed -n 's/.*#\(.*\)/\1/p')
-
-    if [ "$ACTUAL" != "$VERSION" ]; then
-        err "expected to release version $VERSION, but Cargo.toml contained $ACTUAL"
-        exit 1
-    fi
-
-    if git tag -l | grep -Fxq "$TAG" ; then
-        err "git tag \`$TAG\` already exists"
-        exit 1
-    fi
-
-    PATH_DEPS=$(grep -F "path = \"" Cargo.toml | sed -e 's/^/  /')
-    if [ -n "$PATH_DEPS" ]; then
-        err "crate \`$CRATE\` contained path dependencies:\n$PATH_DEPS"
-        echo "path dependencies must be removed prior to release"
-        exit 1
-    fi
-}
-
-release() {
-    status "Releasing" "$CRATE v$VERSION"
-    cargo package $VERBOSE
-    cargo publish $VERBOSE $DRY_RUN
-
-    status "Tagging" "$TAG"
-    if [ -n "$DRY_RUN" ]; then
-        echo "# git tag $TAG && git push --tags"
-    else
-        git tag "$TAG" && git push --tags
-    fi
-}
-
-while [[ $# -gt 0 ]]
-do
-
-case "$1" in
-    -h|--help)
-    echo "$USAGE"
-    exit 0
-    ;;
-    -v|--verbose)
-    VERBOSE="--verbose"
-    set +x
-    shift
-    ;;
-    -d|--dry-run)
-    DRY_RUN="--dry-run"
-    shift
-    ;;
-    -*)
-    err "unknown flag \"$1\""
-    echo "$USAGE"
-    exit 1
-    ;;
-    *) # crate or version
-    if [ -z "$CRATE" ]; then
-        CRATE="$1"
-    elif [ -z "$VERSION" ]; then
-        VERSION="$1"
-    else
-        err "unknown positional argument \"$1\""
-        echo "$USAGE"
-        exit 1
-    fi
-    shift
-    ;;
-esac
-done
-# set -- "${POSITIONAL[@]}"
-
-if [ -z "$VERSION" ]; then
-    err "no version specified!"
-    HELP=1
-fi
-
-if [ -n "$CRATE" ]; then
-    TAG="$CRATE-$VERSION"
-else
-    err "no crate specified!"
-    HELP=1
-fi
-
-if [ -n "$HELP" ]; then
-    echo "$USAGE"
-    exit 1
-fi
-
-if [ -d "$CRATE" ]; then
-    (cd "$CRATE" && verify && release )
-else
-    err "no such crate \"$CRATE\""
-    exit 1
-fi
diff --git a/bin/release b/bin/release
new file mode 100755
index 00000000..c8a70b5d
--- /dev/null
+++ b/bin/release
@@ -0,0 +1,131 @@
+#!/usr/bin/env bash
+# Creates a new release of all the ethers crates in the workspace
+#
+# Note that this intended be run with the --execute flag, as the dry run will
+# perform all the checks that a normal `cargo release` command would.
+# This is because this script will execute only a few of the steps because it
+# has to run `git-cliff` to create the changelog in between steps, and exclude
+# all the example crates from the version bump.
+
+set -e
+
+info() {
+    printf "\e[34;1minfo\e[0m: %s\n" "$1"
+}
+
+throw() {
+    printf "\e[31;1merror\e[0m: %s\n\n%s\n" "$1" "$USAGE" 1>&2
+    exit 1
+}
+
+exec_or_print() {
+    if [ "$EXECUTE" ]; then
+        "$@"
+    else
+        echo "Skipping due to dry run. Command:" "$@"
+    fi
+}
+
+USAGE="Create a new release of the ethers workspace crates
+
+Usage:
+    $(basename "$0") [OPTIONS] <VERSION>
+
+Options:
+    -s, --sign      Sign commits and tag
+    -v, --verbose   Use verbose Cargo output
+    -e, --execute   Actually perform a release. Dry-run mode is the default
+    -h, --help      Show this help text and exit
+
+Arguments:
+    <VERSION>       See 'cargo release --help'. Levels are not supported"
+
+SIGN_COMMIT=""
+SIGN_TAG=""
+VERBOSE=""
+EXECUTE=""
+VERSION=""
+while [[ $# -gt 0 ]]; do
+    case $1 in
+        -s|--sign)
+            SIGN_COMMIT="--sign-commit"
+            SIGN_TAG="--sign-tag"
+            shift
+            ;;
+        -v|--verbose)
+            VERBOSE="--verbose"
+            shift
+            ;;
+        -x|--execute)
+            EXECUTE="--execute"
+            shift
+            ;;
+        -h|--help)
+            echo "$USAGE"
+            exit 0
+            ;;
+
+        --)
+            VERSION="$2"
+            break
+            ;;
+
+        -*)
+            throw "unrecognized option: '$1'"
+            ;;
+
+        *)
+            if [ "$VERSION" ]; then
+                throw "only one version can be specified"
+            else
+                VERSION="$1"
+            fi
+            shift
+            ;;
+    esac
+done
+
+if [ ! "$VERSION" ]; then
+    throw "a version must be set" 1>&2
+fi
+
+# check for necessary binaries
+NECESSARY=(cargo-release git-cliff)
+MISSING=""
+for bin in "${NECESSARY[@]}"; do
+    if ! command -v "$bin" &>/dev/null; then
+        MISSING=true
+        echo "'$bin' is required to run this command, but it is not installed" 1>&2
+    fi
+done
+[ "$MISSING" ] && throw "missing necessary binaries"
+
+# exclude examples
+WORKSPACE_FLAGS=(--workspace)
+for ex in examples/*; do
+    if [ -d "$ex" ]; then
+        crate=$(echo "$ex" | tr / -)
+        WORKSPACE_FLAGS+=(--exclude "$crate")
+    fi
+done
+
+# shellcheck disable=SC2206
+COMMON_FLAGS=($VERBOSE $EXECUTE)
+
+info "bumping crate versions"
+cargo release version "${WORKSPACE_FLAGS[@]}" "${COMMON_FLAGS[@]}" "$VERSION"
+
+info "creating changelog"
+exec_or_print git cliff -t "$VERSION" -o CHANGELOG.md
+
+info "creating git commit"
+exec_or_print cargo release commit "${COMMON_FLAGS[@]}" $SIGN_COMMIT
+
+info "publishing crates"
+exec_or_print cargo release publish "${COMMON_FLAGS[@]}" "${WORKSPACE_FLAGS[@]}"
+
+info "tagging commits"
+cargo release tag "${COMMON_FLAGS[@]}" "${WORKSPACE_FLAGS[@]}" $SIGN_TAG
+
+info "pushing commits and tags to remote"
+cargo release push "${COMMON_FLAGS[@]}" "${WORKSPACE_FLAGS[@]}"
diff --git a/scripts/examples.sh b/bin/run_all_examples
similarity index 100%
rename from scripts/examples.sh
rename to bin/run_all_examples
diff --git a/cliff.toml b/cliff.toml
new file mode 100644
index 00000000..01e6475d
--- /dev/null
+++ b/cliff.toml
@@ -0,0 +1,83 @@
+# configuration file for git-cliff
+# see https://github.com/orhun/git-cliff#configuration-file
+
+[changelog]
+# changelog header
+header = """
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+This changelog is automatically generated by [git-cliff](https://github.com/orhun/git-cliff),
+which is configured [here](./cliff.toml).
+
+Please do not manually edit this file.\n
+"""
+# template for the changelog body
+# https://tera.netlify.app/docs/#introduction
+body = """
+{% if version %}\
+    ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
+{% else %}\
+    ## [Unreleased]
+{% endif %}\
+{% for group, commits in commits | group_by(attribute="group") %}
+    ### {{ group | title }}
+    {% for commit in commits %}
+        - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first | split(pat="\\n") | first }}\
+    {% endfor %}
+{% endfor %}\n
+"""
+# remove the leading and trailing whitespace from the template
+trim = true
+# changelog footer
+footer = """
+<!-- generated by git-cliff -->
+"""
+
+[git]
+# parse the commits based on https://www.conventionalcommits.org
+conventional_commits = true
+# filter out the commits that are not conventional
+filter_unconventional = false
+# process each line of a commit as an individual commit
+split_commits = false
+# regex for preprocessing the commit messages
+commit_preprocessors = [
+    # replace issue numbers
+    { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/gakonst/ethers-rs/issues/${2}))" },
+]
+# regex for parsing and grouping commits
+commit_parsers = [
+    { message = "^feat", group = "Features" },
+    { message = "^fix", group = "Bug Fixes" },
+    { message = "^doc", group = "Documentation" },
+    { message = "(.*deps)|(.*dependencies)|(.*[Bb]ump)", group = "Depedencies" },
+    { message = "^perf", group = "Performance" },
+    { message = "^refactor", group = "Refactor" },
+    { message = "(^style)|(.*fmt)", group = "Styling" },
+    { message = "^test", group = "Testing" },
+    { message = ".*release", skip = true },
+    { message = "^revert", skip = true },
+    { message = "^chore", group = "Miscellaneous Tasks" },
+    { message = ".*", group = "Other" },
+]
+# protect breaking changes from being skipped due to matching a skipping commit_parser
+protect_breaking_commits = true
+# filter out the commits that are not matched by commit parsers
+filter_commits = false
+# glob pattern for matching git tags
+tag_pattern = "*"
+# regex for skipping tags
+# skip_tags = "v0.1.0-beta.1"
+# regex for ignoring tags
+ignore_tags = "^ethers.*"
+# sort the tags topologically
+topo_order = false
+# sort the commits inside sections by oldest/newest order
+sort_commits = "newest"
+# limit the number of commits included in the changelog.
+# limit_commits = 42
diff --git a/examples/anvil/Cargo.toml b/examples/anvil/Cargo.toml
index 13b0ed18..3d8b0971 100644
--- a/examples/anvil/Cargo.toml
+++ b/examples/anvil/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-anvil"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/big-numbers/Cargo.toml b/examples/big-numbers/Cargo.toml
index 832ff472..d3f5849a 100644
--- a/examples/big-numbers/Cargo.toml
+++ b/examples/big-numbers/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-big-numbers"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/contracts/Cargo.toml b/examples/contracts/Cargo.toml
index 6e9ca761..3fd9bb5f 100644
--- a/examples/contracts/Cargo.toml
+++ b/examples/contracts/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-contracts"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/events/Cargo.toml b/examples/events/Cargo.toml
index b1730d52..8dbaea5a 100644
--- a/examples/events/Cargo.toml
+++ b/examples/events/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-events"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/middleware/Cargo.toml b/examples/middleware/Cargo.toml
index b11c82d3..924a0162 100644
--- a/examples/middleware/Cargo.toml
+++ b/examples/middleware/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-middleware"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/providers/Cargo.toml b/examples/providers/Cargo.toml
index 964e2c4c..3a5b37cb 100644
--- a/examples/providers/Cargo.toml
+++ b/examples/providers/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-providers"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/queries/Cargo.toml b/examples/queries/Cargo.toml
index 71b01a4d..315de0e9 100644
--- a/examples/queries/Cargo.toml
+++ b/examples/queries/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-queries"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/subscriptions/Cargo.toml b/examples/subscriptions/Cargo.toml
index 76ca8499..0d6d276a 100644
--- a/examples/subscriptions/Cargo.toml
+++ b/examples/subscriptions/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-subscriptions"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/transactions/Cargo.toml b/examples/transactions/Cargo.toml
index 70bc415d..ad065baf 100644
--- a/examples/transactions/Cargo.toml
+++ b/examples/transactions/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-transactions"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/wallets/Cargo.toml b/examples/wallets/Cargo.toml
index 0d37ab5b..483c46d8 100644
--- a/examples/wallets/Cargo.toml
+++ b/examples/wallets/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "examples-wallets"
-version = "2.0.0"
+version = "0.0.0"
 publish = false
 authors = ["Andrea Simeoni <andreasimeoni84@gmail.com>"]
 
diff --git a/examples/ethers-wasm/.gitignore b/examples/wasm/.gitignore
similarity index 100%
rename from examples/ethers-wasm/.gitignore
rename to examples/wasm/.gitignore
diff --git a/examples/ethers-wasm/Cargo.toml b/examples/wasm/Cargo.toml
similarity index 94%
rename from examples/ethers-wasm/Cargo.toml
rename to examples/wasm/Cargo.toml
index 83925955..321fff65 100644
--- a/examples/ethers-wasm/Cargo.toml
+++ b/examples/wasm/Cargo.toml
@@ -1,8 +1,9 @@
 [package]
-name = "ethers-wasm"
-version = "2.0.0"
+name = "examples-wasm"
+version = "0.0.0"
 authors = ["Matthias Seitz <matthias.seitz@outlook.de>"]
 license = "MIT OR Apache-2.0"
+publish = false
 
 rust-version.workspace = true
 edition.workspace = true
diff --git a/examples/ethers-wasm/README.md b/examples/wasm/README.md
similarity index 100%
rename from examples/ethers-wasm/README.md
rename to examples/wasm/README.md
diff --git a/examples/ethers-wasm/abi/contract.json b/examples/wasm/abi/contract.json
similarity index 100%
rename from examples/ethers-wasm/abi/contract.json
rename to examples/wasm/abi/contract.json
diff --git a/examples/ethers-wasm/index.html b/examples/wasm/index.html
similarity index 100%
rename from examples/ethers-wasm/index.html
rename to examples/wasm/index.html
diff --git a/examples/ethers-wasm/index.js b/examples/wasm/index.js
similarity index 100%
rename from examples/ethers-wasm/index.js
rename to examples/wasm/index.js
diff --git a/examples/ethers-wasm/package.json b/examples/wasm/package.json
similarity index 95%
rename from examples/ethers-wasm/package.json
rename to examples/wasm/package.json
index 7dceecec..44c9c8e6 100644
--- a/examples/ethers-wasm/package.json
+++ b/examples/wasm/package.json
@@ -1,5 +1,5 @@
 {
-    "name": "ethers-wasm",
+    "name": "examples-wasm",
     "license": "MIT OR Apache-2.0",
     "private": "true",
     "scripts": {
diff --git a/examples/ethers-wasm/webpack.config.js b/examples/wasm/webpack.config.js
similarity index 100%
rename from examples/ethers-wasm/webpack.config.js
rename to examples/wasm/webpack.config.js
diff --git a/examples/ethers-wasm/yarn.lock b/examples/wasm/yarn.lock
similarity index 100%
rename from examples/ethers-wasm/yarn.lock
rename to examples/wasm/yarn.lock
diff --git a/release.toml b/release.toml
new file mode 100644
index 00000000..2dfcd4f7
--- /dev/null
+++ b/release.toml
@@ -0,0 +1,3 @@
+allow-branch = ["master"]
+pre-release-commit-message = "chore: release"
+tag-message = "chore: release {{crate_name}} v{{version}}"


Test patch:
diff --git a/examples/ethers-wasm/src/lib.rs b/examples/wasm/src/lib.rs
similarity index 100%
rename from examples/ethers-wasm/src/lib.rs
rename to examples/wasm/src/lib.rs
diff --git a/examples/ethers-wasm/src/utils.rs b/examples/wasm/src/utils.rs
similarity index 100%
rename from examples/ethers-wasm/src/utils.rs
rename to examples/wasm/src/utils.rs
diff --git a/examples/ethers-wasm/tests/contract_with_abi.rs b/examples/wasm/tests/contract_with_abi.rs
similarity index 96%
rename from examples/ethers-wasm/tests/contract_with_abi.rs
rename to examples/wasm/tests/contract_with_abi.rs
index 0050be94..f1446a13 100644
--- a/examples/ethers-wasm/tests/contract_with_abi.rs
+++ b/examples/wasm/tests/contract_with_abi.rs
@@ -5,7 +5,7 @@ use ethers::{
     signers::Signer,
     types::Chain,
 };
-use ethers_wasm::{utils, SimpleContract};
+use examples_wasm::{utils, SimpleContract};
 use std::sync::Arc;
 use wasm_bindgen_test::*;