Skip to content

Releases: paritytech/polkadot-sdk

Polkadot stable2503-11

30 Oct 15:49
6600d9c

Choose a tag to compare

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

ℹ️ Please note:

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

The following crates were updated to the corresponding versions:

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.

[#10082]: approval-distribution: improve test coverage

Add few more test in approval-distribution to improve coverage.

Rust compiler versions

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

  • Rust Stable: 1.84.1

Polkadot stable2412-11

23 Oct 09:08
3366310

Choose a tag to compare

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

ℹ️ Please note:

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

The following crates were updated to the corresponding versions:

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.

[#10082]: approval-distribution: improve test coverage

Add few more test in approval-distribution to improve coverage.

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 stable2509-1

23 Oct 07:44
bd19559

Choose a tag to compare

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

ℹ️ Please note:

This is a patch release for the latest stable version: stable2509. 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-stable2509-1 and matching the old pattern will be available under polkadot-v1.20.1.

The node version for this release is: v1.20.1

The following crates were updated to the corresponding versions:

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.

[#10082]: approval-distribution: improve test coverage

Add few more test in approval-distribution to improve coverage.

[#9912]: [WIP] Fix statement-store gossiping

Fixes gossiping and scalability issues in the statement-store networking:
reduces traffic by propagating only recent statements, skips duplicate processing, and splits large batches to stay under MAX_STATEMENT_NOTIFICATION_SIZE.

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

[#9731]: simulate rank_to_votes conversion in vote benchmark

Fixes benchmarking failures for the vote extrinsic in pallet-ranked-collective by properly simulating the rank_to_votes conversion process. Previously used hardcoded vote values which caused assertion failures when using custom VoteWeight converters (e.g., in
Ambassador Collective configuration). The fix calculates vote weight based on member's actual rank and minimum required rank for the class.

[#9926]: Staking-Async: Chill stakers should not have a score

Async: Chill stakers should not have a score.

While no severe consequence, this bug could cause non-validator and non-nominator stakers to retain a spot in the bags-list pallet, preventing other legit nominators/validators from taking their place.

Note that previously, this was not a possibility, because staking would always issue a T::VoterList::on_remove when someone chills, ensuring they are removed from the list. Moreover, an older version of pallet_bags_list::Pallet::rebag didn't allow new nodes to be added, only the score of existing nodes to be adjusted.

But, in recent versions of bags-list, we added a Lock ability that would block any changes to the bags list (during the election snapshot phase). This also had us update the rebag transaction to add or remove nodes from the list, which opened the door to this issue.

[#10051]: [AHM/Staking] Allow own stake to be collected in all pages

TLDR: Thanks to a number of reports from Kusama validator, we have been investigating an issue where the self stake of some validators is not present in ErasStakersPaged and ErasStakersOverview. After investigation, it was clear that the polkadot-staking-miner is doing the right thing, and the self-stake is indeed submitted to the chain as a part of the election result. The root cause in how pallet-staking-async ingests the paginated election result. This code made a (wrong) assumption that self-stake is only present in the first page of a multi-page election. This PR fixes this issue.

Changelog for Node Operator

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

[#10072]: revert: aura tracker

Reverts non-public-interface changes of #9272.

[#9894]: Adjust statement store configs to hold more data

This PR adjusts the statement store configuration, hardcoded in the networking component of the store, to enable the store to hold greater amounts of data, 2GiB worth of statement data to be exact.

Moreover, the networking config is adjusted to be able to process significantly more statements, as well as preventing the store from gossiping indefinitely after the LRU cache reaches capacity.

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.

[#7456]: pallet-assets: make touch other permissionless

In pallet assets, make touch_other call permissionless. Before this PR only Admin and Freezer of an asset could touch an account, now every account can.

Rust compiler versions

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

  • Rust Stable: 1.88.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:stable2509-1

or

docker pull parity/polkadot-parachain:stable2509-1

Polkadot stable2506-4

23 Oct 07:28
3c88ea3

Choose a tag to compare

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

ℹ️ Please note:

⚠️ This is a patch release for the stable version: stable2506 and contains only patches and fixes to the crates (list below) plus polkadot, polkadot-parachain, polkadot-omni-node binaries.

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

The following crates were updated to the corresponding versions:

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.

[#10082]: approval-distribution: improve test coverage

Add few more test in approval-distribution to improve coverage.

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

[#9731]: simulate rank_to_votes conversion in vote benchmark

Fixes benchmarking failures for the vote extrinsic in pallet-ranked-collective by properly
simulating the rank_to_votes conversion process. Previously used hardcoded vote values
which caused assertion failures when using custom VoteWeight converters (e.g., in
Ambassador Collective configuration). The fix calculates vote weight based on member's actual rank and minimum required rank for the class.

Changelog for Node Operator

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

[#9894]: Adjust statement store configs to hold more data

This PR adjusts the statement store configuration, hardcoded in the networking component of the store, to enable the store to hold greater amounts of data, 2GiB worth of statement data to be exact.

Moreover, the networking config is adjusted to be able to process significantly more statements, as well as preventing the store from gossiping indefinitely after the LRU cache reaches capacity.

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:stable2506-4

or

docker pull parity/polkadot-parachain:stable2506-4

Polkadot stable2506-3

09 Oct 15:17
d9610ff

Choose a tag to compare

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

ℹ️ Please note:

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

The following crates were updated to the corresponding versions:

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.

[#9868]: Fix the deadlock during statements gossiping

During high load the statement store experiences deadlock-like behavior: every second statements were gossiping, locking the index which possibly caused the deadlock. After the fix, the observed behavior no longer occurs.

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

[#9836]: Add remove_by method to statement store runtime interface

The runtime interface for the statement store and the extensions have a new method remove_by that allows removing all statements made by one account. This is useful for cleaning up statements after the allowance given to an account has been revoked.

The actual rust semver is major but we consider the rust semantic experimental until we use it in production.

[#9781]: Limit the number of signals per XCMP page

Right now we have only 2 XCMP signals: SuspendChannel and ResumeChannel and we can write at most 1 per page.

Let's also add a limit when reading the signals in a page. Even if now 1 is enough, since in the future we might add more signals, let's have a limit of 3 per page.

[#9641]: Account for PoV size when enqueing XCMP message

Related to #9630 , but adjusting the benchmark

Using #[benchmark(pov_mode = Measured)] for the enqueue_empty_xcmp_message_at benchmark.

[#9731]: simulate rank_to_votes conversion in vote benchmark

Fixes benchmarking failures for the vote extrinsic in pallet-ranked-collective by properly simulating the rank_to_votes conversion process. Previously used hardcoded vote values which caused assertion failures when using custom VoteWeight converters (e.g., in
Ambassador Collective configuration). The fix calculates vote weight based on member's actual rank and minimum required rank for the class.

Rust compiler versions

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

  • Rust Stable: 1.84.1

Polkadot stable2509

08 Oct 09:28
5ab4013

Choose a tag to compare

This release contains the changes from polkadot-stable2506 to polkadot-stable2509.

ℹ️ Please note:

The node version for this release is: v1.20.0
The tag corresponding to the current release polkadot-stable2509 and matching the old pattern will be available under polkadot-v1.20.0.

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.

[#9044]: Fix regression benchmarks

Updates benchmark thresholds

[#9432]: CumulusDigestItem: Add function to fetch the relay block identifier

This simplifies code paths that are fetching these information from a parachain header.

[#8839]: net/discovery: File persistence for AddrCache

Persisting the AddrCache periodically (every 10 minutes) and on worker shutdown. Read AddrCache from file upon launch of worker.
AddrCache is saved as authority_discovery_addr_cache.json in the folder configured by net_config_path of NetworkConfiguration.
This reduces the time it takes for a node to reconnect to peers after restart.

[#9753]: Fix Aura authorities tracker bug

Fix a bug in the Aura authority tracker that resulted in an improper hash being used as the key for the authority set. As a result, a new authority couldn't be introduced to the set.

[#9868]: Fix the deadlock during statements gossiping

During high load the statement store experiences deadlock-like behavior: every second statements were gossiping, locking the index which possibly caused the deadlock. After the fix, the observed behavior no longer occurs.

[#9309]: Make RecentDisputes/ActiveDisputes use BTreeMap

Make dispute-coordinator forward BTreeMap/BTreeSet to provisioner directly instead of converting it to Vec as before.

[#9128]: Rewrite validator disabling test with zombienet-sdk

Migrate validator disabling test to the new version of zombienet

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

[#9159]: fatxpool: debug levels adjusted

This PR removes redundant debug message and lowers the info about timeout in ready_at.

[#9015]: consensus/grandpa: Fix high number of peer disconnects with invalid justification

A grandpa race-casse has been identified in the versi-net stack around authority set changes, which leads to the following:

  • T0 / Node A: Completes round (15)
  • T1 / Node A: Applies new authority set change and increments the SetID (from 0 to 1)
  • T2 / Node B: Sends Precommit for round (15) with SetID (0) -- previous set ID
  • T3 / Node B: Applies new authority set change and increments the SetID (1)

In this scenario, Node B is not aware at the moment of sending justifications that the Set ID has changed.
The downstream effect is that Node A will not be able to verify the signature of justifications, since a different SetID is taken into account. This will cascade through the sync engine, where the Node B is wrongfully banned and disconnected.

This PR aims to fix the edge-case by making the grandpa resilient to verifying prior setIDs for signatures.
When the signature of the grandpa justification fails to decode, the prior SetID is also verified. If the prior SetID produces a valid signature, then the outdated justification error is propagated through the code (ie SignatureResult::OutdatedSet).

The sync engine will handle the outdated justifications as invalid, but without banning the peer. This leads to increased stability of the network during authority changes, which caused frequent disconnects to versi-net in the past.

Review Notes

Testing Done

  • Deployed the PR to versi-net with 40 validators
  • Prior we have noticed 10/40 validators disconnecting every 15-20 minutes, leading to instability
  • Over past 24h the issue has been mitigated: https://grafana.teleport.parity.io/goto/FPNWlmsHR?orgId=1
  • Note: bootnodes 0 and 1 are currently running outdated versions that do not incorporate this SetID verification improvement

Part of: #8872

[#9287]: network: Upgrade litep2p to v0.10.0

litep2p v0.10.0

This release adds the ability to use system DNS resolver and change Kademlia DNS memory store capacity. It also fixes the Bitswap protocol implementation and correctly handles the dropped notification substreams by unregistering them from the protocol list.

Added

  • kad: Expose memory store configuration (#407)
  • transport: Allow changing DNS resolver config (#384)

Fixed

  • notification: Unregister dropped protocols (#391)
  • bitswap: Fix protocol implementation (#402)
  • transport-manager: stricter supported multiaddress check (#403)

[#8833]: Check artifact integrity before execution

In case of a corrupted artifact, we can find it out before execution and re-prepare the artifact.

[#8973]: Add polkadot_parachain_peer_connectivity metric

Adds polkadot_parachain_peer_connectivity histogram metric to better understand connectivity patterns.

[#9906]: Increase PARENT_SEARCH_DEPTH to 40

Required to support 500ms blocks for parachains using Elastic Scaling.

A chain needs to have the UNINCLUDED_SEGMENT_CAPACITY configured to (2 + RELAY_PARENT_OFFSET) * BLOCK_PROCESSING_VELOCITY + 1.

When a parachain is configured to build 12 blocks per relay parent and the relay parent offset is 1, the required search depth needs to be at least 37.

[#9488]: prdoc: add missing crates bumps

Adds a few crate bumps associated to PRs which missed to bump them due to a corner case missed by the release tooling.

[#8908]: [pvf-worker] Refactor execute request handling

PVF execution worker communication was organized into a single ExecuteRequest struct. This should improve performance: one encode/decode operation instead of four. Also, no more chance of ordering mistakes.

[#9677]: Update elastic scaling documentation

Updated elastic scaling guide. Removes the guide for the MVP version.

[#8596]: fatxpool: limits handling optimizations and fixes

This PR adds some optimization and fixes in handling limits in fork-aware transaction pool.

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

[#8152]: fatxpool: some more integration tests

Some new test cases and improvements of zombienet integration tests for fatxpool.

[#9063]: sp-tracing: Remove test-utils feature

The crate is already exposing testing related features by default, so there is no real need to hide the rest behind some feature. Also because of feature unification, the feature is enabled always in the workspace.

[#8836]: fatxpool: report_invalid is now aync

TransactionPool::report_invalid is now async, function was typically used in async context, seems right to be fully async.

[#8714]: Upgrade wasmtime

This upgrades wasmtime to the latest version and also fixes backtraces for debug builds.

[#9319]: Collation metrics: exclude drops of fork-based collations to improve metrics accuracy

Improves the accuracy of the collation metrics excluding drops of fork-based collations expected by design for lookahead collators.
Metrics are now only sent for collations that were either finalized or dropped.

[#9255]: Fix CandidateDescriptor debug logs

Implement core::fmt::Debug by hand and differentiate the output based on CandidateDescriptorVersion.

[#8646]: emit sparse debug info in unoptimized builds

See [here](https://kobzol.github.io/rust/rustc/2025/05/20/disable-debuginfo-to-improve-rust-compile-times....

Read more

Polkadot stable2509-rc3

02 Oct 09:42
polkadot-stable2509-rc3
1ad266c

Choose a tag to compare

Pre-release

This release contains the changes from polkadot-stable2506 to polkadot-stable2509-rc3.

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

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.

[#9063]: sp-tracing: Remove test-utils feature

The crate is already exposing testing related features by default, so there is no real need to hide the rest behind some feature. Also because of feature unification, the feature is enabled always in the workspace.

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

[#8833]: Check artifact integrity before execution

In case of a corrupted artifact, we can find it out before execution and re-prepare the artifact.

[#8908]: [pvf-worker] Refactor execute request handling

PVF execution worker communication was organized into a single ExecuteRequest struct. This should improve performance: one encode/decode operation instead of four. Also, no more chance of ordering mistakes.

[#9753]: Fix Aura authorities tracker bug

Fix a bug in the Aura authority tracker that resulted in an improper hash being used as the key for the authority set. As a result, a new authority couldn't be introduced to the set.

[#9488]: prdoc: add missing crates bumps

Adds a few crate bumps associated to PRs which missed to bump them due to a corner case missed by the release tooling.

[#8646]: emit sparse debug info in unoptimized builds

See here for more details.

I found that on my host, this reduces cargo build (after cargo clean) from 19m 35s to 17m 50s, or about 10%.

[#9312]: yap-runtime: fixes for GetParachainInfo

This fixes the YAP parachain runtimes in case you encounter a panic in the collator similar to paritytech/zombienet#2050:

Failed to retrieve the parachain id

(which we do have zombienet-sdk tests for here)

[#9262]: Adds support for additional relay state keys in parachain validation data inherent

Adds the possibility for parachain clients to collect additional relay state keys into the validation data inherent.

[#9287]: network: Upgrade litep2p to v0.10.0

litep2p v0.10.0

This release adds the ability to use system DNS resolver and change Kademlia DNS memory store capacity. It also fixes the Bitswap protocol implementation and correctly handles the dropped notification substreams by unregistering them from the protocol list.

Added

  • kad: Expose memory store configuration (#407)
  • transport: Allow changing DNS resolver config (#384)

Fixed

  • notification: Unregister dropped protocols (#391)
  • bitswap: Fix protocol implementation (#402)
  • transport-manager: stricter supported multiaddress check (#403)

[#9159]: fatxpool: debug levels adjusted

This PR removes redundant debug message and lowers the info about timeout in ready_at.

[#8596]: fatxpool: limits handling optimizations and fixes

This PR adds some optimization and fixes in handling limits in fork-aware transaction pool.

[#9059]: Fetch parent block api_version

This is required to ensure that we use the api_version of the runtime that will be used on the relay chain to validate the block. Otherwise the node may thinks the runtime was already upgraded and sends data to the relay chain that can not be decoded by the runtime and thus, the validation fails.

[#9868]: Fix the deadlock during statements gossiping

During high load the statement store experiences deadlock-like behavior: every second statements were gossiping, locking the index which possibly caused the deadlock. After the fix, the observed behavior no longer occurs.

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

[#8828]: [subsystem-bench] Add Dispute Coordinator subsystem benchmark

Adds a subsystem benchmark for the Dispute subsystems

[#8875]: fatxpool: ChainApi is now async

Internal ChainApi is now async_trait, validate_transaction and block_body are now async methods. This is just cleanup - migrating from returning Future to async method'.

[#9319]: Collation metrics: exclude drops of fork-based collations to improve metrics accuracy

Improves the accuracy of the collation metrics excluding drops of fork-based collations expected by design for lookahead collators.
Metrics are now only sent for collations that were either finalized or dropped.

[#8651]: polkadot-omni-node: add GetParachainInfo runtime api

This PR deprecates the para_id field of parachain chain specifications.

  • Both polkadot-omni-node & polkadot-parachain are still supporting the para_id
    field passed via chain specifications, while parachain-template-node supports only runtime API based provided parachain id.
  • This PR also changes minimal-template-runtime to not run anymore with Omni Node.
  • chain-spec-builder still supports generating chain specifications with para_id field.
  • Starting with stable2509 polkadot-parachain/parachain-template-node will generate chain specs that are not compatible
    with prior node versions because para_id field will not be added anymore to the resulting chain specs.

Starting with stable2509 the para_id field of chain specification is not required anymore, and runtime developers will be able
to specify it to nodes by implementing the runtime API cumulus_primitives_core::GetParachainInfo.

Starting with stable2512 the para_id field of chain specification will not be supported anymore by node versions and
chain-spec-builder will drop its support, so it is mandatory for runtimes to implement the GetParachainInfo trait to still be compatible with the nodes.

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

[#9479]: cargo: Use rust-yamux version 0.13.6

This PR updates the litep2p' rust-yamux crate to version 0.13.6.

This version solves the following issue:

0: sp_panic_handler::set::{{closure}}
1: std::panicking::rust_panic_with_hook
2: std::panicking::begin_panic_handler::{{closure}}
3: std::sys::backtrace::__rust_end_short_backtrace
4: rust_begin_unwind
5: core::panicking::panic_fmt
6: core::slice::index::slice_start_index_len_fail::do_panic::runtime
7: core::slice::index::slice_start_index_len_fail
8: <yamux::frame::io::Io as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready
9: yamux::connection::Connection::poll_next_inbound
10: litep2p::transport::websocket::connection::WebSocketConnection::start::{{closure}}
11: <litep2p::transport::websocket::WebSocketTransport as litep2p::transport::Transport>::accept::{{closure}}
12: <tracing_futures::Instrumented as core::future::future::Future>::poll
13: tokio::runtime::task::raw::poll
14: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
15: tokio::runtime::scheduler::multi_thread::worker::run
16: tokio::runtime::task::raw::poll
17: std::sys::backtrace::__rust_begin_short_backtrace
18: core::ops::function::FnOnce::call_once{{vtable.shim}}
19: std::sys::pal::unix::thread::Thread::new::thread_start
20: start_thread
at /build/glibc-FcRMwW/glibc-2.31/nptl/pthread_create.c:477:8
21: clone
at /build/glibc-FcRMwW/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Part of: #9169

[#8923]: fatxpool: fix: remove invalid txs from the dropped stream controller

While testing mortal transaction I encountered exactly the same problem as in #8490.
This PR should fix the problem.

fixes: #8490

[#9044]: Fix regression benchmarks

Updates benchmark thresholds

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

Read more

Polkadot stable2503-10

25 Sep 15:24
f7103db

Choose a tag to compare

This release contains the changes from polkadot-stable2503-9 to polkadot-stable2503-10.

ℹ️ Please note:

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

The following crates were updated to the corresponding versions:

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

[#9544]: Disable reserve_transfer_assets for DOT|KSM|WND|PAS

The reserve_transfer_assets extrinsic on pallet-xcm is also affected by the same issue as transfer_assets.
These extrinsics have been updated to return an error when dealing with DOT|KSM|WND|PAS, effectively disabling them.
We can't afford these extrinsics to be enabled after the Asset Hub Migration (AHM) and risk trapping assets due to chain misconfigurations.
All chains need to update and coordinate with their dapps to move to the alternatives, like transfer_assets_using_type_and_then
or execute.

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.

[#9544]: Disable reserve_transfer_assets for DOT|KSM|WND|PAS

The reserve_transfer_assets extrinsic on pallet-xcm is also affected by the same issue as transfer_assets.
These extrinsics have been updated to return an error when dealing with DOT|KSM|WND|PAS, effectively disabling them.
We can't afford these extrinsics to be enabled after the Asset Hub Migration (AHM) and risk trapping assets due to chain misconfigurations.
All apps should switch to transfer_assets_using_type_and_then or execute.

Rust compiler versions

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

  • Rust Stable: 1.84.1

Polkadot polkadot-stable2412-10

18 Sep 16:37
cd93ba6

Choose a tag to compare

This release contains the changes from polkadot-stable2412-9 to polkadot-stable2412-10.

ℹ️ Please note:

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

The following crates were updated to the corresponding versions:

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.

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

[#9544]: Disable reserve_transfer_assets for DOT|KSM|WND|PAS

The reserve_transfer_assets extrinsic on pallet-xcm is also affected by the same issue as transfer_assets.
These extrinsics have been updated to return an error when dealing with DOT|KSM|WND|PAS, effectively disabling them.
We can't afford these extrinsics to be enabled after the Asset Hub Migration (AHM) and risk trapping assets due
to chain misconfigurations.
All chains need to update and coordinate with their dapps to move to the alternatives, like transfer_assets_using_type_and_then
or execute.

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.

[#9544]: Disable reserve_transfer_assets for DOT|KSM|WND|PAS

The reserve_transfer_assets extrinsic on pallet-xcm is also affected by the same issue as transfer_assets.
These extrinsics have been updated to return an error when dealing with DOT|KSM|WND|PAS, effectively disabling them.
We can't afford these extrinsics to be enabled after the Asset Hub Migration (AHM) and risk trapping assets due
to chain misconfigurations.
All apps should switch to transfer_assets_using_type_and_then or execute.

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 stable2409-12

11 Sep 14:44
a5e56d3

Choose a tag to compare

This release contains the changes from polkadot-stable2409-11 to polkadot-stable2409-12.

ℹ️ Please note:

⚠️ This is the final patch release for the 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 stable2409 release has reached the end of its life cycle and will no longer be supported. To continue receiving updates, please upgrade to a newer stable version.

The tag corresponding to the current patch release polkadot-stable2409-12 and matching the old pattern will be available under polkadot-v1.16.12.

The following crates were updated to the corresponding versions:

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

[#9544]: Disable reserve_transfer_assets for DOT|KSM|WND|PAS

The reserve_transfer_assets extrinsic on pallet-xcm is also affected by the same issue as transfer_assets.
These extrinsics have been updated to return an error when dealing with DOT|KSM|WND|PAS, effectively disabling them.
We can't afford these extrinsics to be enabled after the Asset Hub Migration (AHM) and risk trapping assets due to chain misconfigurations.
All chains need to update and coordinate with their dapps to move to the alternatives, like transfer_assets_using_type_and_then
or execute.

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.

[#9544]: Disable reserve_transfer_assets for DOT|KSM|WND|PAS

The reserve_transfer_assets extrinsic on pallet-xcm is also affected by the same issue as transfer_assets.
These extrinsics have been updated to return an error when dealing with DOT|KSM|WND|PAS, effectively disabling them.
We can't afford these extrinsics to be enabled after the Asset Hub Migration (AHM) and risk trapping assets due to chain misconfigurations.
All apps should switch to transfer_assets_using_type_and_then or execute.

Rust compiler versions

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

  • Rust Stable: "1.81.0"