github paritytech/polkadot-sdk polkadot-stable2503-7
Polkadot stable2503-7

latest releases: polkadot-stable2506-2-rc1, polkadot-stable2503-9, polkadot-stable2503-9-rc1...
one month ago

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

This is a patch release for the latest stable version: stable2503. You can consider upgrading to it to have the latest fixes for this version.

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

⚠️ The sc-network and sc-network-types crates all the dependant crates had to be major bumped in this release.

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.

[#9102]: polkadot-omni-node: pass timestamp inherent data for block import

This should allow aura runtimes to check timestamp inherent data when syncing/importing blocks that include timestamp inherent data.

Runtime developers can check timestamp inherent data while using polkadot-omni-node-lib/polkadot-omni-node/polkadot-parachain binaries.
This change is backwards compatible and doesn't require runtimes to check the timestamp inherent, but they are able to do it now if needed.

[#9050]: dispute-coordinator: handle race with offchain disabling

Fixes a potential race with off-chain disabling when we learned about disablement after importing a dispute from that validator.

[#8837]: Cache locally controlled validator indices in dispute-coordinator

dispute-coordinator uses keystore.key_pair() to obtain the set of locally controlled validator IDs. This operation happens on each import and is expensive because it involves key generation from a seed phrase. This patch lazily determines the set of locally controlled
validator IDs and caches the result for each session.

[#8948]: make sure dispute_coordinator/approval-voting parallel can receive priority messages

#8834, changed relay_chain_selection to send priority messages, but did not configured
the subsystems to tell they can receive priority messages, with can_receive_priority_messages flag.

If can_receive_priority_messages is not specified orchestra falls back when sending a priority message to the normal queue,
so this resulted in the messages not being processed ahead of the others in the queue.

Fix this configuration mistake and add a test to make sure priority messages are consumed ahead of normal ones by the subsystems.

[#8832]: increase session index cache

A 10 session index cache is not enough when you run under intense pressure and finality is lagg since you will end requesting the session index for blocks older than that. So let's make this cache larger to achieve its purpose even under intense load when it actually matters more to be faster.

The session_index_cache keeps a Hash and a u32, so that's about 36 bytes per entry, with this increase it can grow up to 65k which is not that big in my book.

[#8973]: Add polkadot_parachain_peer_connectivity metric

Adds polkadot_parachain_peer_connectivity histogram metric to better understand connectivity patterns.

[#8834]: extend overseer to send priority messages

Extend overseer to send priority messages, the new functionality is used for sending messages on the grandpa call path when we call dispute-coordinator and approval-voting in finality_target_with_longest_chain to make sure we don't block unnecessarily.

[#8831]: dispute-coordinator: increase lru_observed_blocks_capacity

Under increase load with finality lagging behind there is a risk for blocks to arrive late or out of sequence, in that case we will end up scrapping from the received block un till last finalized block and then process all the dispute in-between.

This couple with other inefficiencies like #8823 will increase unnecessarily the load on dispute-coordinator.

Decided to make this super large to err on the cautious side, the Hash size is only 32 bytes, so this will make the LRU grow up to 65k, which I don't think is a significant increase.

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

[#9102]: polkadot-omni-node: pass timestamp inherent data for block import

This should allow aura runtimes to check timestamp inherent data when syncing/importing blocks that include timestamp inherent data.

Runtime developers can check timestamp inherent data while using polkadot-omni-node-lib/polkadot-omni-node/polkadot-parachain binaries.
This change is backwards compatible and doesn't require runtimes to check the timestamp inherent, but they are able to do it now if needed.

[#8725]: Snowbridge: register polkadot native asset with fee

To enforce a fee for PNA registration.

[#6827]: Introduction of Approval Slashes

Introduces a more aggressive slashing scheme.
Lazy or spammy validators will from now on be slashable in disputes.
Even if your validator is not a backer but it approves an invalid block it will be slashed 2%.
If your validator raises or supports fake alarms (disputes against valid blocks) you will be slashed (0%) and disabled for the remainder
of the era, which will potentially reduce era point gains.

[#8980]: Fix revive-fixtures build script

Fix compilation issue with pallet-revive-fixtures build.rs script.

[#8787]: Westend governance authorize_upgrade integration tests

Integration tests covering authorize_upgrade with whitelisting via Collectives for Westend network

[#8932]: pallet-balances: Do not create account in benchmarking

This particular benchmark is about benchmarking the account creation, so we should not create it before :)

Closes: #8927

[#9130]: Modified ToParachainDeliveryHelper utilize WithdrawAsset based worst-case fee estimation instead of ClearOrigin

This PR contains modified ToParachainDeliveryHelper to utilize WithdrawAsset based worst-case fee estimation instead of ClearOrigin.

[#8694]: Fix pallet_migrations benchmark when FailedMigrationHandler emits events

When FailedMigrationHandler emits events, the UpgradeFailed event is not the last one, so assert_last_event fails. Fixed by checking that the UpgradeFailed event is emitted, even if it is not the last one.

Changelog for Node Operator

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

[#8345]: tx/metrics: Add metrics for the RPC v2 transactionWatch_v1_submitAndWatch

This PR adds metrics for the following RPC subscription: transactionWatch_v1_submitAndWatch

Metrics are exposed in two ways:

  • simple counters of how many events we've seen globally
  • a histogram vector of execution times, which is labelled by initial event -> final event
    • This helps us identify how long it takes the transaction pool to advance the state of the events, and further debug issues

Part of: #8336

[#6827]: Introduction of Approval Slashes

Introduces a more aggressive slashing scheme.
Lazy or spammy validators will from now on be slashable in disputes.
Even if your validator is not a backer, but it approves an invalid block it will be slashed 2%.
If your validator raises or supports fake alarms (disputes against valid blocks) you will be slashed (0%) and disabled for the remainder
of the era, which will potentially reduce era point gains.

Rust compiler versions

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

  • Rust Stable: 1.84.1

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:stable2503-7

or

docker pull parity/polkadot-parachain:stable2503-7

Don't miss a new polkadot-sdk release

NewReleases is sending notifications on new releases.