Polkadot stable2606-4

Release

Version
polkadot-stable2606-4
Repository
paritytech/polkadot-sdk

Release notes

This release contains the changes from polkadot-stable2606-3 to polkadot-stable2606-4.

ℹ️ Please note: ⚠️ this is a patch release for the stable version stable2606 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-stable2606-4 will also be tagged as polkadot-v1.24.4.

The following crates were updated to the corresponding versions:

Changed crates:

• pallet-revive-uapi@0.15.5

• pallet-revive-fixtures@0.15.2

• frame-support@48.1.1

• snowbridge-beacon-primitives@0.21.2

• pallet-asset-conversion@31.0.1

• pallet-assets@53.0.1

• pallet-balances@50.0.1

• pallet-on-demand-para@0.2.1

• pallet-oracle@28.1.0

• pallet-psm@0.7.0

• staging-xcm-executor@28.1.1

• snowbridge-runtime-common@0.23.1

• cumulus-primitives-utility@0.34.1

• pallet-revive@0.21.0

• pallet-asset-conversion-precompiles@0.8.0

• pallet-assets-precompiles@0.13.0

• pallet-vesting-precompiles@0.7.0

• pallet-staking-async@0.15.1

• pallet-xcm-precompiles@0.12.0

• polkadot-runtime-parachains@29.1.0

• rococo-runtime@38.0.1

• westend-runtime@39.0.1

• assets-common@0.41.0

• asset-test-utils@43.0.0

• penpal-runtime@0.49.0

• snowbridge-inbound-queue-primitives@0.22.0

• asset-hub-rococo-runtime@0.45.0

• asset-hub-westend-runtime@0.58.0

• bridge-hub-test-utils@0.42.0

• emulated-integration-tests-common@42.0.0

• snowbridge-pallet-inbound-queue-fixtures@0.41.0

• snowbridge-pallet-inbound-queue-v2-fixtures@0.22.0

• snowbridge-pallet-inbound-queue@0.33.0

• snowbridge-pallet-inbound-queue-v2@0.22.0

• bridge-hub-rococo-runtime@0.40.0

• bridge-hub-westend-runtime@0.37.0

• polkadot-sdk@2606.6.0

• yet-another-parachain-runtime@0.17.0

📦 The complete changelog with full descriptions is attached to this release as CHANGELOG.md, and in machine-readable form as changelog.json.

💥 Breaking Changes

3 changes are breaking according to Rust SemVer (each bumps the major version of at least one crate). Details in the 💥-marked entries below.

• Smart Contracts (Revive): #13617 [pallet-revive] Bound per-transaction receipt size (pallet-revive)

• Assets: #13256 pallet-psm: reject the None origin as a PSM admin (pallet-psm)

• Assets: #13626 pallet-psm: simplify PSM account handling (pallet-psm)

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)

#12569: Preserve Snowbridge v1 inbound liveness when the Asset Hub sovereign is empty

Also for Runtime User

Snowbridge v1 inbound messages now burn the teleported Asset Hub execution fee from the relayer's Bridge Hub account instead of requiring funds in the Asset Hub sovereign account on Bridge Hub. The Asset Hub sovereign reimburses the relayer best-effort for the burned fee plus delivery reward when it has enough reducible balance.

This preserves the existing funded-sovereign economics while preventing an empty Asset Hub sovereign from stalling the Ethereum-to-Polkadot inbound channel. In the empty-sovereign case, the message is still processed and the nonce advances, but the relayer is not reimbursed.

Crates: snowbridge-pallet-inbound-queue…

Full release on GitHub ↗

Release Sui

Sui devnet-v1.84.0

Protocol Sui Protocol Version in this release: 142 #28590: Protocol version 141 counts accumulator writes, ID-only object changes and unchanged consensus objects toward the transaction...

Release viem

viem@2.57.17

Patch Changes #5411 3708ffc3fc8ec0a957a577970da87903811cf649 Thanks @jxom! - viem/tempo: Removed the getKey read before transactions from an access key with a pending key authorization,...

Release Reth

Reth v2.10.1

Summary Reth v2.10.1 is a maintenance release. Follow up to the EVM2 release with further performance and stability fixes. Update Priority User Class Priority Payload...

Release Vyper

Vyper v0.5.0b2

What's Changed • fix[venom]: keep invoke arg copies from multiply assigned vars by @harkal in #5237 • fix[codegen]: widen ternary arms to the result type layout by @harkal in #5236 •...

Release Agave (Solana validator)

Agave (Solana validator) Release v4.5.0-beta.0

This is a testnet release. https://github.com/anza-xyz/agave/blob/v4.4/CHANGELOG.md What's Changed • refactor(cli): use versioned messages and transactions throughout by @apfitzge in...

Release Agave (Solana validator)

Agave (Solana validator) Release v4.4.1

This is stable release recommended for general adoption. It is also recommended for Testnet and Devnet. What's Changed • v4.4: ignore RUSTSEC-2026-0418 (libz-sys) by @cfkelly18 in...