Polkadot Node Update (polkadot-v1.21.1) — a simple guide

Polkadot Node Update (polkadot-v1.21.1) — a simple guide

By NOWNodes | NOWNodes | 13 Feb 2026


We’ve updated our Polkadot infrastructure to polkadot-stable2512-1 (polkadot-v1.21.1), so you can already enjoy the latest fixes and improvements. This patch release brings smoother networking (including more stable WebSockets), better visibility for transaction behavior in edge cases, and a set of runtime upgrades focused on reliability and security. Connect as usual — everything is live and ready for you to use.

1) Improvements for node/client developers 

A. Better insight into “what happened to my transaction?”

A change adds a new experimental metric that tracks every time a transaction shows up as “InBlock” — not just the first time.

Why is that useful?
Sometimes the chain temporarily reorganizes (a fork resolves), and a transaction can appear in more than one block during that process. The new metric helps teams see that behavior clearly, which is useful for monitoring reliability and building better “confidence” signals.

B. More stable WebSocket connections

The node’s peer-to-peer library (litep2p) was upgraded. This brings fixes that specifically improve WebSocket stability, including avoiding failures during a sensitive handshake/negotiation stage.

2) Runtime improvements (changes to chain rules / pallets)

Runtime changes matter because they affect how the chain behaves at the protocol level. Here are the main points, explained simply:

A. “pallet-revive” changes were backported (to avoid a downgrade later)

Polkadot backported changes to pallet-revive so that a future runtime upgrade won’t accidentally feel like a step backward compared to work already done elsewhere.

Keeping features consistent so the next upgrade doesn’t regress.

B. Asset conversion got broader compatibility (V3 → V5 conversions)

Asset versions can differ across systems. This change adds support for converting asset formats (V3 to V5) in a matching step used by localPay.

Assets “translate” between versions more smoothly, so payments and matching work in more cases.

C. A DoS risk was reduced by charging “weight” for heavy operations

Some built-in cryptographic helpers (precompiles like sr25519_verify and ecdsa_to_eth_address) were missing proper “weight charges.”

Why that matters:
If heavy computations are free (or under-priced), attackers can spam them and overload the network.

Expensive actions now have an appropriate cost — making spam attacks harder.

D. Benchmarking fixes (more accurate performance measurement)

There are several changes that improve benchmarking accuracy:

  • Removing noisy timing artifacts (“timing leaks”) caused by huge setup operations

  • Making certain weights depend on real parameters (like how many “reserves” are set), not worst-case guesses


Performance measurements become more trustworthy, so fees/limits can be tuned more correctly.

E. Stricter withdrawal validation in asset-conversion payments

Validation logic was updated to only accept a clean success case (instead of permissive “would die / reduced to zero” outcomes) so it matches the strict rules the runtime actually enforces.


Payment checks now match the real rules — fewer edge-case mismatches.

F. Fix for “force_reserve” in pallet-broker (coretime issue)

A bug could cause a parachain to temporarily lose reserved “coretime” for one region due to how sale rotations overwrite unused cores. The fix tracks force-reserved cores properly so they aren’t overwritten.

Reserved resources won’t accidentally disappear during a rotation cycle.

G. BlockRatioFee no longer depends on pallet-revive

This is a “cleanup” improvement: a fee formula type can now be used without requiring pallet-revive just for type discovery.


More modular runtime building — fewer unnecessary dependencies.

E. New “pallet-dap” foundation (Dynamic Allocation Pool) and fewer burns

A new pallet (pallet-dap) was introduced as a foundation for routing certain funds (like slashes) into a buffer account instead of burning them.
Additionally, treasury “burns” were disabled in some runtimes by setting the burn parameter to zero — meaning funds aren’t automatically destroyed at the end of spend periods.

Less automatic token burning in those environments; slashed funds can be redirected rather than erased (depending on configuration).

3) User-facing runtime changes

A. “Unslashable nominators” with faster unbonding (configurable)

Nominators can now be configured as “unslashable,” and if they are, they can use a faster unbonding time (recommended: 2 eras).

 Some nominators may be allowed to unstake faster, if the chain config enables it.

B. Multi-asset bounties added to Westend Asset Hub testnet runtime

Multi-asset bounties become available in the Westend Asset Hub runtime (testnet context).

 On that testnet environment, bounties can work with more than one asset type.

Final takeaway

This patch release is a “small but important” update:

  • more stable networking (especially WebSockets),
  • better transaction tracking during reorgs,
  • runtime fixes that reduce attack surface and improve correctness,
  • some staking/user improvements depending on chain config.

If you’re already on stable2512, upgrading to stable2512-1 (polkadot-v1.21.1) is the sensible maintenance step.

How do you rate this article?

11


NOWNodes
NOWNodes

Leading node infra provider. Access 99+ blockchain networks via Node and Blockbook APIs. Create websocket connections and develop with zero rate limits.


NOWNodes
NOWNodes

Full RPC Nodes & Block Explorers. 99+ most popular blockchain networks supported. We provide educational content on blockchain development for beginners and experienced community members. 👉 nownodes.io 👈 Besides, we do provide free API for up to 100,000 requests. Drop us a line to get yours.

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.