Skip to content

Releases: paritytech/polkadot-sdk

Polkadot stable2603-7

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 01 Oct 14:59
cd87d0b

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

ℹ️ 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-7 will also be tagged as polkadot-v1.22.7.
The following crates were updated to the corresponding versions:

Changed crates:
  • sc-rpc-server@28.1.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

None in this release.

Changelog

Node

🖥️ Node Operator

#13045: sc-rpc-server: bound the cardinality of the RPC metrics method label

The substrate_rpc_calls_* metrics used the requested method name as the method label without restricting it to registered methods, so the label could take an unbounded number of values. The label is now bounded to the registered method set; any other name is recorded as unknown, keeping the series count finite.

RpcMetrics::with_known_methods sets the allowlist and the RPC server wires it at start; a metrics instance without it keeps the previous behaviour.

Crates: sc-rpc-server (minor)

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

Polkadot polkadot-stable2609-rc2

Pre-release

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 18 Sep 11:40
9baedc7

This release contains the changes from polkadot-stable2606 to polkadot-stable2609.

⚠️ Warning: Pre-release Version

The currently published version is a pre-release and is not yet a final stable version. This release is provided for testing purposes only, and there is no guarantee that everything will work as expected. Errors and unusual behaviours of some features are to be expected.

Please use this version at your own risk and report any issues you encounter. We recommend waiting for the official release if you need a stable version.

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

💥 Breaking Changes

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

  • Bridges: #11147 Track nested memory used by xcm::DoubleEncoded: approach #2 (staging-xcm, staging-xcm-executor)
  • Bridges: #12159 Snowbridge: blocks an origin-spoofing attack vector in the V2 outbound queue converter (snowbridge-outbound-queue-primitives)
  • Bridges: #12585 Remove Polkadot Bulletin bridge code (bridge-hub-rococo-runtime, bp-bridge-hub-rococo)
  • Bridges: #12935 Update trie-db to 0.32.0 (sp-trie)
  • XCM: #12369 pallet-asset-conversion: support per-pair swap fee (fallback to global LPFee) (pallet-asset-conversion)
  • XCM: #12472 Remove deprecated ConvertedConcreteAssetId type alias (staging-xcm-builder)
  • XCM: #12482 Remove deprecated FilterAssetLocation trait (staging-xcm-executor)
  • XCM: #12502 Remove deprecated ForeignChainAliasAccount type alias (staging-xcm-builder)
  • XCM: #12503 Remove deprecated CurrencyAdapter from staging-xcm-builder (staging-xcm-builder)
  • XCM: #12504 Remove deprecated UnpaidLocalExporter from staging-xcm-builder (staging-xcm-builder)
  • XCM: #12505 Remove deprecated JustTry and Identity re-exports from xcm-executor (staging-xcm-executor)
  • Smart Contracts (Revive): #12037 [pallet-revive]: move eth-rpc-only types out of pallet-revive (pallet-revive-eth-rpc, pallet-revive)
  • Smart Contracts (Revive): #12096 Bump subxt to 0.50 (pallet-revive-eth-rpc, frame-benchmarking-cli)
  • Smart Contracts (Revive): #12104 pallet-revive: per-transaction cold/hot storage access pricing (pallet-revive)
  • Smart Contracts (Revive): #12220 pallet-revive eth-rpc: make SubmittedTransaction::gas() return Option (pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12244 [pallet-revive]: Version the trace_block runtime API function (pallet-revive, pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12374 Fix resource exhaustion when replaying finalized-block transactions (sc-rpc-api, sc-rpc)
  • Smart Contracts (Revive): #12474 pallet-revive: support finalized/safe/pending block tags in eth_getLogs (pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12522 [pallet-revive] Test Versioning Invariants and Conventions (pallet-revive, pallet-revive-types, pallet-revive-eth-rpc, revive-dev-runtime)
  • Smart Contracts (Revive): #12536 [pallet-revive] Version the Remaining Runtime API Functions (pallet-revive-eth-rpc, pallet-revive, pallet-revive-types, revive-dev-runtime)
  • Smart Contracts (Revive): #12599 pallet-revive: bench the overlay overhead of hot storage accesses (asset-hub-westend-runtime, pallet-revive)
  • Smart Contracts (Revive): #12636 pallet-revive: implement eth_getBlockReceipts (pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12796 [pallet-revive] Report untraced transactions instead of omitting them (pallet-revive-types)
  • Smart Contracts (Revive): #12802 pallet-revive: make the first hot write after a cold read pay the deferred cost (pallet-revive)
  • Staking & Elections: #11336 Add deferred dispatch support (pallet-whitelist)
  • Staking & Elections: #11940 Post AHM Cleanup: Remove Staking (and friends) from Westend Runtime. (westend-runtime, pallet-staking-async-ah-client)
  • Staking & Elections: #12323 Decouple unbonding pool bound from bonding duration (pallet-nomination-pools)
  • Staking & Elections: #12381 Introduce chill_inactive extrinsic to the pallet-staking-async (pallet-staking-async, asset-hub-westend-runtime)
  • Staking & Elections: #12542 Beefy: Make the equivocation time slot more generic (pallet-beefy, pallet-offences, sp-staking)
  • Staking & Elections: #12630 staking-async: include the unlock era in the Unbonded event (pallet-staking-async)
  • Staking & Elections: #12654 Remove deprecated pallet_staking::ExposureOf. (pallet-staking)
  • Staking & Elections: #12664 Remove deprecated TREASURER_INDEX constants (westend-runtime-constants, pallet-staking-async-rc-runtime-constants)
  • Staking & Elections: #12843 [EPMB] Add configurable reward source and slash destination to signed phase (pallet-election-provider-multi-block)
  • Staking & Elections: #12877 [EPMB] bound the tx-fee refund of a signed submission (pallet-election-provider-multi-block)
  • Coretime: #10188 Add sale_index field to Coretime SaleInfoRecord (pallet-broker)
  • Coretime: #11810 Introduce fp-coretime primitives crate (pallet-broker)
  • Coretime: #12750 [pallet-broker] Prevent auto-renewal from renewing another task's workload (pallet-broker)
  • Governance: #11045 [pallet-bounties]: add reclaim_bounty_funds to reclaim stranded funds from closed bounty accounts (pallet-bounties, rococo-runtime)
  • Assets: #12366 pallet-assets: enforce full deposit transfer in transfer_ownership (pallet-assets)
  • Parachains (protocol): #11909 [dmp] Use page queue instead of single vec (polkadot-runtime-parachains, polkadot-runtime-common, rococo-runtime, westend-runtime)
  • Parachains (protocol): #12156 Remove deprecated migration::remove_storage_prefix (frame-support)
  • Parachains (protocol): #12172 Collation protocol v4 with bounded segment advertisements (polkadot-node-network-protocol, polkadot-collator-protocol, polkadot-node-primitives, polkadot-node-subsystem-types and 4 more)
  • Parachains (protocol): #12251 Remove deprecated RelaychainBlockNumberProvider type alias (cumulus-pallet-parachain-system)
  • Parachains (protocol): #12391 Fix AllowedRelayParentInfo off by one error (polkadot-runtime-parachains)
  • Node: #11954 Cumulus: introduce authority discovery for parachains (polkadot-omni-node-lib, sc-network-sync)
  • Node: #12296 Cumulus v3: find_parent() adjustments (cumulus-client-consensus-common)
  • Node: #12395 Cumulus v3 add more test cases + cosmetics (cumulus-client-consensus-common)
  • Node: #12433 txpool: maintain the transaction pool on every imported block (all forks) (sc-transaction-pool-api, `sc-transacti...
