Polkadot stable2603-8

Release

Version
polkadot-stable2603-8
Repository
paritytech/polkadot-sdk

Release notes

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:

• snowbridge-beacon-primitives@0.19.2

• pallet-asset-conversion@28.0.1

• staging-xcm-executor@25.3.0

• snowbridge-runtime-common@0.20.2

• cumulus-primitives-utility@0.26.2

• bridge-hub-westend-runtime@0.25.3

📦 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

Full release on GitHub ↗

Release Sui

Sui testnet-v1.83.1

Protocol Sui Protocol Version in this release: 140 #28271: Adds bulk vector operations: replace_range, keep_range, copy_range, remove_range, and truncate #27829: Adds bulk vector...

Release Anchor

Anchor v0.30.4

The v0.30.4 release is here. Check out the release notes from Anchor website or GitHub. For a list of notable changes with their associated PRs, see the CHANGELOG.

Release Anchor

Anchor v0.32.3

The v0.32.3 release is here. Check out the release notes from Anchor website or GitHub. For a list of notable changes with their associated PRs, see the CHANGELOG.

Release Anchor

Anchor v0.31.3

The v0.31.3 release is here. Check out the release notes from Anchor website or GitHub. For a list of notable changes with their associated PRs, see the CHANGELOG.