Skip to content

Preparation for Release 2.1.0#1065

Merged
fellowship-merge-bot[bot] merged 125 commits intopolkadot-fellows:mainfrom
sigurpol:sigurpol-release-2_0_6
Feb 20, 2026
Merged

Preparation for Release 2.1.0#1065
fellowship-merge-bot[bot] merged 125 commits intopolkadot-fellows:mainfrom
sigurpol:sigurpol-release-2_0_6

Conversation

@sigurpol
Copy link
Copy Markdown
Contributor

@sigurpol sigurpol commented Jan 26, 2026

🚨🚨🚨 THIS IS NOT THE FINAL RELEASE PR 🚨🚨🚨

This branch aims to prepare Release 2.1.0 for Polkadot (see release tracker), which is expected to land on chain no later than March 14th. We will release on Kusama 1 week before.

Notables changes that will be merged after this PR is merged:

Main content of this PR:

Some of key changes:

  • Upgrade SDK to stable2512 (currently stable2512-2-rc1
  • Introduction of the first version of DAP pallet
  • All staking changes needed for DAP phase 1: session keys on AH, nominator fast-unbondanble and not slashable via config, no more treasury burns, slash burns redirected to DAP. All these changes are Polkadot-only

Notes

In retrospect, this PR should have solely focused on bumping the SDK to 2512. The scope became excessive, and I apologize for this.

TODO:

In the scope of this PR:

  • review breaking changes coming with the bump to sdk 2512
  • re-run benchmarks also for pallet_staking_async and pallet_staking_async_rc_client (brand new on KAH and PAH!)

After this PR is merged and before creating 2.1.0 release PR, we also still want the following PRs to land:

  • @acatangiu 's PR: Full integration of SDK #9948 in fellowship runtimes for 2.1.0 release
  • @dhirajs0's PR to support multi assets bounties

pandres95 and others added 23 commits October 9, 2025 10:24
I bumped the encointer-pallets to the polkadot-unstable-202509. However,
I could not fully verify if it is correct, as the workspace still has
other errors. The cargo.lock shows some dedupes for the encointer
dependencies though, which is a positive sign.
@clangenb there are a couple of Encointer errors:

```
error[E0599]: no function or associated item named `convert` found for struct `EncointerBalanceConverter` in the current scope
   --> /Users/claravanstaden/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/pallet-encointer-balances-20.2.1/src/impl_fungibles.rs:27:29
    |
27  |     EncointerBalanceConverter::convert(balance)
    |                                ^^^^^^^ function or associated item not found in `EncointerBalanceConverter`
    |
note: there are multiple different versions of crate `sp_runtime` in the dependency graph
```

---------

Co-authored-by: Rodrigo Quelhas <22591718+RomarQ@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Ron <yrong1997@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Dónal Murray <donalm@seadanda.dev>
Co-authored-by: Adrian Catangiu <adrian@parity.io>
This PR fixes the dependency mess that we still have in the update
branch.

The issues with encointer's dependencies was that we only introduced
patch bumps for the stable202509 upgrade to keep being aligned with the
polkadot-sdk releases (we messed up the rhythm, as the unstable branch
was a major release for us). The patch bump did not propagate to our
innermost dependencies in the lock file, as it was deemed compatible
with the ones explicitly defined in the root toml.

So this PR fixes (I believe all) of the duplicate substrate dependencies
by running

1.  `cargo update -p encointer-crates-at-wrong-version`
2. `psvm --version polkadot-stable2509-1`
# Conflicts:
#	CHANGELOG.md
#	Cargo.lock
#	Cargo.toml
#	relay/kusama/src/lib.rs
#	relay/polkadot/src/lib.rs
#	system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs
#	system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs
#	system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs
#	system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_signed.rs
#	system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_unsigned.rs
#	system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_verifier.rs
#	system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs
#	system-parachains/bridge-hubs/bridge-hub-kusama/src/lib.rs
#	system-parachains/bridge-hubs/bridge-hub-polkadot/src/lib.rs
#	system-parachains/collectives/collectives-polkadot/src/lib.rs
#	system-parachains/coretime/coretime-kusama/src/lib.rs
#	system-parachains/coretime/coretime-polkadot/src/lib.rs
#	system-parachains/encointer/src/lib.rs
#	system-parachains/gluttons/glutton-kusama/src/lib.rs
#	system-parachains/people/people-kusama/src/lib.rs
#	system-parachains/people/people-polkadot/src/lib.rs
# Conflicts:
#	Cargo.lock
#	Cargo.toml
Merging main into the upgrade branch has messed up the dependencies
again.

This PR fixes them by:
* cargo update -p encointer-pallets-at-wrong-version
* Fixing the staking dependency that was accidentally downgraded in the
Cargo.toml
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This PR bumps all the crates to stable2512, and bumps the encointer
crates to the corresponding v21 major version.

Additionally, I have:
- [x] Applied all fixes necessary for the encointer runtime
- [x] Fixed the unit tests for the encointer runtime

I will verify the following later after the other runtimes have been
fixed to work with stable2515
* Check encointer integration-tests and fix if necessary
…fellows#1059)

Updated Cargo.toml and Cargo.lock with the following version changes
from SDK 2512-1-rc1:

| Crate | Old | New |
| :--- | :--- | :--- |
| frame-support | 45.0.0 | 45.1.0 |
| frame-benchmarking | 45.0.0 | 45.0.1 |
| frame-executive | 45.0.0 | 45.0.1 |
| pallet-assets | 48.0.0 | 48.1.0 |
| pallet-asset-conversion-tx-payment | 27.0.0 | 27.0.1 |
| pallet-broker | 0.24.0 | 0.24.1 |
| pallet-nomination-pools | 43.0.0 | 43.0.1 |
| pallet-revive | 0.12.0 | 0.12.2 |
| pallet-staking-async | 0.8.0 | 0.9.0 |
| sp-staking | 42.0.0 | 42.1.0 |
| assets-common | 0.27.0 | 0.27.1 |
| emulated-integration-tests-common | 27.0.0 | 27.0.1 |
| parachains-common | 27.0.0 | 27.1.0 |
| substrate-wasm-builder | 31.0.0 | 31.1.0 |
…-kusama compilation for SDK 2512-1-rc1 (polkadot-fellows#1062)

## SDK 2512-1 API Changes Applied:
Runtime APIs (all runtimes):
- execute_block(block: Block) → execute_block(block: <Block as
BlockT>::LazyBlock)
- check_inherents(block: Block, ...) → check_inherents(block: <Block as
BlockT>::LazyBlock, ...)
- query_delivery_fees(dest, msg) → query_delivery_fees(dest, msg,
asset_id: VersionedAssetId) + AssetExchanger
- dry_run_xcm::<Runtime, Router, Call, Config>(...) →
dry_run_xcm::<Router>(...)
pallet_assets (asset-hubs, people-polkadot):
- Added type ReserveData = ();
- Added BenchmarkHelper::create_reserve_id_parameter() stub
- Added set_reserves() weight stub
pallet_election_provider_multi_block (asset-hubs):
- Renamed manage() → manage_fallback()
- Added admin_set() weight stub
Relay chains (polkadot, kusama):
- Updated vstaging API functions to use parachains_runtime_api_impl
- Changed generate_ancestry_proof return type to
mmr::AncestryProof<mmr::Hash>
bridge-hub-polkadot (Snowbridge):
- Updated MessageToXcm v2: 10 → 8 generic params
- Added CreateAssetCallInfo struct with set_reserves_call
- Added AggregateMessageOrigin and OnNewCommitment config items
Weight stubs (all runtimes):
 - cumulus_pallet_xcmp_queue::take_first_concatenated_xcm(_n: u32) 


##  Benchmarks to regenerate post-merge:   
 ```bash
/cmd bench --runtime asset-hub-polkadot --pallet pallet_assets
pallet_staking_async pallet_election_provider_multi_block
/cmd bench --runtime asset-hub-kusama --pallet pallet_assets
pallet_staking_async pallet_election_provider_multi_block
/cmd bench --runtime people-polkadot --pallet pallet_assets
 ```

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Clara van Staden <claravanstaden64@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: fellowship-merge-bot[bot] <151052383+fellowship-merge-bot[bot]@users.noreply.github.com>
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Xiliang Chen <xlchen1291@gmail.com>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
Co-authored-by: Alexandru Gheorghe <49718502+alexggh@users.noreply.github.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Tom <tsenseless@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Dónal Murray <donal.murray@parity.io>
Co-authored-by: clangenb <37865735+clangenb@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Dhiraj Sah <dhiraj@parity.io>
Co-authored-by: Torsten Stüber <15174476+TorstenStueber@users.noreply.github.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
Co-authored-by: Ankan <ankan.anurag@gmail.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
Co-authored-by: polka.dom <polkadotdom@gmail.com>
Co-authored-by: Andrii <ndk@parity.io>
Co-authored-by: Yuri Volkov <0@mcornholio.ru>
Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
Co-authored-by: Muharem <ismailov.m.h@gmail.com>
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
Co-authored-by: Pablo Andrés Dorado Suárez <hola@pablodorado.com>
Co-authored-by: ordian <write@reusable.software>
Co-authored-by: Alistair Singh <alistair.singh7@gmail.com>
Co-authored-by: Sergej Sakac <73715684+Szegoo@users.noreply.github.com>
Co-authored-by: Serban Iorga <serban@parity.io>
Co-authored-by: Nikolai Kozlov <1431590+nkpar@users.noreply.github.com>
Co-authored-by: nkprt <nikolai@parity.io>
Co-authored-by: Eugenio Paluello <eugypalu@gmail.com>
Co-authored-by: Giuseppe Re <giuseppe.re@parity.io>
Co-authored-by: Javier Viola <363911+pepoviola@users.noreply.github.com>
Co-authored-by: Karol Kokoszka <karol.k91@gmail.com>
Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com>
Co-authored-by: Dónal Murray <donalm@seadanda.dev>
Co-authored-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: Alexandre Baldé <alexandre.balde@parity.io>
Co-authored-by: Maksym H <1177472+mordamax@users.noreply.github.com>
Co-authored-by: Alin Dima <alin@parity.io>
Co-authored-by: Christian Langenbacher <clangenb+gh@protonmail.ch>
Co-authored-by: Karol Kokoszka <karol@parity.io>
Co-authored-by: brenzi <brenzi@users.noreply.github.com>
Co-authored-by: Doordashcon <jesse.chejieh@gmail.com>
Co-authored-by: eskimor <eskimor@users.noreply.github.com>
Co-authored-by: Robert <robert@gonimo.com>
Co-authored-by: Raymond Cheung <178801527+raymondkfcheung@users.noreply.github.com>
Co-authored-by: Maciej <kz_sky@outlook.com>
Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Ron <yrong1997@gmail.com>
Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Clara van Staden <claravanstaden64@gmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: fellowship-merge-bot[bot] <151052383+fellowship-merge-bot[bot]@users.noreply.github.com>
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Xiliang Chen <xlchen1291@gmail.com>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
Co-authored-by: Alexandru Gheorghe <49718502+alexggh@users.noreply.github.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Tom <tsenseless@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Dónal Murray <donal.murray@parity.io>
Co-authored-by: clangenb <37865735+clangenb@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Dhiraj Sah <dhiraj@parity.io>
Co-authored-by: Torsten Stüber <15174476+TorstenStueber@users.noreply.github.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
Co-authored-by: Ankan <ankan.anurag@gmail.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
Co-authored-by: polka.dom <polkadotdom@gmail.com>
Co-authored-by: Andrii <ndk@parity.io>
Co-authored-by: Yuri Volkov <0@mcornholio.ru>
Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
Co-authored-by: Muharem <ismailov.m.h@gmail.com>
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
Co-authored-by: Pablo Andrés Dorado Suárez <hola@pablodorado.com>
Co-authored-by: ordian <write@reusable.software>
Co-authored-by: Alistair Singh <alistair.singh7@gmail.com>
Co-authored-by: Sergej Sakac <73715684+Szegoo@users.noreply.github.com>
Co-authored-by: Serban Iorga <serban@parity.io>
Co-authored-by: Nikolai Kozlov <1431590+nkpar@users.noreply.github.com>
Co-authored-by: nkprt <nikolai@parity.io>
Co-authored-by: Eugenio Paluello <eugypalu@gmail.com>
Co-authored-by: Giuseppe Re <giuseppe.re@parity.io>
Co-authored-by: Javier Viola <363911+pepoviola@users.noreply.github.com>
Co-authored-by: Karol Kokoszka <karol.k91@gmail.com>
Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com>
Co-authored-by: Dónal Murray <donalm@seadanda.dev>
Co-authored-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: Alexandre Baldé <alexandre.balde@parity.io>
Co-authored-by: Maksym H <1177472+mordamax@users.noreply.github.com>
Co-authored-by: Alin Dima <alin@parity.io>
Co-authored-by: Christian Langenbacher <clangenb+gh@protonmail.ch>
Co-authored-by: Karol Kokoszka <karol@parity.io>
Co-authored-by: brenzi <brenzi@users.noreply.github.com>
Co-authored-by: Doordashcon <jesse.chejieh@gmail.com>
Co-authored-by: eskimor <eskimor@users.noreply.github.com>
Co-authored-by: Robert <robert@gonimo.com>
Co-authored-by: Raymond Cheung <178801527+raymondkfcheung@users.noreply.github.com>
Co-authored-by: Maciej <kz_sky@outlook.com>
Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Ron <yrong1997@gmail.com>
@sigurpol
Copy link
Copy Markdown
Contributor Author

cc @claravanstaden @clangenb @PolkadotDom @brenzi @acatangiu @ggwpez @kianenigma - thanks again for the work in #951

@sigurpol sigurpol mentioned this pull request Jan 26, 2026
2 tasks
@sigurpol
Copy link
Copy Markdown
Contributor Author

@franciscoaguirre thanks for the review of #1062 - this has been merged into current sigurpol-release-2_0_6 branch and changes are part of this PR. Feel free to drop any further comment / request for change / contribution here from now on

@ggwpez ggwpez moved this from Todo to In Progress in Runtime releases Jan 26, 2026
@sigurpol
Copy link
Copy Markdown
Contributor Author

@sigurpol would be great to get in our fix PR (if not possible, I can target it to main after this is merged - hoping to get it into the next release): sigurpol#7 it includes one state migration, hence the minor bump in pallet-encointer-democracy, not just a patch bump

we'll get it in as follow-up PR (this PR doesn't release, just a step there) - getting this PR across the finish line is the priority now, not adding anything extra to it

100% agree!

2 breaking changes master PET doesn't account for:
1. extra param in set_staking_config about nominator unslashable
2. now we emit an event on proxy removal
Copy link
Copy Markdown
Member

@ggwpez ggwpez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

% CHANGELOG and the spec versions

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
@ggwpez
Copy link
Copy Markdown
Member

ggwpez commented Feb 20, 2026

/merge

@fellowship-merge-bot fellowship-merge-bot bot enabled auto-merge (squash) February 20, 2026 17:13
@fellowship-merge-bot
Copy link
Copy Markdown
Contributor

Enabled auto-merge in Pull Request

Available commands
  • /merge: Enables auto-merge for Pull Request
  • /merge cancel: Cancels auto-merge for Pull Request
  • /merge help: Shows this menu

For more information see the documentation

@fellowship-merge-bot fellowship-merge-bot bot merged commit 985df25 into polkadot-fellows:main Feb 20, 2026
59 of 80 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Runtime releases Feb 20, 2026
@ggwpez ggwpez mentioned this pull request Feb 20, 2026
1 task
fellowship-merge-bot bot added a commit that referenced this pull request Feb 24, 2026
#1065 introduced
changes to runtimes that PET needs to handle for tests to not fail
spuriously; this PR changes its branch to point to the `test.yml`
repository to avoid spurious failures.

The branch is based on [this
PR](open-web3-stack/polkadot-ecosystem-tests#524)
by @sigurpol that updates PET to handle the changes to
`pallet-staking/palletproxy`.

- [x] Does not require a CHANGELOG entry

Co-authored-by: fellowship-merge-bot[bot] <151052383+fellowship-merge-bot[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to paritytech/polkadot-sdk that referenced this pull request Apr 3, 2026
The benchmark failed depending on `MaxAutoRebagPerBlock` (e.g. it passes
with 10 as configured in Westend, Polkadot and Kusama AH runtime but it
failed with 5, as it was configured before, see [runtime
PR](polkadot-fellows/runtimes#1065)).

Replace the bulk `on_idle` benchmark with a per-item `on_idle_rebag`
benchmark that measures the worst-case cost of a single rebag. `on_idle`
now consumes weight per iteration via `WeightMeter` instead of reserving
a single bulk weight upfront.
This decouples the benchmark from `MaxAutoRebagPerBlock`. Changing the
config no longer requires re-running benchmarks.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.