Read more

Polkadot stable2606-2

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 15 Sep 09:48
72284b3

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

ℹ️ Please note: this is a patch release for the latest stable version stable2606. If your nodes are already running on this stable release, you should upgrade to this patch version to get the latest fixes.

Once published, polkadot-stable2606-2 will also be tagged as polkadot-v1.24.2; the node version for this release is v1.24.2.
The following crates were updated to the corresponding versions:

Crates list
  • frame-support@48.1.0
  • pallet-assets@53.0.0
  • pallet-assets-holder@0.13.0
  • pallet-assets-freezer@0.18.0
  • pallet-assets-precompiles@0.11.1
  • pallet-nft-fractionalization@34.0.0
  • cumulus-pallet-parachain-system@0.30.0
  • pallet-xcm-bridge-hub-router@0.28.0
  • xcm-simulator@30.0.0
  • cumulus-pallet-aura-ext@0.30.0
  • cumulus-pallet-solo-to-para@0.30.0
  • frame-storage-access-test-runtime@0.11.0
  • pallet-contracts-mock-network@29.0.0
  • sp-runtime-interface-proc-macro@21.0.1
  • staging-xcm@24.1.0
  • pallet-accumulate-and-forward@0.4.1
  • pallet-broker@0.29.0
  • pallet-psm@0.5.1
  • staging-xcm-executor@28.0.1
  • staging-xcm-builder@29.0.1
  • pallet-xcm@29.1.0
  • pallet-xcm-precompiles@0.9.1
  • polkadot-runtime-parachains@29.0.0
  • sp-blockchain@46.0.1
  • sc-client-api@47.0.1
  • sc-network-types@0.23.1
  • sc-consensus@0.58.0
  • sc-network@0.59.1
  • sc-chain-spec@52.0.0
  • sc-consensus-epochs@0.58.0
  • sc-consensus-pow@0.58.0
  • sc-consensus-slots@0.58.0
  • sc-mixnet@0.29.0
  • sc-network-light@0.58.0
  • sc-network-sync@0.58.0
  • sc-offchain@54.0.0
  • mmr-gadget@54.0.0
  • sc-consensus-aura@0.59.0
  • sc-consensus-babe@0.59.0
  • sc-informant@0.58.0
  • sc-network-gossip@0.59.0
  • sc-network-statement@0.42.0
  • sc-network-transactions@0.58.0
  • sc-rpc-api@0.59.0
  • staging-chain-spec-builder@20.0.0
  • pallet-staking-async@0.15.0
  • sc-consensus-babe-rpc@0.60.0
  • sc-consensus-beefy@38.0.0
  • sc-consensus-grandpa@0.44.0
  • sc-consensus-manual-seal@0.60.0
  • pallet-vesting-precompiles@0.5.1
  • sc-rpc-server@32.1.0
  • sc-statement-store@31.0.0
  • substrate-frame-rpc-support@55.0.0
  • substrate-frame-rpc-system@54.0.0
  • substrate-rpc-client@0.59.0
  • substrate-state-trie-migration-rpc@53.0.0
  • frame-remote-externalities@0.61.0
  • pallet-nomination-pools-benchmarking@48.0.0
  • sc-rpc@55.0.0
  • sc-sync-state-rpc@0.59.0
  • pallet-election-provider-multi-phase@50.0.0
  • pallet-state-trie-migration@56.0.0
  • sc-consensus-beefy-rpc@39.0.0
  • sc-consensus-grandpa-rpc@0.45.0
  • sc-rpc-spec-v2@0.60.0
  • polkadot-rpc@35.0.0
  • polkadot-runtime-common@31.0.0
  • sc-service@0.61.0
  • xcm-simulator-example@31.0.0
  • cumulus-pallet-xcmp-queue@0.32.0
  • cumulus-primitives-utility@0.32.0
  • pallet-staking-async-rc-runtime-constants@0.13.0
  • rococo-runtime-constants@32.0.0
  • sc-authority-discovery@0.60.0
  • sc-cli@0.62.0
  • westend-runtime-constants@32.0.0
  • cumulus-client-cli@0.33.0
  • parachains-common@36.0.0
  • polkadot-node-metrics@33.0.0
  • polkadot-node-network-protocol@33.0.0
  • rococo-runtime@36.0.0
  • staging-node-inspect@0.38.0
  • subkey@35.0.0
  • testnet-parachains-constants@25.0.0
  • westend-runtime@37.0.0
  • assets-common@0.37.0
  • bp-bridge-hub-cumulus@0.36.0
  • collectives-westend-runtime@34.0.0
  • coretime-westend-runtime@0.30.0
  • glutton-westend-runtime@32.0.0
  • parachains-runtimes-test-utils@37.0.0
  • people-westend-runtime@0.30.0
  • polkadot-node-subsystem-types@33.0.0
  • polkadot-voter-bags@37.0.0
  • xcm-emulator@0.35.0
  • asset-test-utils@39.0.0
  • bp-asset-hub-rococo@0.32.0
  • bp-asset-hub-westend@0.31.0
  • bp-bridge-hub-rococo@0.36.0
  • bp-bridge-hub-westend@0.32.0
  • penpal-runtime@0.45.0
  • polkadot-overseer@33.0.0
  • snowbridge-inbound-queue-primitives@0.18.0
  • snowbridge-runtime-test-common@0.31.0
  • asset-hub-rococo-runtime@0.41.0
  • asset-hub-westend-runtime@0.54.0
  • bridge-hub-test-utils@0.38.0
  • cumulus-relay-chain-interface@0.33.0
  • emulated-integration-tests-common@38.0.0
  • polkadot-node-subsystem@33.0.0
  • snowbridge-pallet-inbound-queue-fixtures@0.37.0
  • snowbridge-pallet-inbound-queue-v2-fixtures@0.18.0
  • cumulus-client-bootnodes@0.12.0
  • cumulus-client-network@0.33.0
  • cumulus-client-parachain-inherent@0.27.0
  • cumulus-relay-chain-rpc-interface@0.33.0
  • cumulus-relay-chain-streams@0.11.0
  • polkadot-network-bridge@33.0.0
  • polkadot-node-core-chain-api@33.0.0
  • polkadot-node-core-parachains-inherent@33.0.0
  • polkadot-node-core-pvf@33.0.0
  • polkadot-node-core-runtime-api@33.0.0
  • polkadot-node-subsystem-util@33.0.0
  • snowbridge-pallet-inbound-queue@0.29.0
  • snowbridge-pallet-inbound-queue-v2@0.18.0
  • bridge-hub-rococo-runtime@0.36.0
  • bridge-hub-westend-runtime@0.33.0
  • cumulus-client-pov-recovery@0.33.0
  • frame-benchmarking-cli@60.0.0
  • polkadot-approval-distribution@33.0.0
  • polkadot-availability-bitfield-distribution@33.0.0
  • polkadot-availability-distribution@33.0.0
  • polkadot-availability-recovery@33.0.0
  • polkadot-collator-protocol@33.0.0
  • polkadot-dispute-distribution@33.0.0
  • polkadot-gossip-support@33.0.0
  • polkadot-node-collation-generation@33.0.0
  • polkadot-node-core-approval-voting@33.0.0
  • polkadot-node-core-av-store@33.0.0
  • polkadot-node-core-backing@33.0.0
  • polkadot-node-core-bitfield-signing@33.0.0
  • polkadot-node-core-candidate-validation@33.0.0
  • polkadot-node-core-chain-selection@33.0.0
  • polkadot-node-core-dispute-coordinator@33.0.0
  • polkadot-node-core-prospective-parachains@32.0.0
  • polkadot-node-core-provisioner@33.0.0
  • polkadot-node-core-pvf-checker@33.0.0
  • polkadot-statement-distribution@33.0.0
  • cumulus-client-consensus-common@0.33.0
  • polkadot-node-core-approval-voting-parallel@0.16.0
  • cumulus-client-collator@0.33.0
  • cumulus-client-consensus-relay-chain@0.33.0
  • polkadot-service@38.0.0
  • cumulus-client-consensus-aura@0.33.0
  • cumulus-relay-chain-minimal-node@0.38.0
  • polkadot-cli@38.0.0
  • cumulus-relay-chain-inprocess-interface@0.38.0
  • polkadot-jemalloc-shim@0.8.0
  • cumulus-client-service@0.38.0
  • frame-omni-bencher@0.24.0
  • polkadot@37.0.0
  • polkadot-omni-node-lib@0.20.0
  • polkadot-omni-node@0.20.0
  • polkadot-sdk@2606.4.0
  • pallet-revive-eth-rpc@0.21.0
  • pallet-revive-uapi@0.15.1
  • pallet-revive-fixtures@0.15.1
  • substrate-wasm-builder@34.0.1
  • sc-hop@0.2.1
  • pallet-revive@0.19.1

