Skip to content
Snippets Groups Projects
  1. Jul 19, 2024
    • ordian's avatar
      beefy: put not only lease parachain heads into mmr (#4751) · 7f2a99fc
      ordian authored
      Short-term addresses
      https://github.com/paritytech/polkadot-sdk/issues/4737.
      
      - [x] Resolve benchmarking
      I've digged into benchmarking mentioned
      https://github.com/paritytech/polkadot-sdk/issues/4737#issuecomment-2155084660,
      but it seemed to me that this code is different proof/path. @acatangiu
      could you confirm? (btw, in this
      [bench](https://github.com/paritytech/polkadot-sdk/blob/b65313e8
      
      /bridges/modules/parachains/src/benchmarking.rs#L57),
      where do you actually set the `fn parachains()` to a reasonable number?
      i've only seen 1)
      - [ ] Communicate to Snowfork team:
      This seems to be the relevant code:
      https://github.com/Snowfork/snowbridge/blob/1e18e010331777042aa7e8fff3c118094af856ba/relayer/cmd/parachain_head_proof.go#L95-L120
      - [x] Is it preferred to iter() in some random order as suggested in
      https://github.com/paritytech/polkadot-sdk/issues/4737#issuecomment-2155084660
      or take lowest para ids instead as implemented here currently?
      - [x] PRDoc
      
      ## Updating Polkadot and Kusama runtimes:
      
      New weights need to be generated (`pallet_mmr`) and configs updated
      similar to Rococo/Westend:
      ```patch
      diff --git a/polkadot/runtime/rococo/src/lib.rs b/polkadot/runtime/rococo/src/lib.rs
      index 5adffbd7422..c7da339b981 100644
      --- a/polkadot/runtime/rococo/src/lib.rs
      +++ b/polkadot/runtime/rococo/src/lib.rs
      @@ -1307,9 +1307,11 @@ impl pallet_mmr::Config for Runtime {
              const INDEXING_PREFIX: &'static [u8] = mmr::INDEXING_PREFIX;
              type Hashing = Keccak256;
              type OnNewRoot = pallet_beefy_mmr::DepositBeefyDigest<Runtime>;
      -       type WeightInfo = ();
              type LeafData = pallet_beefy_mmr::Pallet<Runtime>;
              type BlockHashProvider = pallet_mmr::DefaultBlockHashProvider<Runtime>;
      +       type WeightInfo = weights::pallet_mmr::WeightInfo<Runtime>;
      +       #[cfg(feature = "runtime-benchmarks")]
      +       type BenchmarkHelper = parachains_paras::benchmarking::mmr_setup::MmrSetup<Runtime>;
       }
      
       parameter_types! {
      @@ -1319,13 +1321,8 @@ parameter_types! {
       pub struct ParaHeadsRootProvider;
       impl BeefyDataProvider<H256> for ParaHeadsRootProvider {
              fn extra_data() -> H256 {
      -               let mut para_heads: Vec<(u32, Vec<u8>)> = parachains_paras::Parachains::<Runtime>::get()
      -                       .into_iter()
      -                       .filter_map(|id| {
      -                               parachains_paras::Heads::<Runtime>::get(&id).map(|head| (id.into(), head.0))
      -                       })
      -                       .collect();
      -               para_heads.sort();
      +               let para_heads: Vec<(u32, Vec<u8>)> =
      +                       parachains_paras::Pallet::<Runtime>::sorted_para_heads();
                      binary_merkle_tree::merkle_root::<mmr::Hashing, _>(
                              para_heads.into_iter().map(|pair| pair.encode()),
                      )
      @@ -1746,6 +1743,7 @@ mod benches {
                      [pallet_identity, Identity]
                      [pallet_indices, Indices]
                      [pallet_message_queue, MessageQueue]
      +               [pallet_mmr, Mmr]
                      [pallet_multisig, Multisig]
                      [pallet_parameters, Parameters]
                      [pallet_preimage, Preimage]
      ```
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
    • Joseph Zhao's avatar
      Backport claim assets tests from polkadot-fellows repo (#4930) · d16af0b8
      Joseph Zhao authored
      
      # Issue
      [Backport integration tests for claim assets to the polkadot-sdk from
      polkadot-fellows repo
      #4892](https://github.com/paritytech/polkadot-sdk/issues/4892)
      # Description
      For the first time to contribute this project, I just finished part and
      make sure everything is ok.
      - [x] backport [claim_assets test
      case](https://github.com/polkadot-fellows/runtimes/blob/main/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/claim_assets.rs)
      to the polkadot-sdk testnet integration tests
      - [x] backport macro
      [test_chain_can_claim_assets](https://github.com/polkadot-fellows/runtimes/blob/main/integration-tests/emulated/helpers/src/lib.rs#L218)
      from fellows repo
      - [ ] when merged to polkadot-sdk and released, make sure that it is
      propagated to the fellows repo:
      https://github.com/polkadot-fellows/runtimes/issues/363
      - [x] backport and align other macros/test-cases from
      https://github.com/polkadot-fellows/runtimes/blob/8ec28f96eeb30fbba30d29006d75e1a3fa1cea1c/integration-tests/emulated/helpers/src/lib.rs#L31-L33
      
      ---------
      
      Co-authored-by: default avatarZihan Zhao <josephzhao@Zihans-MacBook-Pro-3.local>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
    • Oliver Tale-Yazdi's avatar
      prdoc: Require `bump` field (#5073) · b01ef046
      Oliver Tale-Yazdi authored
      
      Require to specify a `bump` for every modified crate.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Özgün Özerk's avatar
      relax `XcmFeeToAccount` trait bound on `AccountId` (#4959) · f8f70b37
      Özgün Özerk authored
      Fixes #4960 
      
      Configuring `FeeManager` enforces the boundary `Into<[u8; 32]>` for the
      `AccountId` type.
      
      Here is how it works currently: 
      
      Configuration:
      ```rust
          type FeeManager = XcmFeeManagerFromComponents<
              IsChildSystemParachain<primitives::Id>,
              XcmFeeToAccount<Self::AssetTransactor, AccountId, TreasuryAccount>,
          >;
      ```
      
      `XcmToFeeAccount` struct:
      ```rust
      /// A `HandleFee` implementation that simply deposits the fees into a specific on-chain
      /// `ReceiverAccount`.
      ///
      /// It reuses the `AssetTransactor` configured on the XCM executor to deposit fee assets. If
      /// the `AssetTransactor` returns an error while calling `deposit_asset`, then a warning will be
      /// logged and the fee burned.
      pub struct XcmFeeToAccount<AssetTransactor, AccountId, ReceiverAccount>(
      	PhantomData<(AssetTransactor, AccountId, ReceiverAccount)>,
      );
      
      impl<
      		AssetTransactor: TransactAsset,
      		AccountId: Clone + Into<[u8; 32]>,
      		ReceiverAccount: Get<Acco...
    • dependabot[bot]'s avatar
      Bump actions/setup-node from 4.0.1 to 4.0.3 (#4990) · 59b11ca6
      dependabot[bot] authored
      
      Bumps [actions/setup-node](https://github.com/actions/setup-node) from
      4.0.1 to 4.0.3.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/actions/setup-node/releases">actions/setup-node's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.0.3</h2>
      <h2>What's Changed</h2>
      <h3>Bug fixes:</h3>
      <ul>
      <li>Fix macos latest check failures by <a
      href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
      in <a
      href="https://redirect.github.com/actions/setup-node/pull/1041">actions/setup-node#1041</a></li>
      </ul>
      <h3>Documentation changes:</h3>
      <ul>
      <li>Documentation update to update default Node version to 20 by <a
      href="https://github.com/bengreeley"><code>@​bengreeley</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/949">actions/setup-node#949</a></li>
      </ul>
      <h3>Dependency  updates:</h3>
      <ul>
      <li>Bump undici from 5.26.5 to 5.28.3 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/965">actions/setup-node#965</a></li>
      <li>Bump braces from 3.0.2 to 3.0.3 and other dependency updates by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/1087">actions/setup-node#1087</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/bengreeley"><code>@​bengreeley</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/949">actions/setup-node#949</a></li>
      <li><a
      href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/1041">actions/setup-node#1041</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/actions/setup-node/compare/v4...v4.0.3">https://github.com/actions/setup-node/compare/v4...v4.0.3</a></p>
      <h2>v4.0.2</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add support for <code>volta.extends</code> by <a
      href="https://github.com/ThisIsManta"><code>@​ThisIsManta</code></a> in
      <a
      href="https://redirect.github.com/actions/setup-node/pull/921">actions/setup-node#921</a></li>
      <li>Add support for arm64 Windows by <a
      href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
      in <a
      href="https://redirect.github.com/actions/setup-node/pull/927">actions/setup-node#927</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/ThisIsManta"><code>@​ThisIsManta</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/921">actions/setup-node#921</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/actions/setup-node/compare/v4.0.1...v4.0.2">https://github.com/actions/setup-node/compare/v4.0.1...v4.0.2</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/actions/setup-node/commit/1e60f620b9541d16bece96c5465dc8ee9832be0b"><code>1e60f62</code></a>
      Bump braces from 3.0.2 to 3.0.3 (<a
      href="https://redirect.github.com/actions/setup-node/issues/1087">#1087</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/eff380dfbcf941bf8832e4acb788cebe13dfd758"><code>eff380d</code></a>
      Fix macos latest check failures (<a
      href="https://redirect.github.com/actions/setup-node/issues/1041">#1041</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/c2ac33f2c62f978d6c944d9648125a294e56dc0b"><code>c2ac33f</code></a>
      Bump undici from 5.26.5 to 5.28.3 (<a
      href="https://redirect.github.com/actions/setup-node/issues/965">#965</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/25b062c917b0c75f8b47d8469aff6c94ffd89abb"><code>25b062c</code></a>
      Update README.md to update default Node version to 20 (<a
      href="https://redirect.github.com/actions/setup-node/issues/949">#949</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/60edb5dd545a775178f52524783378180af0d1f8"><code>60edb5d</code></a>
      Add support for arm64 Windows (<a
      href="https://redirect.github.com/actions/setup-node/issues/927">#927</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/d86ebcd40b3cb50b156bfa44dd277faf38282d12"><code>d86ebcd</code></a>
      Add support for <code>volta.extends</code> (<a
      href="https://redirect.github.com/actions/setup-node/issues/921">#921</a>)</li>
      <li>See full diff in <a
      href="https://github.com/actions/setup-node/compare/v4.0.1...v4.0.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=4.0.1&new-version=4.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  2. Jul 18, 2024
    • Juan Ignacio Rios's avatar
      Add `pub` to xcm::v4::PalletInfo (#4976) · ad9804f7
      Juan Ignacio Rios authored
      v3 PalletInfo had the fields public, but not v4. Any reason why?
      I need the PalletInfo fields public so I can read the values and do some
      logic based on that at Polimec
      @franciscoaguirre 
      
      If this could be backported would be highly appreciated :pray_tone1:
      
      
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • dependabot[bot]'s avatar
      Bump enumn from 0.1.12 to 0.1.13 (#5061) · d05cd9a5
      dependabot[bot] authored
      
      Bumps [enumn](https://github.com/dtolnay/enumn) from 0.1.12 to 0.1.13.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/enumn/releases">enumn's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.1.13</h2>
      <ul>
      <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
      such as sccache</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/de964e3ce0463f01dabb94c168d507254facfb86"><code>de964e3</code></a>
      Release 0.1.13</li>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/52dcafcb2ee193be8839dc0f96bfa0e151888645"><code>52dcafc</code></a>
      Pull in proc-macro2 sccache fix</li>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/ba2e288a83c5e62d1e29b993523ccf0528043ab0"><code>ba2e288</code></a>
      Test docs.rs documentation build in CI</li>
      <li><a
      href="https://github.com/dtolnay/enumn/commit/6f5a37e5a9dcdb75987552b44d7ebdbd7f0a2a93"><code>6f5a37e</code></a>
      Update actions/checkout@v3 -&gt; v4</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/enumn/compare/0.1.12...0.1.13">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=enumn&package-manager=cargo&previous-version=0.1.12&new-version=0.1.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Nazar Mokrynskyi's avatar
      Use `Mutex` in `HeaderMetadataCache` (#5063) · d97fbb19
      Nazar Mokrynskyi authored
      Due to `LruMap` usage it is not actually possible to leverage read
      feature of `RwLock`, hence change to `Mutex` that is faster
    • Bastian Köcher's avatar
      wasm-builder: Also set `mcpu` for c deps (#3777) · 35fcac75
      Bastian Köcher authored
      Closes: https://github.com/paritytech/polkadot-sdk/issues/3192
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 8 updates (#5060) · e2d3b8b1
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 8 updates:
      
      | Package | From | To |
      | --- | --- | --- |
      | [clap](https://github.com/clap-rs/clap) | `4.5.3` | `4.5.9` |
      | [log](https://github.com/rust-lang/log) | `0.4.21` | `0.4.22` |
      | [paste](https://github.com/dtolnay/paste) | `1.0.14` | `1.0.15` |
      | [quote](https://github.com/dtolnay/quote) | `1.0.35` | `1.0.36` |
      | [serde](https://github.com/serde-rs/serde) | `1.0.197` | `1.0.204` |
      | [serde_derive](https://github.com/serde-rs/serde) | `1.0.197` |
      `1.0.204` |
      | [serde_json](https://github.com/serde-rs/json) | `1.0.114` | `1.0.120`
      |
      | [serde_yaml](https://github.com/dtolnay/serde-yaml) | `0.9.33` |
      `0.9.34+deprecated` |
      
      Updates `clap` from 4.5.3 to 4.5.9
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.5.9</h2>
      <h2>[4.5.9] - 2024-07-09</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When defining a custom help flag, be sure to
      suggest it like we do the built-in one</li>
      </ul>
      <h2>v4.5.8</h2>
      <h2>[4.5.8] - 2024-06-28</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Reduce extra flushes</li>
      </ul>
      <h2>v4.5.7</h2>
      <h2>[4.5.7] - 2024-06-10</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Clean up error message when too few arguments for
      <code>num_args</code></li>
      </ul>
      <h2>v4.5.6</h2>
      <h2>[4.5.6] - 2024-06-06</h2>
      <h2>v4.5.4</h2>
      <h2>[4.5.4] - 2024-03-25</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
      attributes again</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[4.5.9] - 2024-07-09</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When defining a custom help flag, be sure to
      suggest it like we do the built-in one</li>
      </ul>
      <h2>[4.5.8] - 2024-06-28</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Reduce extra flushes</li>
      </ul>
      <h2>[4.5.7] - 2024-06-10</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Clean up error message when too few arguments for
      <code>num_args</code></li>
      </ul>
      <h2>[4.5.6] - 2024-06-06</h2>
      <h2>[4.5.5] - 2024-06-06</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Allow <code>exclusive</code> to override
      <code>required_unless_present</code>,
      <code>required_unless_present_any</code>,
      <code>required_unless_present_all</code></li>
      </ul>
      <h2>[4.5.4] - 2024-03-25</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
      attributes again</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/43e73682835653ac48f32cc786514553d697c693"><code>43e7368</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f00dafa690479e562ef22c3ed82f17726213ee32"><code>f00dafa</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/da1093a4f4cd1abba7de0b86f39319ab86913420"><code>da1093a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5574">#5574</a>
      from zanieb/zb/try-help-custom</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2eb842cc3bc1fb5f04156efa816003ef803d5254"><code>2eb842c</code></a>
      feat: Show user defined help flags in hints</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b24deb101f7e12660b8b19d6b3979df87ffe065d"><code>b24deb1</code></a>
      test: Add coverage for help flag hints</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/866d7d14d33a3ef1f010222f004815b5cd8c15ef"><code>866d7d1</code></a>
      chore(deps): Update compatible (dev) (<a
      href="https://redirect.github.com/clap-rs/clap/issues/5560">#5560</a>)</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d14bbc95317eb87a115f56c455bdab6ba19342ff"><code>d14bbc9</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5567">#5567</a>
      from epage/c</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/5448020b188899601d641a2684833073aba0a669"><code>5448020</code></a>
      fix: Install shells for CI</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/1c5a625ad0303e2407c8ab83ea7d37795e69a3a5"><code>1c5a625</code></a>
      fix: Fix wrong <code>cfg(linux)</code></li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2d2d1f498731d2ab70e8f15fed3765a856d52732"><code>2d2d1f4</code></a>
      chore: Bump completest</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.3...v4.5.9">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `log` from 0.4.21 to 0.4.22
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[0.4.22] - 2024-06-27</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add some clarifications to the library docs by <a
      href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/620">rust-lang/log#620</a></li>
      <li>Add links to <code>colog</code> crate by <a
      href="https://github.com/chrivers"><code>@​chrivers</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/621">rust-lang/log#621</a></li>
      <li>adding line_number test + updating some testing infrastructure by <a
      href="https://github.com/DIvkov575"><code>@​DIvkov575</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/619">rust-lang/log#619</a></li>
      <li>Clarify the actual set of functions that can race in _racy variants
      by <a href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/623">rust-lang/log#623</a></li>
      <li>Replace deprecated std::sync::atomic::spin_loop_hint() by <a
      href="https://github.com/Catamantaloedis"><code>@​Catamantaloedis</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/log/pull/625">rust-lang/log#625</a></li>
      <li>Check usage of max_level features by <a
      href="https://github.com/Thomasdezeeuw"><code>@​Thomasdezeeuw</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/log/pull/627">rust-lang/log#627</a></li>
      <li>Remove unneeded import by <a
      href="https://github.com/Thomasdezeeuw"><code>@​Thomasdezeeuw</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/log/pull/628">rust-lang/log#628</a></li>
      <li>Loosen orderings for logger initialization in <a
      href="https://redirect.github.com/rust-lang/log/pull/632">rust-lang/log#632</a>.
      Originally by <a
      href="https://github.com/pwoolcoc"><code>@​pwoolcoc</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/599">rust-lang/log#599</a></li>
      <li>Use Location::caller() for file and line info in <a
      href="https://redirect.github.com/rust-lang/log/pull/633">rust-lang/log#633</a>.
      Originally by <a
      href="https://github.com/Cassy343"><code>@​Cassy343</code></a> in <a
      href="https://redirect.github.com/rust-lang/log/pull/520">rust-lang/log#520</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/chrivers"><code>@​chrivers</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/log/pull/621">rust-lang/log#621</a></li>
      <li><a href="https://github.com/DIvkov575"><code>@​DIvkov575</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/log/pull/619">rust-lang/log#619</a></li>
      <li><a
      href="https://github.com/Catamantaloedis"><code>@​Catamantaloedis</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/log/pull/625">rust-lang/log#625</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/log/compare/0.4.21...0.4.22">https://github.com/rust-lang/log/compare/0.4.21...0.4.22</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/log/commit/d5ba2cfee9b3b4ca1fcad911b7f59dc79eeee022"><code>d5ba2cf</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/634">#634</a>
      from rust-lang/cargo/0.4.22</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/d1a8306aadb88d56b74c73cdce4ef0153fb549cb"><code>d1a8306</code></a>
      prepare for 0.4.22 release</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/46894ef229483bbabd30a806c474417fc034559c"><code>46894ef</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/633">#633</a>
      from rust-lang/feat/panic-info</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/e0d389c9cadd91363f2fec52bd30f9585168a89f"><code>e0d389c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/632">#632</a>
      from rust-lang/feat/loosen-atomics</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/c9e5e13e9b02ec80e784c6fe4deacdc8f3194fca"><code>c9e5e13</code></a>
      use Location::caller() for file and line info</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/507b672660288f0223edb6353d34f8733fa0a2f4"><code>507b672</code></a>
      loosen orderings for logger initialization</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/c879b011a8ac662545adf9484d9a668ebcf9b814"><code>c879b01</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/628">#628</a>
      from Thomasdezeeuw/fix-warnings</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/405fdb4d9f847c93c0133469ea808f09320714ba"><code>405fdb4</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/log/issues/627">#627</a>
      from Thomasdezeeuw/check-features</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/1307ade1122549badf2b8fdd10c11e519eaa029a"><code>1307ade</code></a>
      Remove unneeded import</li>
      <li><a
      href="https://github.com/rust-lang/log/commit/710560ecb7035a6baf1fd9d97d7f09d0cc075006"><code>710560e</code></a>
      Don't use --all-features in CI</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/log/compare/0.4.21...0.4.22">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `paste` from 1.0.14 to 1.0.15
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/paste/releases">paste's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.15</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/dtolnay/paste/issues/102">#102</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/paste/commit/a2c7e27875277450ed28147623ba5218dd23e732"><code>a2c7e27</code></a>
      Release 1.0.15</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/1d23098227a01de542ea52db13dc1314eca13f00"><code>1d23098</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/paste/issues/102">#102</a>
      from dtolnay/checkcfg</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/1edfaae644d0b27e96c26cdc4d51e9fe3f51c12d"><code>1edfaae</code></a>
      Resolve unexpected_cfgs warning</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/cc6803dd049b9943c1e49b2220ff37a94711577c"><code>cc6803d</code></a>
      Explicitly install a Rust toolchain for cargo-outdated job</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/d39fb86d2d588bf63572886db340bc16c6cc6904"><code>d39fb86</code></a>
      Ignore dead code lint in tests</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/14872adf2b72140902ed6425a90517333ccc1a44"><code>14872ad</code></a>
      Work around empty_docs clippy lint in test</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/ed844dc6fe755bcee881bd93cdff5a77038aa49b"><code>ed844dc</code></a>
      Work around dead_code warning in test</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/0a4161b1318e01845cb32790b3bdadd618608361"><code>0a4161b</code></a>
      Add cargo.toml metadata to link to crate documentation</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/5a2bce19a1f100bf62824c9e3ff03879c916cdce"><code>5a2bce1</code></a>
      Test docs.rs documentation build in CI</li>
      <li><a
      href="https://github.com/dtolnay/paste/commit/d7e0be15a74c99b303e9993365f41f3440551b8f"><code>d7e0be1</code></a>
      Update actions/checkout@v3 -&gt; v4</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/paste/compare/1.0.14...1.0.15">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `quote` from 1.0.35 to 1.0.36
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/quote/releases">quote's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.36</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/quote/commit/5d4880c4255b5c7f5ea0a9ac3cf9f985c418a1e7"><code>5d4880c</code></a>
      Release 1.0.36</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/1dd7ce794ff69a922f6b0e1b5d3a4929e1218258"><code>1dd7ce7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/quote/issues/273">#273</a>
      from dtolnay/doc</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/0bc5d12f9be1bd39314b925aa786663e18f9a489"><code>0bc5d12</code></a>
      Apply doc comment to cfg(not(doc)) macros too</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/c295f5cca24108693724d8fb6f35da1faa81b78b"><code>c295f5c</code></a>
      Revert &quot;Temporarily disable miri on doctests&quot;</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/435bd1b917e98413310c5260787fbcee3c3d01ca"><code>435bd1b</code></a>
      Update ui test suite to nightly-2024-03-31</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/cc3847d3469a8e82a587fbf1608adc04b56c581a"><code>cc3847d</code></a>
      Explicitly install a Rust toolchain for cargo-outdated job</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/6259d49d0d35030c3dea792e85f23af52bb7994d"><code>6259d49</code></a>
      Temporarily disable miri on doctests</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/bdb4b594076d78127b99a3da768e369499e324de"><code>bdb4b59</code></a>
      Update ui test suite to nightly-2024-02-08</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/c2aeca9c00b12b6f87e2e7cb545c160e6b4aa18f"><code>c2aeca9</code></a>
      Update ui test suite to nightly-2024-01-31</li>
      <li><a
      href="https://github.com/dtolnay/quote/commit/376a0611f3acf91a424aae58104b587530361900"><code>376a061</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/quote/issues/270">#270</a>
      from dtolnay/bench</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/quote/compare/1.0.35...1.0.36">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde` from 1.0.197 to 1.0.204
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.204</h2>
      <ul>
      <li>Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to
      suggest adding serde derive or enabling a &quot;serde&quot; feature flag
      in dependencies (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>,
      thanks <a
      href="https://github.com/weiznich"><code>@​weiznich</code></a>)</li>
      </ul>
      <h2>v1.0.203</h2>
      <ul>
      <li>Documentation improvements (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2747">#2747</a>)</li>
      </ul>
      <h2>v1.0.202</h2>
      <ul>
      <li>Provide public access to RenameAllRules in serde_derive_internals
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2743">#2743</a>)</li>
      </ul>
      <h2>v1.0.201</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2737">#2737</a>)</li>
      </ul>
      <h2>v1.0.200</h2>
      <ul>
      <li>Fix formatting of &quot;invalid type&quot; and &quot;invalid
      value&quot; deserialization error messages containing NaN or infinite
      floats (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2733">#2733</a>,
      thanks <a
      href="https://github.com/jamessan"><code>@​jamessan</code></a>)</li>
      </ul>
      <h2>v1.0.199</h2>
      <ul>
      <li>Fix ambiguous associated item when
      <code>forward_to_deserialize_any!</code> is used on an enum with
      <code>Error</code> variant (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2732">#2732</a>,
      thanks <a
      href="https://github.com/aatifsyed"><code>@​aatifsyed</code></a>)</li>
      </ul>
      <h2>v1.0.198</h2>
      <ul>
      <li>Support serializing and deserializing
      <code>Saturating&lt;T&gt;</code> (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2709">#2709</a>,
      thanks <a
      href="https://github.com/jbethune"><code>@​jbethune</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/18dcae0a77632fb4767a420c550cb41991f750b8"><code>18dcae0</code></a>
      Release 1.0.204</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/58c307f9cc28a19d73a0e2869f6addf9a8a329f9"><code>58c307f</code></a>
      Alphabetize list of rustc-check-cfg</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8cc4809414a83de0d41eac38ecfa1040e088b61e"><code>8cc4809</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2769">#2769</a>
      from dtolnay/onunimpl</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/1179158defc5351467cbd2c340b7e1498391bce4"><code>1179158</code></a>
      Update ui test with diagnostic::on_unimplemented from PR 2767</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/91aa40e749620f31bf7db01c772e672f023136b5"><code>91aa40e</code></a>
      Add ui test of unsatisfied serde trait bound</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/595019e979ebed5452b550bf901abcab2cf4e945"><code>595019e</code></a>
      Cut test_suite from workspace members in old toolchain CI jobs</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b0d7917f88978eda264f8fbac13b46ece35f5348"><code>b0d7917</code></a>
      Pull in trybuild 'following types implement trait' fix</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8e6637a1e44c30dffd37322a7107d434cd751722"><code>8e6637a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>
      from weiznich/feature/diagnostic_on_unimplemented</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/694fe0595358aa0857120a99041d99975b1a8a70"><code>694fe05</code></a>
      Use the <code>#[diagnostic::on_unimplemented]</code> attribute when
      possible</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/f3dfd2a2375d9caf15a18ec657dde51a32caf6ed"><code>f3dfd2a</code></a>
      Suppress dead code warning in test of unit struct remote derive</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.204">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_derive` from 1.0.197 to 1.0.204
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde_derive's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.204</h2>
      <ul>
      <li>Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to
      suggest adding serde derive or enabling a &quot;serde&quot; feature flag
      in dependencies (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>,
      thanks <a
      href="https://github.com/weiznich"><code>@​weiznich</code></a>)</li>
      </ul>
      <h2>v1.0.203</h2>
      <ul>
      <li>Documentation improvements (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2747">#2747</a>)</li>
      </ul>
      <h2>v1.0.202</h2>
      <ul>
      <li>Provide public access to RenameAllRules in serde_derive_internals
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2743">#2743</a>)</li>
      </ul>
      <h2>v1.0.201</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2737">#2737</a>)</li>
      </ul>
      <h2>v1.0.200</h2>
      <ul>
      <li>Fix formatting of &quot;invalid type&quot; and &quot;invalid
      value&quot; deserialization error messages containing NaN or infinite
      floats (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2733">#2733</a>,
      thanks <a
      href="https://github.com/jamessan"><code>@​jamessan</code></a>)</li>
      </ul>
      <h2>v1.0.199</h2>
      <ul>
      <li>Fix ambiguous associated item when
      <code>forward_to_deserialize_any!</code> is used on an enum with
      <code>Error</code> variant (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2732">#2732</a>,
      thanks <a
      href="https://github.com/aatifsyed"><code>@​aatifsyed</code></a>)</li>
      </ul>
      <h2>v1.0.198</h2>
      <ul>
      <li>Support serializing and deserializing
      <code>Saturating&lt;T&gt;</code> (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2709">#2709</a>,
      thanks <a
      href="https://github.com/jbethune"><code>@​jbethune</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/18dcae0a77632fb4767a420c550cb41991f750b8"><code>18dcae0</code></a>
      Release 1.0.204</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/58c307f9cc28a19d73a0e2869f6addf9a8a329f9"><code>58c307f</code></a>
      Alphabetize list of rustc-check-cfg</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8cc4809414a83de0d41eac38ecfa1040e088b61e"><code>8cc4809</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2769">#2769</a>
      from dtolnay/onunimpl</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/1179158defc5351467cbd2c340b7e1498391bce4"><code>1179158</code></a>
      Update ui test with diagnostic::on_unimplemented from PR 2767</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/91aa40e749620f31bf7db01c772e672f023136b5"><code>91aa40e</code></a>
      Add ui test of unsatisfied serde trait bound</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/595019e979ebed5452b550bf901abcab2cf4e945"><code>595019e</code></a>
      Cut test_suite from workspace members in old toolchain CI jobs</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b0d7917f88978eda264f8fbac13b46ece35f5348"><code>b0d7917</code></a>
      Pull in trybuild 'following types implement trait' fix</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8e6637a1e44c30dffd37322a7107d434cd751722"><code>8e6637a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>
      from weiznich/feature/diagnostic_on_unimplemented</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/694fe0595358aa0857120a99041d99975b1a8a70"><code>694fe05</code></a>
      Use the <code>#[diagnostic::on_unimplemented]</code> attribute when
      possible</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/f3dfd2a2375d9caf15a18ec657dde51a32caf6ed"><code>f3dfd2a</code></a>
      Suppress dead code warning in test of unit struct remote derive</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.204">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.114 to 1.0.120
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/json/releases">serde_json's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.120</h2>
      <ul>
      <li>Correctly specify required version of <code>indexmap</code>
      dependency (<a
      href="https://redirect.github.com/serde-rs/json/issues/1152">#1152</a>,
      thanks <a
      href="https://github.com/cforycki"><code>@​cforycki</code></a>)</li>
      </ul>
      <h2>v1.0.119</h2>
      <ul>
      <li>Add <code>serde_json::Map::shift_insert</code> (<a
      href="https://redirect.github.com/serde-rs/json/issues/1149">#1149</a>,
      thanks <a
      href="https://github.com/joshka"><code>@​joshka</code></a>)</li>
      </ul>
      <h2>v1.0.118</h2>
      <ul>
      <li>Implement Hash for serde_json::Value (<a
      href="https://redirect.github.com/serde-rs/json/issues/1127">#1127</a>,
      thanks <a
      href="https://github.com/edwardycl"><code>@​edwardycl</code></a>)</li>
      </ul>
      <h2>v1.0.117</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/serde-rs/json/issues/1130">#1130</a>)</li>
      </ul>
      <h2>v1.0.116</h2>
      <ul>
      <li>Make module structure comprehensible to static analysis (<a
      href="https://redirect.github.com/serde-rs/json/issues/1124">#1124</a>,
      thanks <a
      href="https://github.com/mleonhard"><code>@​mleonhard</code></a>)</li>
      </ul>
      <h2>v1.0.115</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/bcedc3d96bcc33184f16d63eab397295e2193350"><code>bcedc3d</code></a>
      Release 1.0.120</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/962c0fbbecc7dc8559cfeb019c2611737512f937"><code>962c0fb</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1152">#1152</a>
      from cforycki/fix/index-map-minimal-version</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/3480feda7b572d33992544061a8e0fbf8610a803"><code>3480fed</code></a>
      fix: indexmap minimal version with Map::shift_insert()</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/b48b9a3a0c09952579e98c8940fe0d1ee4aae588"><code>b48b9a3</code></a>
      Release 1.0.119</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8878cd7c042a5f94ae4ee9889cbcbd12cc5ce334"><code>8878cd7</code></a>
      Make shift_insert available for inlining like other Map methods</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/352b7abf007cf3b9b063b01e0b1e8f6af62a4e39"><code>352b7ab</code></a>
      Document the cfg required for Map::shift_insert to exist</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/c17e63f6eff6cb40594beb1bddd4562c4cc81442"><code>c17e63f</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1149">#1149</a>
      from joshka/master</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/309ef6b8870e47622a283061cbda3f5514bfaf0d"><code>309ef6b</code></a>
      Add Map::shift_insert()</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/a9e089a2ce245bc223b56fbb6c525e2fe7b1f0ef"><code>a9e089a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1146">#1146</a>
      from haouvw/master</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/a83fe96ae2a202925f1caa7abc51991f321d7c22"><code>a83fe96</code></a>
      chore: remove repeat words</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/json/compare/v1.0.114...v1.0.120">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_yaml` from 0.9.33 to 0.9.34+deprecated
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/serde-yaml/releases">serde_yaml's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.9.34</h2>
      <p>As of this release, I am not planning to publish further versions of
      <code>serde_yaml</code> as none of my projects have been using YAML for
      a long time, so I have archived the GitHub repo and marked the crate
      deprecated in the version number. An official replacement isn't
      designated for those who still need to work with YAML, but <a
      href="https://crates.io/search?q=yaml&amp;sort=relevance">https://crates.io/search?q=yaml&amp;sort=relevance</a>
      and <a
      href="https://crates.io/keywords/yaml">https://crates.io/keywords/yaml</a>
      has a number of reasonable-looking options available.</p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/2009506d33767dfc88e979d6bc0d53d09f941c94"><code>2009506</code></a>
      Release 0.9.34</li>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/3ba8462f7d3b603d832e0daeb6cfc7168a673d7a"><code>3ba8462</code></a>
      Add unmaintained note</li>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/77236b0d50f6fb670fefe8146aba02f1eab211f3"><code>77236b0</code></a>
      Ignore dead code lint in tests</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/serde-yaml/compare/0.9.33...0.9.34">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Przemek Rzad's avatar
      Update the template synchronization script (#5022) · b6607cba
      Przemek Rzad authored
      There are slight changes required, after
      https://github.com/paritytech/polkadot-sdk/pull/4716.
      
      In order to follow the convention in the templates, we need to specify
      the internal template dependencies (runtime and a pallet) in the main
      `Cargo.toml`.
      
      Additionally, there are now dependencies with `path` in the main
      `Cargo.toml`, so we add a step with `psvm` to change those references to
      crate versions.
    • Jun Jiang's avatar
      upgrade `wasm-bindgen` to 0.2.92 (#5056) · 25d9b59e
      Jun Jiang authored
      The rustc warns
      
      ```
      The package `wasm-bindgen v0.2.87` currently triggers the following future incompatibility lints:
      > warning: older versions of the `wasm-bindgen` crate will be incompatible with future versions of Rust; please update to `wasm-bindgen` v0.2.88
      >   |
      >   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
      >   = note: for more information, see issue #71871 <https://github.com/rust-lang/rust/issues/71871>
      >
      ```
  3. Jul 17, 2024
    • Tom's avatar
      Update the stake.plus bootnode addresses (#5039) · 4bcdf816
      Tom authored
      
      Update the stake.plus bootnode addresses
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Maksym H's avatar
      Update command-fmt.yml (#5054) · a053d2cc
      Maksym H authored
      Add cargo +nightly fmt
    • hrls's avatar
      Add 'missing_docs' attribute to dummy package (#4992) · 72030ce3
      hrls authored
      
      We want to add linter to the entire node based on a template. Just like
      `cargo clippy -- --deny missing_docs`. And we have the error (pasted at
      the end).
      The dummy crate is used to test whether the WASM toolchain is installed
      and working as expected. And for some reason this dummy crate included
      as a target for the linter. I added an attribute to pass the check.
      ```
      note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
      
      Caused by:
        process didn't exit successfully: `/Users/hrls/src/atleta/target/debug/build/atleta-runtime-b15153eff20cbe96/build-script-build` (exit status: 1)
        --- stderr
        Rust WASM target for toolchain stable-aarch64-apple-darwin is not properly installed; please install it!
      
        Further error information:
        ------------------------------------------------------------
           Compiling dummy-crate v1.0.0 (/var/folders/h1/_5gdnk8901n959lc28fwx8400000gn/T/.tmpUQCLaV)
        error: missing documentation for the crate
         --> src/main.rs:1:1
          |
        1 | fn main() {}
          | ^^^^^^^^^^^^
          |
          = note: requested on the command line with `-D missing-docs`
      
        error: could not compile `dummy-crate` (bin "dummy-crate") due to 1 previous error
        ------------------------------------------------------------
      
      
      ```
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Bastian Köcher's avatar
    • s0me0ne-unkn0wn's avatar
      Fix landlock presence test (#5037) · b3cabd85
      s0me0ne-unkn0wn authored
      Closes #4951 (hopefully)
      
      @alvicsam can you please check if it passes in the new environment?
    • Alexandru Vasile's avatar
      fix: Update libp2p-websocket to v0.42.2 to fix panics (#5040) · b862b181
      Alexandru Vasile authored
      
      This release includes: https://github.com/libp2p/rust-libp2p/pull/5482
      
      Which fixes substrate node crashing with libp2p trace:
      
      ```
       0: sp_panic_handler::set::{{closure}}
         1: std::panicking::rust_panic_with_hook
         2: std::panicking::begin_panic::{{closure}}
         3: std::sys_common::backtrace::__rust_end_short_backtrace
         4: std::panicking::begin_panic
         5: <quicksink::SinkImpl<S,F,T,A,E> as futures_sink::Sink<A>>::poll_ready
         6: <rw_stream_sink::RwStreamSink<S> as futures_io::if_std::AsyncWrite>::poll_write
         7: <libp2p_noise::io::framed::NoiseFramed<T,S> as futures_sink::Sink<&alloc::vec::Vec<u8>>>::poll_ready
         8: <libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write
         9: <yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready
        10: yamux::connection::Connection<T>::poll_next_inbound
        11: <libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll
        12: <libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll
        13: <libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll
        14: libp2p_swarm::connection::pool::task::new_for_established_connection::{{closure}}
        15: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
        16: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
        17: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
        18: std::panicking::try
        19: tokio::runtime::task::harness::Harness<T,S>::poll
        20: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
        21: tokio::runtime::scheduler::multi_thread::worker::Context::run
        22: tokio::runtime::context::set_scheduler
        23: tokio::runtime::context::runtime::enter_runtime
        24: tokio::runtime::scheduler::multi_thread::worker::run
        25: tokio::runtime::task::core::Core<T,S>::poll
        26: tokio::runtime::task::harness::Harness<T,S>::poll
        27: std::sys_common::backtrace::__rust_begin_short_backtrace
        28: core::ops::function::FnOnce::call_once{{vtable.shim}}
        29: std::sys::pal::unix::thread::Thread::new::thread_start
        30: <unknown>
        31: <unknown>
      
      
      Thread 'tokio-runtime-worker' panicked at 'SinkImpl::poll_ready called after error.', /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/quicksink-0.1.2/src/lib.rs:158
      ```
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4934
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
    • Sebastian Kunert's avatar
      Do not crash on block gap in `displaced_leaves_after_finalizing` (#4997) · 1b6292bf
      Sebastian Kunert authored
      
      After the merge of #4922 we saw failing zombienet tests with the
      following error:
      ```
      2024-07-09 10:30:09 Error applying finality to block (0xb9e1d3d9cb2047fe61667e28a0963e0634a7b29781895bc9ca40c898027b4c09, 56685): UnknownBlock: Header was not found in the database: 0x0000000000000000000000000000000000000000000000000000000000000000    
      2024-07-09 10:30:09 GRANDPA voter error: could not complete a round on disk: UnknownBlock: Header was not found in the database: 0x0000000000000000000000000000000000000000000000000000000000000000    
      ```
      
      [Example](https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6662262)
      
      The crashing situation is warp-sync related. After warp syncing, it can
      happen that there are gaps in block ancestry where we don't have the
      header. At the same time, the genesis hash is in the set of leaves. In
      `displaced_leaves_after_finalizing` we then iterate from the finalized
      block backwards until we hit an unknown block, crashing the node.
      
      This PR makes the detection of displaced branches resilient against
      unknown block in the finalized block chain.
      
      cc @nazar-pc (github won't let me request a review from you)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: command-bot <>
    • Egor_P's avatar
      Adjust release flows to use those with the new branch model (#5015) · 73995199
      Egor_P authored
      This PR contains adjustments of the node release pipelines so that it
      will be possible to use those to trigger release actions based on the
      `stable` branch.
      
      Previously the whole pipeline of the flows from [creation of the
      `rc-tag`](https://github.com/paritytech/polkadot-sdk/blob/master/.github/workflows/release-10_rc-automation.yml)
      (v1.15.0-rc1, v1.15.0-rc2, etc) till [the release draft
      creation](https://github.com/paritytech/polkadot-sdk/blob/master/.github/workflows/release-30_publish_release_draft.yml)
      was triggered on push to the node release branch. As we had the node
      release branch and the crates release branch separately, it worked fine.
      
      From now on, as we are switching to the one branch approach, for the
      first iteration I would like to keep things simple to see how the new
      release process will work with both parts (crates and node) made from
      one branch.
      
      Changes made: 
      
      - The first step in the pipeline (rc-tag creation) will be triggered
      manually instead of the push to the branch
      - The tag version will be set manually from the input instead of to be
      taken from the branch name
      - Docker image will be additionally tagged as `stable`
      
      
      
      Closes: https://github.com/paritytech/release-engineering/issues/214
    • Alin Dima's avatar
      add elastic scaling MVP guide (#4663) · 0db50926
      Alin Dima authored
      Resolves https://github.com/paritytech/polkadot-sdk/issues/4468
      
      Gives instructions on how to enable elastic scaling MVP to parachain
      teams.
      
      Still a draft because it depends on further changes we make to the
      slot-based collator:
      https://github.com/paritytech/polkadot-sdk/pull/4097
      
      Parachains cannot use this yet because the collator was not released and
      no relay chain network has been configured for elastic scaling yet
  4. Jul 16, 2024
    • Andrei Eres's avatar
      Send PeerViewChange with high priority (#4755) · 975e04bb
      Andrei Eres authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/577
      
      ### Changed
      - `orchestra` updated to 0.4.0
      - `PeerViewChange` sent with high priority and should be processed first
      in a queue.
      - To count them in tests added tracker to TestSender and TestOverseer.
      It acts more like a smoke test though.
      
      ### Testing on Versi
      
      The changes were tested on Versi with two objectives:
      1. Make sure the node functionality does not change.
      2. See how the changes affect performance.
      
      Test setup:
      - 2.5 hours for each case
      - 100 validators
      - 50 parachains
      - validatorsPerCore = 2
      - neededApprovals = 100
      - nDelayTranches = 89
      - relayVrfModuloSamples = 50
      
      During the test period, all nodes ran without any crashes, which
      satisfies the first objective.
      
      To estimate the change in performance we used ToF charts. The graphs
      show that there are no spikes in the top as before. This proves that our
      hypothesis is correct.
      
      ### Normalized charts with ToF
      
      ![image](https://github.com/user-attachments/assets/0d49d0db-8302-4a8c-a557-501856805ff5)
      [Before](https://grafana.teleport.parity.io/goto/ZoR53ClSg?orgId=1)
      
      
      ![image](https://github.com/user-attachments/assets/9cc73784-7e45-49d9-8212-152373c05880)
      [After](https://grafana.teleport.parity.io/goto/6ux5qC_IR?orgId=1)
      
      ### Conclusion
      
      The prioritization of subsystem messages reduces the ToF of the
      networking subsystem, which helps faster propagation of gossip messages.
    • Alexander Samusev's avatar
      [ci] Update forklift in CI image (#5032) · 66baa2fb
      Alexander Samusev authored
      cc https://github.com/paritytech/ci_cd/issues/939
    • Andrei Eres's avatar
      Adjust base value for statement-distribution regression tests (#5028) · 79a3d6c2
      Andrei Eres authored
      A baseline for the statement-distribution regression test was set only
      in the beginning and now we see that the actual values a bit lower.
      
      <img width="1001" alt="image"
      src="https://github.com/user-attachments/assets/40b06eec-e38f-43ad-b437-89eca502aa66">
      
      
      [Source](https://paritytech.github.io/polkadot-sdk/bench/statement-distribution-regression-bench)
    • Sebastian Miasojed's avatar
      [pallet_contracts] Add support for transient storage in contracts host functions (#4566) · eac2a22a
      Sebastian Miasojed authored
      
      Introduce transient storage, which behaves identically to regular
      storage but is kept only in memory and discarded after every
      transaction. This functionality is similar to the `TSTORE` and `TLOAD`
      operations used in Ethereum.
      
      The following new host functions have been introduced:
      `get_transient_storage`
      `set_transient_storage`
      `take_transient_storage`
      `clear_transient_storage`
      `contains_transient_storage`
      Note: These functions are declared as `unstable` and thus are not
      activated.
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarPG Herveou <pgherveou@gmail.com>
      Co-authored-by: default avatarAlexander Theißen <alex.theissen@me.com>
    • Alexandru Gheorghe's avatar
      [1 / 5] Optimize logic for gossiping assignments (#4848) · cde2eb42
      Alexandru Gheorghe authored
      
      This is part of the work to further optimize the approval subsystems, if
      you want to understand the full context start with reading
      https://github.com/paritytech/polkadot-sdk/pull/4849#issue-2364261568,
      however that's not necessary, as this change is self-contained and nodes
      would benefit from it regardless of subsequent changes landing or not.
      
      While testing with 1000 validators I found out that the logic for
      determining the validators an assignment should be gossiped to is taking
      a lot of time, because it always iterated through all the peers, to
      determine which are X and Y neighbours and to which we should randomly
      gossip(4 samples).
      
      This could be actually optimised, so we don't have to iterate through
      all peers for each new assignment, by fetching the list of X and Y peer
      ids from the topology first and then stopping the loop once we took the
      4 random samples.
      
      With this improvements we reduce the total CPU time spent in
      approval-distribution with 15% on networks with 500 validators and 20%
      on networks with 1000 validators.
      
      ## Test coverage:
      
      `propagates_assignments_along_unshared_dimension` and
      `propagates_locally_generated_assignment_to_both_dimensions` cover
      already logic and they passed, confirm that there is no breaking change.
      
      Additionally, the approval voting benchmark measure the traffic sent to
      other peers, so I confirmed that for various network size there is no
      difference in the size of the traffic sent to other peers.
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
    • Parth Mittal's avatar
      Remove `pallet-getter` usage from pallet-session (#4972) · 0b3d7607
      Parth Mittal authored
      
      As per #3326, removes usage of the `pallet::getter` macro from the
      `session` pallet. The syntax `StorageItem::<T, I>::get()` should be used
      instead.
      
      Also, adds public functions for compatibility.
      
      NOTE: The `./historical` directory has not been modified.
      
      cc @muraca
      
      polkadot address: 5GsLutpKjbzsbTphebs9Uy4YK6gTN47MAaz6njPktidjR5cp
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Javyer's avatar
      command-action: added scoped permissions to the github tokens (#5016) · d8d36a09
      Javyer authored
      
      This will ensure that malicious code can not access other parts of the
      project.
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Alexandru Vasile's avatar
      net/litep2p: Propagate ValuePut events to the network backend (#5018) · 8d392711
      Alexandru Vasile authored
      The `DhtEvent::ValuePut` was not propagated back to the higher levels.
      
      This PR ensures we'll send the ValuePut event similarly to
      `DhtEvent::ValuePutFailed`
      
      ### Next Steps
      - [ ] A bit more testing
      
      Thanks @alexggh for catching this :pray:
      
       
      
      cc @paritytech/networking
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
  5. Jul 15, 2024
  6. Jul 12, 2024
  7. Jul 11, 2024