Skip to content

Polkadot stable2409-5

Compare
Choose a tag to compare
@github-actions github-actions released this 13 Feb 14:29
ac431bc

This release contains the changes from polkadot-stable2409-4 to polkadot-stable2409-5.

ℹ️ Please note:

⚠️ This is a patch release for the previous stable version: stable2409 and contains only patches and fixes to the crates (list below). No binary or docker images will be provided for this release.

The tag corresponding to the current patch release polkadot-stable2409-5 and matching the old pattern will be available under polkadot-v1.16.5.

The following crates were updated to the corresponding versions:

- sc-network@0.45.6
- frame-support-procedural@30.0.6
- pallet-balances@39.0.1
- staging-xcm-builder@17.0.4
- pallet-xcm-bridge-hub@0.13.3
- cumulus-pallet-xcmp-queue@0.17.1
- bridge-runtime-common@0.18.3
- bridge-hub-rococo-runtime@0.16.3
- bridge-hub-test-utils@0.20.1
- bridge-hub-westend-runtime@0.13.3
- emulated-integration-tests-common@16.0.1

Changelog

Changelog for Runtime Dev

ℹ️ These changes are relevant to: All of those who rely on the runtime. A parachain team that is using a pallet. A DApp that is using a pallet. These are people who care about the protocol (WASM, not the meta-protocol (client).)

[#7243]: transfer function Preservation is changed to Expendable in fungible and fungibles adapter

The Preservation of transfer method of fungible and fungibles adapters is changed from Preserve to Expendable. So the behavior of the TransferAsset will be consistent with the WithdrawAsset function, as in fungible and fungibles adapter.

[#7365]: Use checked math in frame-balances named_reserve

This PR modifies named_reserve() in frame-balances to use checked math instead of defensive saturating math.

The use of saturating math relies on the assumption that the value will always fit in u128::MAX. However, there is nothing preventing the implementing pallet from passing a larger value which overflows. This can happen if the implementing pallet does not validate user input and instead relies on named_reserve() to return an error (this saves an additional read)

This is not a security concern, as the method will subsequently return an error thanks to <Self as ReservableCurrency<_>>::reserve(who, value)?;. However, the defensive_saturating_add will panic in --all-features, creating false positive crashes in fuzzing operations.

[#7461]: Update SCALE codec indices

We need this in order to be able to update parity-scale-codec to the latest version after it's released. That's because parity-scale-codec added support for checking for duplicate indexes at compile time.

[#7322]: Bridges: emulated tests small nits/improvements

This PR removes the use of open_bridge_between_asset_hub_rococo_and_asset_hub_westend. This function was used in the generic test_dry_run_transfer_across_pk_bridge macro, which could cause compilation issues when used in other contexts (e.g. fellows repo).

[#7383]: Bridges small nits/improvements

This PR contains small fixes and backwards compatibility issues identified during work on the larger PR: #6906.

[#7437]: Remove dead code

Remove unused code

[#7307]: Bridges small nits/improvements

This PR introduces a new expected_payload_type parameter to the Bridges assert_complete_bridge_types macro.

Rust compiler versions

This release was built and tested against the following versions of rustc.
Other versions may work.

  • Rust Stable: "1.81.0"