ℹ️ Due to the decommissioning of the Debian bullseye build, starting from the stable release stable2612, all published binaries will be built on the Debian bookworm distribution. More instructions to follow on the forum — please keep an eye out.

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

💥 Breaking Changes

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

  • XCM: #12378 pallet-assets: allow force_create to set an arbitrary asset id when auto-increment is enabled (pallet-assets)
  • Staking & Elections: #11979 Scale validator self-stake incentive by era-points performance (pallet-staking-async)
  • Coretime: #12750 [pallet-broker] Prevent auto-renewal from renewing another task's workload (pallet-broker)
  • Assets: #12245 pallet-psm: multi-instance, permissionless Peg Stability Modules (pallet-psm, asset-hub-westend-runtime)
  • Node: #12315 feat(webrtc): add experimental WebRTC transport to litep2p backend (sc-cli, sc-network, sc-network-types)
  • Node: #12870 network: Enable WebRTC by default on full nodes (sc-cli, sc-network, sc-network-types)
  • FRAME & Runtime: #13153 pallet-accumulate-and-forward: measure the transfer period from the last forward (emulated-integration-tests-common)

Changelog

XCM

🛠️ Runtime Dev

💥 #12378: pallet-assets: allow force_create to set an arbitrary asset id when auto-increment is enabled

