This release contains the changes from polkadot-stable2603-7 to polkadot-stable2603-8.
ℹ️ Please note: ⚠️ this is a patch release for the stable version stable2603 and contains only patches and fixes to the crates (list below). No binary or docker images will be provided for this release.
Once published, polkadot-stable2603-8 will also be tagged as polkadot-v1.22.8.
The following crates were updated to the corresponding versions:
Changed crates:
📦 The complete changelog with full descriptions is attached to this release as CHANGELOG.md, and in machine-readable form as changelog.json.
💥 Breaking Changes
None in this release.
Changelog
Bridges
🛠️ Runtime Dev
#11910: XCM hardening - fix some regressions
This PR fixes some regressions, improves code and adds more defense-in-depth in a couple places.
xcm-executor: drain holdings by ownership in deposit_assets_with_retry
Add AssetsInHolding::into_per_asset_holdings() and use it in deposit_assets_with_retry so each pass consumes the input via owning BTreeMap/BTreeSet iterators instead of assets_iter().collect() + try_take. Per asset this drops one AssetId clone, one or two BTreeMap lookups, one dynamic dispatch on saturating_take, and one internal subsume_assets call; per pass it drops the intermediate Vec<Asset> allocation. Behaviour is unchanged: same iteration order, same partial-failure / retry semantics. …
Crates: staging-xcm-executor (minor), cumulus-primitives-utility (patch), snowbridge-runtime-common (patch), bridge-hub-westend-runtime (patch), snowbridge-beacon-primitives (patch)
XCM
🛠️ Runtime Dev
#13601: Fix user losing remainder of swapped funds when pool liquidity goes below ED
pallet-asset-conversion's SwapCredit::swap_tokens_for_exact_tokens split credit_in into the amount to swap and the change, and returned only the amount to swap if the swap then failed. The change was dropped inside the storage transaction that is rolled back on failure, so the caller lost it. The full credit_in is now returned on failure, as documented.
Crates: staging-xcm-executor (patch), staging-xcm-builder (none), pallet-asset-conversion (patch)
Rust compiler versions
The crates and node binaries in this release were built and tested with the following rustc toolchain; other versions may work.
- Rust Stable:
1.93.0