Polkadot stable2409-5
This release contains the changes from polkadot-stable2409-4
to polkadot-stable2409-5
.
ℹ️ Please note:
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"