force_create no longer requires the asset id to equal NextAssetId: a ForceOrigin may create an asset with any id not currently in use, and the id is then marked as allocated so it can never later collide. Asset id allocation is now configured explicitly via the new Config::AssetIdAllocator (AutoIncAssetId for auto-incrementing ids, () for none), replacing the implicit NextAssetId-is-Some plus AutoIncAssetId callback mechanism. Only the force_create call is relaxed; fungibles::Create::create is not gated on ForceOrigin and still requires the id the allocator dictates. …

Breaking: pallet-assets
Other crates: asset-hub-rococo-runtime (minor), asset-hub-westend-runtime (minor), penpal-runtime (patch), pallet-contracts-mock-network (minor), pallet-asset-conversion (none), `pallet-asset-conversion-tx-paym...

Read more

Polkadot polkadot-stable2609-rc1

Pre-release

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 04 Sep 08:57
polkadot-stable2609-rc1
9c2323b

This release contains the changes from polkadot-stable2606 to polkadot-stable2609.

⚠️ Warning: Pre-release Version

The currently published version is a pre-release and is not yet a final stable version. This release is provided for testing purposes only, and there is no guarantee that everything will work as expected. Errors and unusual behaviours of some features are to be expected.

Please use this version at your own risk and report any issues you encounter. We recommend waiting for the official release if you need a stable version.

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

💥 Breaking Changes

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

  • Bridges: #11147 Track nested memory used by xcm::DoubleEncoded: approach #2 (staging-xcm, staging-xcm-executor)
  • Bridges: #12159 Snowbridge: blocks an origin-spoofing attack vector in the V2 outbound queue converter (snowbridge-outbound-queue-primitives)
  • Bridges: #12585 Remove Polkadot Bulletin bridge code (bridge-hub-rococo-runtime, bp-bridge-hub-rococo)
  • Bridges: #12935 Update trie-db to 0.32.0 (sp-trie)
  • XCM: #12369 pallet-asset-conversion: support per-pair swap fee (fallback to global LPFee) (pallet-asset-conversion)
  • XCM: #12378 pallet-assets: allow force_create to set an arbitrary asset id when auto-increment is enabled (pallet-assets)
  • XCM: #12472 Remove deprecated ConvertedConcreteAssetId type alias (staging-xcm-builder)
  • XCM: #12482 Remove deprecated FilterAssetLocation trait (staging-xcm-executor)
  • XCM: #12502 Remove deprecated ForeignChainAliasAccount type alias (staging-xcm-builder)
  • XCM: #12503 Remove deprecated CurrencyAdapter from staging-xcm-builder (staging-xcm-builder)
  • XCM: #12504 Remove deprecated UnpaidLocalExporter from staging-xcm-builder (staging-xcm-builder)
  • XCM: #12505 Remove deprecated JustTry and Identity re-exports from xcm-executor (staging-xcm-executor)
  • XCM: #12832 pallet-xcm: weight asset claiming and precompile XCM input by their real size (pallet-xcm)
  • Smart Contracts (Revive): #12037 [pallet-revive]: move eth-rpc-only types out of pallet-revive (pallet-revive-eth-rpc, pallet-revive)
  • Smart Contracts (Revive): #12096 Bump subxt to 0.50 (pallet-revive-eth-rpc, frame-benchmarking-cli)
  • Smart Contracts (Revive): #12104 pallet-revive: per-transaction cold/hot storage access pricing (pallet-revive)
  • Smart Contracts (Revive): #12220 pallet-revive eth-rpc: make SubmittedTransaction::gas() return Option (pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12244 [pallet-revive]: Version the trace_block runtime API function (pallet-revive, pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12374 Fix resource exhaustion when replaying finalized-block transactions (sc-rpc-api, sc-rpc)
  • Smart Contracts (Revive): #12474 pallet-revive: support finalized/safe/pending block tags in eth_getLogs (pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12522 [pallet-revive] Test Versioning Invariants and Conventions (pallet-revive, pallet-revive-types, pallet-revive-eth-rpc, revive-dev-runtime)
  • Smart Contracts (Revive): #12536 [pallet-revive] Version the Remaining Runtime API Functions (pallet-revive-eth-rpc, pallet-revive, pallet-revive-types, revive-dev-runtime)
  • Smart Contracts (Revive): #12599 pallet-revive: bench the overlay overhead of hot storage accesses (asset-hub-westend-runtime, pallet-revive)
  • Smart Contracts (Revive): #12636 pallet-revive: implement eth_getBlockReceipts (pallet-revive-eth-rpc)
  • Smart Contracts (Revive): #12796 [pallet-revive] Report untraced transactions instead of omitting them (pallet-revive-types)
  • Smart Contracts (Revive): #12802 pallet-revive: make the first hot write after a cold read pay the deferred cost (pallet-revive)
  • Staking & Elections: #11336 Add deferred dispatch support (pallet-whitelist)
  • Staking & Elections: #11940 Post AHM Cleanup: Remove Staking (and friends) from Westend Runtime. (westend-runtime, pallet-staking-async-ah-client)
  • Staking & Elections: #11979 Scale validator self-stake incentive by era-points performance (pallet-staking-async)
  • Staking & Elections: #12323 Decouple unbonding pool bound from bonding duration (pallet-nomination-pools)
  • Staking & Elections: #12381 Introduce chill_inactive extrinsic to the pallet-staking-async (pallet-staking-async, asset-hub-westend-runtime)
  • Staking & Elections: #12542 Beefy: Make the equivocation time slot more generic (pallet-beefy, pallet-offences, sp-staking)
  • Staking & Elections: #12630 staking-async: include the unlock era in the Unbonded event (pallet-staking-async)
  • Staking & Elections: #12654 Remove deprecated pallet_staking::ExposureOf. (pallet-staking)
  • Staking & Elections: #12664 Remove deprecated TREASURER_INDEX constants (westend-runtime-constants, pallet-staking-async-rc-runtime-constants)
  • Coretime: #10188 Add sale_index field to Coretime SaleInfoRecord (pallet-broker)
  • Coretime: #11810 Introduce fp-coretime primitives crate (pallet-broker)
  • Governance: #11045 [pallet-bounties]: add reclaim_bounty_funds to reclaim stranded funds from closed bounty accounts (pallet-bounties, rococo-runtime)
  • Assets: #12245 pallet-psm: multi-instance, permissionless Peg Stability Modules (pallet-psm, frame-support, asset-hub-westend-runtime)
  • Assets: #12366 pallet-assets: enforce full deposit transfer in transfer_ownership (pallet-assets)
  • Parachains (protocol): #11909 [dmp] Use page queue instead of single vec (polkadot-runtime-parachains, polkadot-runtime-common, rococo-runtime, westend-runtime)
  • Parachains (protocol): #12156 Remove deprecated migration::remove_storage_prefix (frame-support)
  • Parachains (protocol): #12172 Collation protocol v4 with bounded segment advertisements (polkadot-node-network-protocol, polkadot-collator-protocol, polkadot-node-primitives, polkadot-node-subsystem-types and 4 more)
  • Parachains (protocol): #12251 Remove deprecated RelaychainBlockNumberProvider type alias (cumulus-pallet-parachain-system)
  • Parachains (protocol): #12391 Fix AllowedRelayParentInfo off by one error (polkadot-runtime-parachains)
  • Node: #11954 Cumulus: introduce authority discovery for parachains (polkadot-omni-node-lib, sc-network-sync)
  • Node: #12296 Cumulus v3: find_parent() adjustments (cumulus-client-consensus-common)
  • Node: #12315 feat(webrtc): add experimental WebRTC transport to litep2p backend (sc-cli, sc-network, `...
