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
Activebounty 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