Skip to content

Releases: paritytech/polkadot-sdk

Polkadot stable2407-9

10 Apr 14:23
ee3531f
Compare
Choose a tag to compare

This release contains changes from polkadot-stable2407-8 to polkadot-stable2407-9.

ℹ️ Please note:

⚠️ This is a patch release for the stable version: stable2407 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-stable2407-9 and matching the old pattern will be available under polkadot-v1.15.9.

The following crates were updated to the corresponding versions:

- sp-io@38.0.1
- substrate-wasm-builder@23.0.1
- staging-xcm-executor@16.0.1
- staging-xcm-builder@16.0.5

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).)

[#7966]: Fix XCM Barrier Rejection Handling to Return Incomplete with Weight

This PR addresses an issue with the handling of message execution when blocked by the barrier. Instead of returning an Outcome::Error, we modify the behaviour to return Outcome::Incomplete, which includes the weight consumed up to the point of rejection and the error that caused the blockage.

This change ensures more accurate weight tracking during message execution, even when interrupted. It improves resource management and aligns the XCM executor’s behaviour with better error handling practices.

[#8198]: Remove #[no_mangle] from the panic handler

Fixes #8190

Remove useless #[no_mangle] from the panic handler which screws up the panic handling machinery on recent versions of Rust.

Rust compiler versions

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

  • Rust Stable: "1.81.0"

Polkadot stable2503

08 Apr 10:45
0c0d4ce
Compare
Choose a tag to compare

This release contains the changes from polkadot-stable2412-4 to polkadot-stable2503.

ℹ️ Please note:

The tag corresponding to the current stable release polkadot-stable2503 and matching the old pattern will be available under polkadot-v1.18.0.

Changelog

ℹ️ The full changelog with descriptions of the changes can be found here: CHANGELOG-stable2503

Changelog for Node Dev

ℹ️ These changes are relevant to: Those who build around the client side code. Alternative client builders, SMOLDOT, those who consume RPCs. These are people who are oblivious to the runtime changes. They only care about the meta-protocol, not the protocol itself.

[#6979]: Update prometheus binding failure logging format

[#6405]: fatxpool: handling limits and priorities improvements

[#6284]: backing: improve session buffering for runtime information

[#6768]: basic-authorship: debug level is now less spammy

[#7011]: sync: Send already connected peers to new subscribers

[#7612]: HashAndNumber: Ord, Eq, PartialOrd, PartialEq implemented

[#6534]: Forward logging directives to Polkadot workers

[#6867]: Deprecate ParaBackingState API

[#7756]: Fix unspecified Hash in NodeBlock

[#7104]: collation-generation: resolve mismatch between descriptor and commitments core index

[#6661]: txpool api: remove_invalid call improved

[#6400]: Remove network starter that is no longer needed

[#7042]: networking::TransactionPool should accept Arc

[#6924]: malus-collator: implement malicious collator submitting same collation to all backing groups

[#6897]: Tracing Log for fork-aware transaction pool

[#7005]: Log peerset set ID -> protocol name mapping

[#5842]: Get rid of libp2p dependency in sc-authority-discovery

[#6440]: Remove debug message about pruning active leaves

[#7464]: Enable importing sc-tracing macros through polkadot-sdk

[#6163]: Expose more syncing types to enable custom syncing strategy

[#6832]: Remove collation-generation subsystem from validator nodes

[#8109]: rpc v2 archive: more verbose error types in API

[#7127]: Forbid v1 descriptors with UMP signals

[#7195]: Unify Import verifier usage across parachain template and omninode

[#7610]: runtime-api: remove redundant version checks

[#6983]: cumulus: bump PARENT_SEARCH_DEPTH to allow for 12-core elastic scaling

[#7781]: Punish libp2p notification protocol misbehavior on outbound substreams

[#6521]: Pure state sync refactoring (part-2)

[#6711]: Expose DHT content providers API from sc-network

[#8040]: Make the default 85% usage of the PoV

[#7649]: frame-benchmarking-cli should not build RocksDB by default

[#7479]: omni-node: add offchain worker

[#6963]: grandpa: Ensure WarpProof stays in its limits

[#6553]: Ensure sync event is processed on unknown peer roles

[#6452]: elastic scaling RFC 103 end-to-end tests

[#7724]: Terminate libp2p the outbound notification substream on io errors

[#6481]: slot-based-collator: Implement dedicated block import

[#6647]: fatxpool: proper handling of priorities when mempool is full

[#7505]: fatxpool: transaction statuses metrics added

[#6215]: Remove ProspectiveParachainsMode from backing subsystem

[#7708]: Support adding extra request-response protocols to the node

[#7554]: sc-informant: Print full hash when debug logging is enabled

[#7885]: Rename archive call method result to value

[#6913]: Enable approval-voting-parallel by default on polkadot

[#6628]: Remove ReportCollator message

[#7014]: Remove yamux_window_size from network config

[#6455]: Add litep2p network protocol benches

[#7368]: Add chain properties to chain-spec-builder

[#7254]: deprecate AsyncBackingParams

[#4880]: Collation fetching fairness in collator protocol

[#6262]: Size limits implemented for fork aware transaction pool

[#7338]: [net/libp2p] Use raw Identify observed addresses to discover external addresses

[#7585]: Add export PoV on slot base collator

[#7021]: Improve remote externalities logging

[#6636]: Optimize initialization of networking protocol benchmarks

[#6561]: slot-based-collator: Move spawning of the futures

[#7449]: remove handling of validation protocol versions 1 and 2

[#8062]: frame-system: Don't underflow the sufficients

[#7286]: Remove node-side feature flag checks for Elastic Scaling MVP

[#6865]: Rename PanicInfo to PanicHookInfo

[#5855]: Remove feature test-helpers from sc-service

[#8024]: Change the hash of PendingOrders storage item

[#7777]: fatxpool: report_invalid: do not ban Future/Stale txs from re-entering the view

[#7639]: fatxpool: improved handling of finality stalls

[#6889]: Remove polkadot-omni-node-lib unused dependency

[#6450]: Add omni-node checks for runtime parachain compatibility

[#6248]: Upgrade libp2p to 0.54.1

[#7102]: fatxpool: rotator cache size now depends on pool's limits

[#7073]: Implement NetworkRequest for litep2p

[#6528]: TransactionPool API uses async_trait

[#8104]: Stabilize RPC archive methods to V1

[#6703]: network/libp2p-backend: Suppress warning adding already reserved node as reserved

[#7981]: Bump ParachainHost runtime API to 13

[#6417]: fix prospective-parachains best backable chain reversion bug

[#6249]: Pure state sync refactoring (part-1)

[#7494]: Enhance libp2p logging targets for granular control

[#7545]: fatxpool: event streams moved to view domain

[#7866]: Make litep2p the default backend in Kusama

[#5703]: Properly handle block gap created by fast sync

[#7075]: Snowbridge - Ethereum Electra Upgrade Support

[#7402]: Snowbridge V2

Changelog for Node Operator

ℹ️ These changes are relevant to: Those who don't write any code and only run code.

[#6923]: omni-node: Tolerate failing metadata check

[#7353]: Shorter availability data retention period for testnets

[#6605]: Notify telemetry only every second about the tx pool status

[#7781]: Punish libp2p notification protocol misbehavior on outbound substreams

[#7479]: omni-node: add offchain worker

[#7724]: Terminate libp2p the outbound notification substream on io errors

[#7885]: Rename archive call method result to value

[#7585]: Add export PoV on slot base collator

[#5724]: Validator Re-Enabling (master PR)

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).)

[#7164]: [pallet-revive] Remove revive events

[#7676]: [pallet-revive] tracing should wrap around call stack execution

[#7634]: derive DecodeWithMemTracking for RuntimeCall

[#7412]: Pallet view functions: improve metadata, API docs and testing

[#7928]: Fix pallet-revive-fixtures build.rs

[#7069]: Fix defensive! macro to be used in umbrella crates

[#7492]: Make pallet-bridge-rewards generic over RewardKind

[#7263]: Fix frame-benchmarking-cli not buildable without rocksdb

[#6741]: pallet-revive: Adjust error handling of sub calls

[#6880]: [pallet-revive] implement the call data copy API

[#6446]: Make pallet-recovery supports BlockNumberProvider

[#7423]: Fix issue with InitiateTransfer and UnpaidExecution

[#6836]: [pallet-revive-eth-rpc] persist eth transaction hash

[#7889]: Remove execute_with_origin implementation in the XCM executor

[#6867]: Deprecate ParaBackingState API

[#7562]: pallet-revive: Add env var to allow skipping of validation for testing

[#6367]: Refactor pallet society

[#7790]: pallet-scheduler: Put back postponed tasks into the agenda

[#7580]: implement web3_clientVersion

[#7959]: Update expire date on treasury payout

[#7282]: AHM Multi-block staking election pallet

[#6926]: [pallet-revive] implement the gas limit API

[#7614]: [pallet-revive] tracing improvements

[#7260]: [eth-indexer] subscribe to finalize blocks instead of best blocks

[#7607]: Add Runtime Api version to metadata

[#7703]: Add voting hooks to Conviction_Voting

[#6856]: Enable report_fork_voting()

[#7805]: New staking::manual_slash extrinsic

[#6928]: [Backport] Version bumps and prdocs reordering form 2412

[#2072]: Return iterator in pallet_referenda::TracksInfo::tracks

[#7579]: [AHM] Make pallet types public

[#7126]: xcm: Fixes for UnpaidLocalExporter

[#6435]: frame-benchmarking: Use correct components for pallet instances

[#7319]: [pallet-revive] pack exceeding syscall arguments into registers

[#6920]: [pallet-revive] change some getter APIs to return value in register

[#6917]: Remove unused dependencies from pallet_revive

[#7506]: [pallet-revive] Add eth_get_logs

[#6336]: pallet-xcm: add support to authorize aliases

[#6820]: Add XCM benchmarks to collectives-westend

[#7594]: Improve XCM Debugging by Capturing Logs in Unit Tests

[#7324]: Replace derivative dependency with derive-where

[#7620]: Derive DecodeWithMemTracking for...

Read more

Polkadot stable2412-4

31 Mar 09:36
010fd7b
Compare
Choose a tag to compare

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

ℹ️ Please note:
This is a patch release for the latest stable version: stable2412. If your nodes are already running on this version, you can consider upgrading to it to have the latest fixes.

The tag corresponding to the current patch release polkadot-stable2412-4 and matching the old pattern will be available under polkadot-v1.17.4.

Changelog

Changelog for Node Dev

ℹ️ These changes are relevant to: Those who build around the client side code. Alternative client builders, SMOLDOT, those who consume RPCs. These are people who are oblivious to the runtime changes. They only care about the meta-protocol, not the protocol itself.

[#7866]: Make litep2p the default backend in Kusama

A new trait IdentifyNetworkBackend is introduced for the polkadot-service. The purpose of the trait is to specify the default network backend for individual chains. For Kusama based chains, the default is now litep2p. For other chains, the default remains unchanged to libp2p.
The network backend field of the network configuration is made optional to accommodate for this change.

[#7075]: Snowbridge - Ethereum Electra Upgrade Support

Adds support for the Ethereum Electra hard-fork in the Ethereum light client. Maintains backwards compatibility with the current Deneb hard-fork.
Relayers should update to the latest binary to support sending Electra consensus updates.

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).)

[#7856]: Fix XCM decoding inconsistencies

This PR adjusts the XCM decoding logic in order to deduplicate the logic used for decoding v3::Xcm, v4::Xcm and v5::Xcm and also to use decode_with_depth_limit() in some more places.

[#7968]: Fix XCM Barrier Rejection Handling to Return Incomplete with Weight

This PR addresses an issue with the handling of message execution when blocked by the barrier. Instead of returning an Outcome::Error, we modify the behaviour to return Outcome::Incomplete, which includes the weight consumed up to the point of rejection and the error that caused the blockage.

This change ensures more accurate weight tracking during message execution, even when interrupted. It improves resource management and aligns the XCM executor’s behaviour with better error handling practices.

[#7899]: Remove execute_with_origin implementation in the XCM executor

The XCM executor will not support the ExecuteWithOrigin instruction from the start.
It might be added later when more time can be spent on it.

[#7921]: Use non-native token to benchmark on asset hub

Asset Hub was using the native token for benchmarking xcm instructions. This is not the best since it's cheaper than using something in pallet-assets for example.
Had to remove some restrictive checks from pallet-xcm-benchmarks.

[#7738]: Introduce filter to restrict accounts from staking

Introduce an associated fn filter in pallet-staking to restrict some accounts from staking.
This is useful for restricting certain accounts from staking, for example, accounts staking via pools.

[#7760]: Dynamic uncompressed code size limit

Deprecates node constant VALIDATION_CODE_BOMB_LIMIT and introduces validation_code_bomb_limit runtime API that computes the maximum uncompressed code size as the maximum code size multiplied by a compression ratio of 10.

[#7694]: XCM: Process PayFees only once

The PayFees instruction should only ever be used once. If it's used more than once, it's just a noop.

[#8051]: XCM: Some weight fixes for InitiateTransfer

  • Added some base weight for InitiateTransfer no matter what.
  • Short circuit on AllCounted(0) to not have to go through all fungibles.

[#7689]: Fix DryRunApi client-facing XCM versions

Fixes #7413

This PR updates the DryRunApi. The signature of the dry_run_call is changed, and the XCM version of the return values of dry_run_xcm now follows the version of the input XCM program.

It also fixes xcmp-queue's Router's clear_messages: the channel details first_index and last_index are reset when clearing.

[#7894]: [stable2412] pallet-revive: remove related crates from umbrella

Fixes polkadot-sdk building for stable2412. It removes its dependency on pallet-revive* crates, which aren't publishable as part of stable2412 release & patch releases. Minor updates were brought to a bunch of other crates to allow their compilation in test profile, to enable granular testing and rapid feedback of crates for next stable2412 patch releases.

Changelog for Node Operator

ℹ️ These changes are relevant to: Those who don't write any code and only run code.

[#7866]: Make litep2p the default backend in Kusama

This PR makes the litep2p backend the default network backend in Kusama, but also for system chains.
We performed a gradual rollout in Kusama by asking validators to manually switch to litep2p.
The rollout went smoothly, with 250 validators running litep2p without issues. This PR represents the next step in testing the backend at scale.

Rust compiler versions

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

  • Rust Stable: "1.81.0"

Docker images

The docker images for the polkadot node binary and the polkadot-parachain binary can be found at Docker hub (will be available a few minutes after the release has been published):

You may also pull it with:

docker pull parity/polkadot:stable2412-4

or

docker pull parity/polkadot-parachain:stable2412-4

Polkadot stable2409-6

13 Mar 16:56
fa856e0
Compare
Choose a tag to compare

his release contains the changes from polkadot-stable2409-5 to polkadot-stable2409-6.

ℹ️ 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-6 and matching the old pattern will be available under polkadot-v1.16.6.

The following crates were updated to the corresponding versions:


- staging-xcm@14.2.1
- snowbridge-beacon-primitives@0.10.1
- pallet-delegated-staking@5.0.1
- pallet-nomination-pools@35.0.3
- xcm-runtime-apis@0.4.3
- pallet-staking@38.0.1
- pallet-xcm@17.0.2
- snowbridge-pallet-ethereum-client@0.10.1
- snowbridge-pallet-inbound-queue@0.10.1
- cumulus-pallet-xcmp-queue@0.17.2
- bridge-hub-rococo-runtime@0.16.4
- bridge-hub-westend-runtime@0.13.4
- polkadot-service@19.0.2

Changelog

Changelog for Node Dev

ℹ️ These changes are relevant to: Those who build around the client side code. Alternative client builders, SMOLDOT, those who consume RPCs. These are people who are oblivious to the runtime changes. They only care about the meta-protocol, not the protocol itself.

[#7075]: Snowbridge - Ethereum Electra Upgrade Support

Adds support for the Ethereum Electra hard-fork in the Ethereum light client. Maintains backwards compatibility with the current Deneb hard-fork.
Relayers should update to the latest binary to support sending Electra consensus updates.

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).)

[#7737]: Introduce filter to restrict accounts from staking

Introduce an associated fn filter in pallet-staking to restrict some accounts from staking.
This is useful for restricting certain accounts from staking, for example, accounts staking via pools.

[#7688]: Fix DryRunApi client-facing XCM versions

Fixes #7413

This PR updates the DryRunApi. The signature of the dry_run_call is changed, and the XCM version of the return values of dry_run_xcm now follows the version of the input XCM program.

It also fixes xcmp-queue's Router's clear_messages: the channel details first_index and last_index are reset when clearing.

Rust compiler versions

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

  • Rust Stable: "1.81.0"

Polkadot stable2412-3

12 Mar 11:20
06158dd
Compare
Choose a tag to compare

This release contains the changes from polkadot-stable2412-2 to polkadot-stable2412-3.

ℹ️ Please note:

⚠️ This release enables litep2p network backend by default in Kusama. This marks an important step towards stabilizing the litep2p backend.

The tag corresponding to the current patch release polkadot-stable2412-3 and matching the old pattern will be available under polkadot-v1.17.3.

Changelog

Changelog for Node Dev

ℹ️ These changes are relevant to: Those who build around the client side code. Alternative client builders, SMOLDOT, those who consume RPCs. These are people who are oblivious to the runtime changes. They only care about the meta-protocol, not the protocol itself.

[#7866]: Make litep2p the default backend in Kusama

This PR makes the litep2p backend the default network backend in Kusama, but also for system chains.
We performed a gradual rollout in Kusama by asking validators to manually switch to litep2p.
The rollout went smoothly, with 250 validators running litep2p without issues. This PR represents the next step in testing the backend at scale.

Changelog for Node Operator

ℹ️ These changes are relevant to: Those who don't write any code and only run code.

[#7866]: Make litep2p the default backend in Kusama

This PR makes the litep2p backend the default network backend in Kusama, but also for system chains.
We performed a gradual rollout in Kusama by asking validators to manually switch to litep2p.
The rollout went smoothly, with 250 validators running litep2p without issues. This PR represents the next step in testing the backend at scale.

Rust compiler versions

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

  • Rust Stable: "1.81.0"

Docker images

The docker images for the polkadot node binary and the polkadot-parachain binary can be found at Docker hub (will be available a few minutes after the release has been published):

You may also pull it with:

docker pull parity/polkadot:stable2412-3

or

docker pull parity/polkadot-parachain:stable2412-3

Polkadot stable2407-8

06 Mar 14:25
a2c48f9
Compare
Choose a tag to compare

This release contains the changes from polkadot-stable2407-7 to polkadot-stable2407-8.

ℹ️ Please note:

⚠️ This is a patch release for the stable version: stable2407 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-stable2407-8 and matching the old pattern will be available under polkadot-v1.15.8.

The following crates were updated to the corresponding versions:

- staging-xcm-builder@16.0.4

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.

Rust compiler versions

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

  • Rust Stable: "1.81.0"

Asset Hub Next (Westend)

28 Feb 15:16
cefcca4
Compare
Choose a tag to compare
Pre-release

Asset Hub Next

The migration of staking, governance, balances and other related pallets from the Relay Chain to Asset Hub is currently in development (part of the Plaza project and RFC-32) and dubbed AHM (Asset Hub Migration).

We are introducing a new temporary parachain on Westend which represents the future functionality of Asset Hub ready to test against for ourselves and other stakeholders who will be integrating with it, while we finalise the actual migration for Westend. By having two asset hubs on Westend in the lead up to the transition, we can have the old runtime and future runtime live at the same time, and crucially the future runtime is live much earlier that would otherwise be possible.

This is deployed and running as of today. The parachain is registered with para_id 1100 and is now ready to test. Note that the state is more or less empty, as the migration logic is still being finalised. When the migration happens we will migrate the relay pallets and state to Westend Asset Hub and Asset Hub Next will be retired shortly afterwards.

Public endpoints

RPC: wss://westend-asset-hub-next-rpc.parity-chains-scw.parity.io
Sidecar: https://westend-asset-hub-next-sidecar.parity-chains-scw.parity.io/

Artifacts

The genesis chainspec includes some injected staking data, and so it is quite large, especially in its raw format. Instead the following instructions can be followed to get the necessary information all from the attached plaintext chain-spec.

This assumes that you have the polkadot-omni-node and chain-spec-builder in your path, both can be compiled from the sdk repo or downloaded from a previous release. You can download ah-next-chain-spec.json from this release, and from the same working directory run:

chain-spec-builder convert-to-raw ah-next-chain-spec.json && mv chain_spec.json ah-next-chain-spec-raw.json
polkadot-omni-node export-genesis-head --chain ah-next-chain-spec-raw.json > ah-next-genesis-head
polkadot-omni-node export-genesis-wasm --chain ah-next-chain-spec-raw.json > ah-next-genesis.wasm

Which generates the genesis wasm and head data, as well as the raw chain spec (for running with zombienet or similar)

Polkadot stable2412-2

24 Feb 12:44
863f353
Compare
Choose a tag to compare

This release contains the changes from polkadot-stable2412-1 to polkadot-stable2412-2.

ℹ️ Please note:

This is a patch release for the latest stable version: stable2412. If your nodes are already running on this version you can consider to upgrade to it to have latest fxes.

The tag corresponding to the current patch release polkadot-stable2412-2 and matching the old pattern will be available under polkadot-v1.17.2.

Changelog

Changelog for Node Dev

ℹ️ These changes are relevant to: Those who build around the client side code. Alternative client builders, SMOLDOT, those who consume RPCs. These are people who are oblivious to the runtime changes. They only care about the meta-protocol, not the protocol itself.

[#7367]: Align omni-node and polkadot-parachain versions

Aligned polkadot-omni-node & polkadot-parachain versions. There is one NODE_VERSION constant, in polkadot-omni-node-lib, used by both binaries.

[#7488]: Increase litep2p keep-alive to 10 seconds to mirror libp2p

Increase litep2p keep-alive to 10 seconds to mirror libp2p behavior.

[#7640]: Bring the latest compatibility fixes via litep2p v0.9.1

This release enhances compatibility between litep2p and libp2p by using the latest Yamux upstream version.
Additionally, it includes various improvements and fixes to boost the stability and performance of the WebSocket stream and the multistream-select protocol.

[#7504]: Enable approval-voting-parallel by default on polkadot

Enable approval-voting-parallel by default on polkadot

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).)

[#7605]: Fix issue with InitiateTransfer and UnpaidExecution

Fix issue where setting the remote_fees field of InitiateTransfer to None could lead to unintended bypassing of fees in certain conditions. UnpaidExecution is now appended after origin alteration. If planning to use UnpaidExecution, you need to set preserve_origin = true.
The AllowExplicitUnpaidExecutionFrom barrier now allows instructions for receiving funds before origin altering instructions before the actual UnpaidExecution. It takes a new generic, Aliasers, needed for executing AliasOrigin to see if the effective origin is allowed to use UnpaidExecution. This should be set to the same value as Aliasers in the XCM configuration.

[#7451]: omni-node: Adjust manual seal parameters

This PR restores compatibility of older runtimes with the dev mode of omni-node. Before, runtimes built without the changes in #6825 were failing.

[#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.

[#7383]: Bridges small nits/improvements

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

[#7367]: Align omni-node and polkadot-parachain versions

Aligned polkadot-omni-node & polkadot-parachain versions. There is one NODE_VERSION constant, in polkadot-omni-node-lib, used by both binaries.

[#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.

[#7462]: 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.

[#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.

Changelog for Node Operator

ℹ️ These changes are relevant to: Those who don't write any code and only run code.

[#7367]: Align omni-node and polkadot-parachain versions

Aligned polkadot-omni-node & polkadot-parachain versions. There is one NODE_VERSION constant, in polkadot-omni-node-lib, used by both binaries.

[#7488]: Increase litep2p keep-alive to 10 seconds to mirror libp2p

Increase litep2p keep-alive to 10 seconds to mirror libp2p behavior.

[#7640]: Bring the latest compatibility fixes via litep2p v0.9.1

This release enhances compatibility between litep2p and libp2p by using the latest Yamux upstream version.
Additionally, it includes various improvements and fixes to boost the stability and performance of the WebSocket stream and the multistream-select protocol.

Changelog for Runtime User

ℹ️ These changes are relevant to: Anyone using the runtime. This can be a token holder or a dev writing a front end for a chain.

Rust compiler versions

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

  • Rust Stable: "1.81.0"

Docker images

The docker images for the polkadot node binary and the polkadot-parachain binary can be found at Docker hub (will be available a few minutes after the release has been published):

You may also pull it with:

docker pull parity/polkadot:stable2412-2

or

docker pull parity/polkadot-parachain:2412-2

Polkadot stable2409-5

13 Feb 14:29
ac431bc
Compare
Choose a tag to compare

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"

Polkadot stable2407-7

06 Feb 16:45
7642d6b
Compare
Choose a tag to compare

This release contains the changes from polkadot-stable2407-6 to polkadot-stable2407-7.

ℹ️ Please note:

⚠️ This is a patch release for the stable version: stable2407 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-stable2407-7 and matching the old pattern will be available under polkadot-v1.15.7.

The following crates were updated to the corresponding versions:

- frame-support-procedural@30.0.5
- publishing pallet-balances@38.0.1
- sc-network@0.44.2

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).)

[#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.

[#7460]: 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.

[#7437]: Remove dead code

Remove unused code

Rust compiler versions

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

  • Rust Stable: "1.81.0"