Read more

Polkadot stable2603-6

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 27 Aug 14:39
d76748b

This release contains the changes from polkadot-stable2606-5 to polkadot-stable2603-6.

ℹ️ 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.

The tag corresponding to the current patch release polkadot-stable2603-6 and matching the old pattern will be
available under polkadot-v1.22.6.
The following crates were updated to the corresponding versions:

  • sc-consensus-beefy@35.0.1
  • sc-consensus-grandpa@0.41.1

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.

[#12767]: grandpa: Revert memory changes synced with db

This PR keeps the in memory changes synced with the DB ones in grandpa

While at it, have added a few tests and changed the API a bit

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

Changelog for Node Operator

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

[#12812]: beefy: lower peer reputation for bad responses

Bad BEEFY justifications are refused and also the sending peer penalized.

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

Polkadot stable2512-8

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 20 Aug 11:40
e1f0f7a

This release contains the changes from polkadot-stable2512-6 to polkadot-stable2512-8.

ℹ️ Please note:

⚠️ This is a patch release for the stable version: stable2512 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-stable2512-8 and matching the old pattern will be
available under polkadot-v1.21.7.
The following crates were updated to the corresponding versions:

Crates list
  • sc-consensus-beefy@34.0.1
  • sc-consensus-grandpa@0.40.1

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.

[#12767]: grandpa: Revert memory changes synced with db

This PR keeps the in memory changes synced with the DB ones in grandpa.
While at it, have added a few tests and changed the API a bit

Changelog for Node Operator

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

[#12812]: beefy: lower peer reputation for bad responses

Bad BEEFY justifications are refused and also the sending peer penalized.

Rust compiler versions

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

  • Rust Stable: 1.88.0

Polkadot stable2509-11

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 13 Aug 17:06
cefb772

This release contains the changes from polkadot-stable2509-10 to polkadot-stable2509-11.

ℹ️ Please note:

⚠️ This is a patch release for the stable version: stable2509 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-stable2509-11 and matching the old pattern will be
available under polkadot-v1.20.10.
The following crates were updated to the corresponding versions:

  • sc-consensus-grandpa@0.38.1

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.

[#12767]: grandpa: Revert memory changes synced with db

This PR keeps the in memory changes synced with the DB ones in grandpa

While at it, have added a few tests and changed the API a bit

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

Changelog for Node Operator

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

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

Polkadot stable2606-1

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 10 Aug 09:44
8ae9775

This release contains the changes from polkadot-stable2606 to polkadot-stable2606-1.

ℹ️ Please note:

This is a patch release for the latest stable version: stable2606. If your nodes are already running on this stable release,
you should upgrade to this patch version to get the latest fixes.

The tag corresponding to the current patch release polkadot-stable2606-1 and matching the old pattern will be
available under polkadot-v1.24.1.

The node version for this release is: v1.24.1
The following crates were updated to the corresponding versions:

Crates list
  • sp-database@10.0.2
  • pallet-multi-asset-bounties@0.6.1
  • pallet-utility@49.0.1
  • sc-client-db@0.54.1
  • sc-consensus-grandpa@0.43.1
  • polkadot-collator-protocol@32.0.1
  • polkadot-omni-node-lib@0.18.1

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.

[#12106]: sp-database: aggregate same-key refcount ops within a transaction

Fix a kvdb refcount-leak in sp_database: when one Transaction contains multiple Store/Reference/Release ops on the same key, each op reads a stale on-disk counter and writes back to the same counter key — the underlying DBTransaction keeps only the last put, collapsing N ops to a single ±1. commit_impl now replays per-(col, key) refcount ops in transaction order against one on-disk counter read, then emits one final write per unique key.

[#12388]: collator-protocol revamp: Send RC PeerId with ApprovedPeer UMP signal

Currently the collator sends its parachain PeerId within the ApprovedPeer UMP signal, which is wrong because this peer id is not known on the relay chain.
As a result on CandidateIncluded event the score is bumped for the wrong PeerId and the collator remains with zero reputation no matter its honest work.

[#12260]: collator-protocol revamp: Increase channel size used by the background writer of PersistentDb

Increases the channel capacity used by PersistentDb and PeerManager to avoid delaying PersistenceRequests in spam scenarios.
Introduce a separate log target for the persistent_db module.

[#12767]: grandpa: Revert memory changes synced with db

This PR keeps the in memory changes synced with the DB ones in grandpa.
While at it, have added a few tests and changed the API a bit

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

[#12409]: Add increase_value call to pallet-multi-asset-bounties

Adds a curator-gated increase_value(parent_bounty_id, amount) extrinsic that raises an active bounty's recorded value by amount.

Bounty payouts are bounded by the recorded value, not the account balance, so funds transferred into a bounty account out-of-band (e.g. recurring external top-ups) are otherwise unspendable. This call lets the curator register those funds without a
governance round.

Behaviour:

  • Only the curator of an Active bounty may call it; the value is increase-only.
  • The curator deposit is re-evaluated and any additional hold is collected for the new value.
  • Emits BountyValueIncreased { index, old_value, new_value }.
  • Parent bounties only.

This is an additive change (new call and event variant); there is no storage migration.

[#12534]: pallet-utility: fix dispatch class of empty batch/batch_all/force_batch

Utility::batch, Utility::batch_all and Utility::force_batch derive their DispatchClass by folding over the dispatch classes of the wrapped calls, starting from an Operational accumulator so that the batch is only Operational if every wrapped call is Operational. When called with an empty list of calls, the fold had nothing to iterate over and returned the initial Operational value unchanged, making empty batches incorrectly Operational instead of Normal. Empty batches now explicitly resolve to DispatchClass::Normal.

Rust compiler versions

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

  • Rust Stable: 1.93

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:stable2606-1

or

docker pull parity/polkadot-parachain:stable2606-1

Polkadot stable2603-5

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 30 Jul 13:14
b54fcb3

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

ℹ️ 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.

The tag corresponding to the current patch release polkadot-stable2603-5 and matching the old pattern will be
available under polkadot-v1.22.5.
The following crates were updated to the corresponding versions:

Crates list
  • polkadot-collator-protocol@29.1.2
  • polkadot-omni-node-lib@0.14.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.

[#12388]: collator-protocol revamp: Send RC PeerId with ApprovedPeer UMP signal

Currently the collator sends its parachain PeerId within the ApprovedPeer UMP signal, which is wrong because this peer id is not known on the relay chain.
As a result on CandidateIncluded event the score is bumped for the wrong PeerId and the collator remains with zero reputation no matter its honest work.

[#12260]: collator-protocol revamp: Increase channel size used by the background writer of PersistentDb

Increases the channel capacity used by PersistentDb and PeerManager to avoid delaying PersistenceRequests in spam scenarios.
Introduce a separate log target for the persistent_db module.

Rust compiler versions

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

  • Rust Stable: 1.93

Polkadot stable2606

Choose a tag to compare

@paritytech-polkadotsdk-release-rw paritytech-polkadotsdk-release-rw released this 06 Jul 09:12
660acef

This release contains the changes from polkadot-stable2603 to polkadot-stable2606.

ℹ️ Please note:

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

The node version for this release is: 1.24.0

Changelog

Full changelog can be found here

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.

[#12080]: fix(statement-network): split peer metric by kind

Impl #12060

Summary

  • Change substrate_sync_statement_peers_connected from a plain gauge to a GaugeVec labelled by kind
  • Report statement protocol peers as kind="full" or kind="light"

[#11415]: Statement store e2e integration tests lite person setup

Summary

  • Add a lite person registration test that exercises the full PeopleLite::attest flow on a live parachain, including ring-VRF key generation, attestation, and subsequent statement submission.

[#10477]: Block Bundling Node Side

Implements the node-side logic for block bundling (aka 500ms blocks) in parachains.
The main changes are in the slot-based collator: instead of building one block per core, blocks are built as requested and distributed over the available cores.

[#11701]: statement-store: Test flooding detection

Fixed a bug with double peer state cleanup. Added two zombienet integration tests that verify statement-store flooding detection

[#11107]: Add runtime metadata detection for Aura authority ID

Adds optional runtime metadata-based detection for Aura authority ID types in polkadot-omni-node-lib.

When metadata is available, the node detects whether Aura uses sr25519 or ed25519 directly from the runtime. If detection fails or metadata is unavailable, it falls back to chain spec ID heuristics.

A warning is emitted when the Aura authority ID type is not found in metadata.

[#11685]: Pass NodeExtraArgs through Dev Chain

Enables the statement store when running polkadot-omni-node in dev mode with --enable-statement-store.

The dev Aura node path now wires the statement store the same way as the regular node path: it registers the statement network protocol, builds the store, exposes the RPCs, and passes the statement store extension into offchain workers.

Also wires up the storage monitor in dev mode and emits warnings when collation-specific flags (--authoring-policy, --export-pov, --max-pov-percentage) are passed in dev mode where they have no effect.

NodeExtraArgs is now destructured in start_dev_node so the compiler will enforce that any newly added fields are explicitly handled.

[#12038]: Network: Add bitswap client

Adds a Bitswap client API to sc-network for fetching CID-addressed blocks from a peer over the native litep2p Bitswap protocol. The public API is block-fetch only and reports per-CID outcomes as either delivered bytes or "missing"; on-wire presence (HAVE / DONT_HAVE) is handled internally and is not part of the public surface.

[#11387]: docs/async_back: Align docs to latest behavior

Tiny PR to update the async backing documentation / guidelines:

  • older params are no longer used async_backing_params
  • UNINCLUDED_SEGMENT_CAPACITY is now 3
  • no need for experimental feature flags

Closes: #8804

[#12207]: statement-store: remove unused Proof::OnChain variant

Removes the Proof::OnChain variant from sp_statement_store::Proof because it was unused.

[#12113]: Aura: Fetch slot duration at parent and not best block

Fetch the slot duration from the parent we are building on top of and not from the best block.

[#11967]: Experimental collator protocol — leaf-authoritative capacity tracking

Reworks the experimental collator protocol's validator side around a leaf-authoritative capacity model. The leaf's per-core claim queue is the single source of truth; capacity at every scheduling parent (SP) on a path to that leaf is derived via offset arithmetic.

Behavior changes vs. master:

  • Rotation-boundary bug fixed. After a group rotation, candidates for both the pre-rotation core's para (advertised at the pre-rotation leaf) and the post-rotation core's para (at the post-rotation leaf) are accepted. Previously, rotation caused claim-queue state for the old core to be overwritten and ancestor-rooted advertisements to be wrongly rejected.

  • Fork-aware view cleanup. When a leaf is dropped, SPs are removed from per_scheduling_parent (with their in-flight fetches cancelled) only when no remaining leaf still references them. Previously, sibling-fork retention in implicit-view storage could leave SPs orphaned with leaked in-flight fetches.

  • Free-slot accounting tightened to the current leaf. Assignments and free CQ positions now reflect only what the current leaf's CQ actually predicts. Previously, claim-queue state for already-produced ancestor blocks lingered until those blocks were pruned, so paras and slots that had already been backed on-chain were still reported as open — keeping peers connected past their relevance and offering capacity for slots that could no longer be filled.

Internals: the previous ClaimQueueState / PerLeafClaimQueueState machinery is gone (~2200 LoC deleted). Capacity is now computed per-(leaf, core) by build_leaf_core_cqs as a Vec<LeafCoreCq>, where each LeafCoreCq holds the leaf's CQ as
Vec<Option<ParaId>> (consumed positions cleared to None) and an sps_by_depth: Vec<Option<Hash>> masking cross-core ancestors. The fetch planner walks free CQ positions back-to-front and picks the best advertisement among same-core SPs whose
window reaches that position.

Test coverage in validator_side_experimental/tests.rs:

  • core_rotation_accepts_candidates_for_both_cores — regression for the original rotation-boundary bug.
  • Five active-fork tests covering: assignment union across leaves, longest-window capacity at a common ancestor across different-length forks, no double-counting of in-flight candidates across sibling forks, and reclamation of capacity / peer disconnection when a
    fork is dropped.
  • Two linear multi-SP tests pinning over-fetch and under-fetch invariants when ancestor and leaf SPs share the same per-core CQ.
  • Tests for cross-SP reputation arbitration and cross-core slot-reservation correctness.
  • Three previously-existing tests rewritten to assert the same intent against the new model.

No public API changes; behavior change is contained to the experimental validator side.

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

[#11922]: Update merkle mountain lib

Updates the merkle mountain crate to its latest version.

[#11616]: Move era reward minting from staking to DAP

Introduces dual-mode era rewards in pallet-staking-async, controlled by Config::DisableMinting:

  • true (non-minting): staking expects an external source to fund a general reward pot. At era boundary, the balance is snapshotted into an era-specific pot. Payouts transfer from the pot. Unclaimed rewards returned via UnclaimedRewardHandler.
  • false (legacy minting): EraPayout computes inflation, tokens minted on payout, remainder sent to RewardRemainder. Kept for Kusama compatibility.

Switching from legacy to non-minting is irreversible.

New config: DisableMinting, UnclaimedRewardHandler, GeneralPots, EraPots, StakerRewardCalculator. New storage: MaxCommission, DisableMintingGuard.
New extrinsic: set_max_commission.

Runtimes using non-minting mode provide an IssuanceCurve impl to DAP and register StakerRewardRecipient as a budget recipient. DAP storage version bumped to V2 with migration.

[#12225]: pallet-revive: map account in prepare_dry_run

Summary

  • Map the origin account in prepare_dry_run when it is not already mapped, so dry-running contract calls/instantiations does not fail with AccountUnmapped for callers that never registered a mapping.

[#12115]: pallet-revive: recalibrate contains_storage benchmark

The contains_storage benchmark now exercises the persistent storage path, matching how WeightInfo::contains_storage is dispatched from the precompile. The transient path remains benchmarked separately as seal_contains_transient_storage.
Also the clear_storage, contains_storage, take_storage and the transient clear/contains benchmarks now size their pre-existing value by n.

[#11770]: Fix PSM migration to run on first deployment

Replaces the versioned MigrateToV1 with an idempotent InitializePsm migration.

The previous MigrateToV1 used VersionedMigration<0, 1> which never ran on fresh deployments because BeforeAllRuntimeMigrations initializes the on-chain storage version to the in-code version (1) before migrations execute, causing the version check to skip.

InitializePsm instead checks whether each external asset already exists and skips it if so. This makes it safe to run multiple times with no storage version dependency.

[#12027]: Extend PGAS filter to allow batches

Just as the title says.

[#11881]: Make pallet-dap-satellite more generic

The DAP satellite pallet is being converted into a generic Accumulate-and-Forward pallet, with the purpose of pooling to...

Read more