Releases: paritytech/polkadot-sdk
Polkadot v1.2.0
This release contains the changes from polkadot-v1.1.0
to polkadot-v1.2.0
.
Rust compiler versions
This release was built and tested against the following versions of rustc.
Other versions may work.
Rust Stable: rustc 1.70.0 (90c541806 2023-05-31)
Rust Nightly: rustc 1.71.0-nightly (8b4b20836 2023-05-22)
Runtimes
Westend
ποΈ Runtime size: 1.387 MB (1,454,255 bytes)
π Compressed: Yes, 79.32%
β¨ Reserved meta: OK - [6D, 65, 74, 61]
π Metadata version: V14
π₯ Core version: westend-102000 (parity-westend-0.tx23.au2)
π³οΈ system.setCode hash: 0x58359d263826dc6332c718e00496f210a99a0c03f9cd686d6cb4abc8514f16eb
π³οΈ authorizeUpgrade hash: 0xdc4ed9c3b8ae89e82aaa863c26dc696d5b6b05f594f1c3e0124fb1b763fa5767
π³οΈ Blake2-256 hash: 0x00d4b588ae36b2af6364aa77b07247e77f567f2dbd4a1fd1aa89bf76c544c850
π¦ IPFS: https://www.ipfs.io/ipfs/QmYMkV6D11Rstpc8vLai33mg7vzbNxZU39yJSVk1GoBTvJ
Rococo
ποΈ Runtime size: 1.383 MB (1,449,992 bytes)
π Compressed: Yes, 79.82%
β¨ Reserved meta: OK - [6D, 65, 74, 61]
π Metadata version: V14
π₯ Core version: rococo-102000 (parity-rococo-v2.0-0.tx23.au0)
π³οΈ system.setCode hash: 0x46a9785335a3638728572364ace72acdf4cf9a929362b51b4686bed9049e50f4
π³οΈ authorizeUpgrade hash: 0x8930eba7ce43f897e583ce534c010561cd0ee14cad1fe078c7e0cc95c67fd720
π³οΈ Blake2-256 hash: 0xc35b645e975ce356e4ff36a0342344142826130a18ac76ef5edee88aa6a52fb3
π¦ IPFS: https://www.ipfs.io/ipfs/Qmb1sVoQBA3AKRLZCm2xDrK2sv3oqRxJugpvSWzqbkbCbi
Changes
Node & Polkadot
- Make the node version independent of the crate version (@bkchr #1495) [Node]
- wasm-builder: Disable building when running on docs.rs (@bkchr #1540) [Node]
- Report
tracing_unbounded
channel size to prometheus (@dmitry-markin #1489) [Node] - Introduce
default-members
to the workspace root (@s0me0ne-unkn0wn #1420) [Node] - Allow to broadcast network messages in parallel (@vstakhov #1409) [Node]
- Executor: Remove
LegacyInstanceReuse
strategy (@yjhmelody #1486) [Node] - Use 'into_inner' for WeakBoundedVec (@davxy #1664) [Node]
- Allow justifications on non-finalized blocks (@nazar-pc #1211) [Node]
- Fix the wasm runtime substitute caching bug (@rimbi #1416) [Node]
- Disable runtime logging for benchmarks (@ggwpez #1463) [Node]
- Refactor availability-recovery strategies (@alindima #1457) [Node]
- Bandersnatch tweaks after backend update (@davxy #1482) [Node]
BlockId
removal:tx-pool
refactor (@michalkucharczyk #1678) [Node]- fix: export-genesis-state command (@Moliholy #1521) [Node]
- Use sp_std Vec in no-std crate (@davxy #1471) [Node]
- Modular block request handler (@rahulksnv #1524) [Node]
- remove unused
keystore_uri
(@yjhmelody #1421) [Node] - Revert #1409 partially (@vstakhov #1603) [Node]
- Babe epoch newtype (@davxy #1596) [Node]
- Remove deprecated
pallet_balances
'sset_balance_deprecated
andtransfer
dispatchables (@juangirini #1226) [Polkadot] - Add Method to Establish HRMP Channels Among System Parachains (@joepetrowski #1473) [Polkadot]
- allow governance body on parachain to have sovereign account (@xlc #1291) [Polkadot]
- Remove redundant book keeping in dispute coordinator. (@eskimor #1432) [Polkadot]
- "Common good" vs "System" parachain clean up (@bkontur #1406) [Polkadot]
- Remove
SafeCallFilter
from Relay Runtimes (@ggwpez #1303) [Polkadot] - Fix nothing scheduled on session boundary (@eskimor #1403) [Polkadot]
- Forgotten
polkadot-core-primitives/std
(@bkontur #1440) [Polkadot] - Remove Polkadot & Kusama native runtime (@bkchr #1304) [Polkadot]
- Migrate polkadot-primitives to v6 & enable async backing on Rococo and Westend (@slumber #1543) [Polkadot]
- Disable Calls to Identity Pallet (@joepetrowski #1476) [Polkadot]
- Delete staking miner (@ggwpez #1480) [Polkadot]
Frame & Pallets
- Implements a variable deposit base calculation for EPM signed submissions (@gpestana #1547) [Frame]
- Associated type Hasher for
QueryPreimage
,StorePreimage
andBounded
(@muraca #1720) [Frame] - Add tolerance to nom pool pending rewards try-state (@liamaharon #1236) [Frame]
- Consideration (abstraction over storage deposits) (@gavofyork #1361) [Frame]
- asset-rate pallet: box asset kind parameter (@muharem #1545) [Frame]
- Include
bitvec
instd
for Broker Pallet (@joepetrowski #1558) [Frame] - Stabilize
VersionedMigration
(@liamaharon #1503) [Frame] - pallet-beefy-mmr: better logging on BEEFY key to ETH address conversion (@acatangiu #1520) [Pallets]
- Staking: Add
dest
toRewarded
to aid in reward calculations (@rossbulat #1602) [Pallets] - frame/beefy: add privileged call to reset BEEFY consensus (@acatangiu #1534) [Pallets]
- pallet epm: add
TrimmingStatus
to the mined solution (@niklasad1 #1659) [Pallets] - Update HRMP pallet benchmarking to use benchmarks v2 (@seadanda #1676) [Pallets]
- FRAME: Revamp Preimage pallet to use Consideration (@gavofyork #1363) [Pallets]
- Preimage: Check that at least one is upgraded (@gavofyork #1648) [Pallets]
- Added
xcmp_queue_send_xcm_works
test (@bkontur #1422) [Pallets] - contracts: Run start function (@athei #1367) [Pallets]
Tests, Benchmarks & Documentation
- zombienet: use another collator image for the slashing test (@ordian #1386) [Tests]
- pallet asset-conversion additional quote tests (@gilescope #1371) [Tests]
- add tests for
find_potential_parents
(@slumber #1338) [Tests] - Inclusions struct unit tests (@Overkillus #1518) [Tests]
- Inclusion pruning tweaks (@Overkillus #1550) [Tests]
- Retire puppet workers (@s0me0ne-unkn0wn #1449) [Tests]
- Allow debug_assertions in short-benchmarks CI job (@seadanda #1711) [Benchmarks]
- Adds base benchmark for do_tick in broker pallet (@gupnik #1235) [Benchmarks]
- update
genesis_config
related docs and tests and error messages (@kianenigma #1642) [Documentation] - Example pallet crate and Basic Example pallet (@sacha-l #1546) [Documentation]
- Fix minor typos and file name in contributing docs (@seadanda #1651) [Documentation]
- docs / Update PR template to reflect monorepo (@gilescope #1674) [Documentation]
- Timestamp pallet (@sacha-l #1435) [Documentation]
- RuntimeCode: doc fixed (@michalkucharczyk #1461) [Documentation]
XCM, Bridges & Misc
- xcm-builder: PayOverXcm supports fallible convertors for asset kind and beneficiary conversion (@muharem #1572) [XCM]
- [xcm_builder]: Do not consume
msg
onNotApplicable
for remote exporters (@bkontur #1519) [XCM] - Uncoupling pallet-xcm from frame-system's RuntimeCall (@arrudagates #1684) [XCM]
- XCM: Deprecate old functions (@gavofyork #1645) [XCM]
- Update bridges subtree (@serban300 #1392) [Bridges]
- genesis-builder: implemented for all runtimes (@michalkucharczyk #1492) [Runtime-API]
- archive: Fetch body, genesisHash and header (@lexnv #1560) [RPC]
- lookahead collator: read allowed ancestry len from relay client (@slumber #1180)
- chainHead/storage: Fix storage iteration using the query key (@lexnv #1665)
Parachains & Cumulus
- lookahead collator: only build on top of scheduled relay parents (@slumber #1429) [Cumulus]
- Replace free for all collation in
cumulus
runtimes (@georgepisaltu #1251) [Parachains] - Handle
CollationSeconded
Logs Conditionally (@BradleyOlson64 #1475) [Parachains] - Additional logging for
dispute-coordinator
(@tdimitrov #1494) [Parachains] - Enable
runtime-benchmarks
feature for crates (@muharem #1544) [Cumulus] - Fix code duplication in tests (@tdimitrov #1575) [Parachains]
- The Ambassador Program (@muharem #1308) [System-Parachains]
Polkadot v1.1.0
This release contains the changes from v1.0.0
to v1.1.0
.
Monorepo
The 3 repositories substrate, polkadot and cumulus have now been merged as a single monorepo: polkadot-sdk.
You can find more details about this here.
The previous versions can be found at:
Rust compiler versions
This release was built and tested against the following versions of rustc
.
Other versions may work.
- Rust Stable: rustc 1.70.0 (90c541806 2023-05-31)
- Rust Nightly: rustc 1.71.0-nightly (8b4b20836 2023-05-22)
Special notes
BEEFY on Kusama
BEEFY
has been enabled on Westend
and Kusama
, although at the moment does not also support warp sync.
Attempting to Warp sync as a validator on Kusama
(and Westend
) will throw an error.
If experiencing stability issues caused by BEEFY
, it can be disabled using --no-beefy
flag.
This change does not affect Polkadot
, as BEEFY
is not yet enabled for Polkadot
.
Staking-miner
The staking-miner
has been removed from this release. The new staking-miner
can be found in the staking-miner-v2
repository.
Removal of the Polkadot native features
If you want to run your node with polkadot-dev
as chain, you will need to compile your node with --features polkadot-native
. In the future the support for polkadot-dev
or kusama-dev
will be removed completely.
polkadot
binary split
The polkadot
binary is being split up into multiple binaries instead of a single polkadot
binary.
More details are described in this PR. There are additional polkadot-prepare-worker
and polkadot-execute-worker
binaries placed in the same directory as the main polkadot
binary. Nothing regarding CLI flags or the way the polkadot binary gets run changes, these executables are just separated out and need to be accessible and on the same versions as the main polkadot
binary.
This likely requires people to update their automation like ansible scripting. The provided docker images already contain all the required binaries.
New Docker base image
The Docker image for Polkadot is now based on ubuntu:22.04
. It was ubuntu:20.04
until now.
The default user also changed from polkadot
(home in /polkadot
) to parity
(home in /parity
).
Changes
Node / Polkadot
- Fix the wasm runtime substitute caching bug (#1416)
- feat: add futures api to
TransactionPool
(#1348) - Ensure cumulus/bridges is ignored by formatter and run it (#1369)
- Fix wrong ref counting (#1358)
- Use bandersnatch-vrfs with locked dependencies ref (#1342)
- Rename
polkadot-parachain
topolkadot-parachain-primitives
(#1334) - Sassafras primitives (#1249)
- sc-consensus-beefy: reuse instead of recreate GossipEngine (#1262)
- Cli: disallow BEEFY and warp sync together (paritytech/polkadot#7661)
- Allow integrated relay chain light client (paritytech/cumulus#2270)
- Add BEEFY capabilities to Westend and Kusama (paritytech/polkadot#7591)
- Asynchronous Backing (paritytech/polkadot#5022)
- Set
StateBackend::Transaction
toPrefixedMemoryDB
(paritytech/substrate#14612) - Deprecate
try-runtime
subcommand and direct users to standalone cli (paritytech/substrate#14731) - Bandersnatch VRF (paritytech/substrate#14412)
- Make
claim_slot
take&mut self
(#1225) - Get rid of
Peerset
compatibility layer (paritytech/substrate#14337) - Companion for Polkadot#7337 (paritytech/cumulus#2929)
- WasmExecutor flag to ignore onchain heappages value (paritytech/substrate#14508)
- Removal of execution strategies (paritytech/substrate#14387)
- approval-voting: use proper hash when querying session info (#1387)
- PVF: Take back a stolen right (#1207)
- Fix polkadot-node-core-pvf-prepare-worker build with jemalloc (#1315)
- backing: move the min votes threshold to the runtime (#1200)
- add Treasurer to SchedulerOrigin (#1325)
- Use cached session index to obtain executor params (#1190)
- Peer_store: log warn on disconnecting because of reputation (#1299)
- Separate Polkadot binary into
polkadot
,polkadot-execute-worker
andpolkadot-prepare-worker
(paritytech/polkadot#7337)
XCM
- Enforce a decoding limit in MultiAssets (#1395)
- Add environmental variable to track decoded instructions (#1320)
- Put
GetWeight
where it belongs (#1212) - Add instruction limit when decoding XCMs (#1227)
Runtime
- Rename
VersionedRuntimeUpgrade
toVersionedMigration
(#1187) - Relax genesis config to not require
Default
impl (#1221)] - Restructure
dispatch
macro related exports (#1162) - Renames API (#1186)
- Frame: Agile Coretime Broker pallet (RFC-1) (paritytech/substrate#14568)
- [FRAME Core] New pallets:
safe-mode
andtx-pause
(paritytech/substrate#12092) - Restructure
frame_benchmarking
macro related exports (paritytech/substrate#14787) - Contracts: Update Config::Debug (paritytech/substrate#14789)
- Restructure
frame_support
macro related exports (paritytech/substrate#14745) - contracts: Expose environment types for offchain tooling (paritytech/substrate#14750)
- fix try-on-runtime-upgrade return weight (paritytech/substrate#14793)
- Added Asset Conversion in Kusama (paritytech/cumulus#2935)
- Contracts remove deposit accounts (paritytech/substrate#14589)
- migration: unlock/unreserve Gov v1 balances and remove kvs (paritytech/polkadot#7314)
- Polkadot gets topic-based message IDs (paritytech/polkadot#7301)
- [Polkadot] 28 days as conviction voting period (paritytech/polkadot#7595)
- Improve
storage_alias
and makeUnlockAndUnreserveAllFunds
independent of the pallet (paritytech/substrate#14773) - fix set-metadata safecall inconsistencies (paritytech/cumulus#2952)
- Change the Config of the MaxRococoNum Slot from a Constant to a Storage function (paritytech/polkadot#7217)
- add
frame_system::DefaultConfig
to individual palletDefaultConfigs
(paritytech/substrate#14453) - Pallets: Treasury deprecate
propose_spend
dispatchable (paritytech/substrate#14538) - Polkadot parachains get topic-based message IDs (paritytech/cumulus#2642)
- Companion for substrate#12970 (paritytech/polkadot#6807)
- [NPoS] Implements dynamic number of nominators (paritytech/substrate#12970)
- Remove deprecated old weight items (paritytech/substrate#14706)
- Cross-contract calling: simple debugger (paritytech/substrate#14678)
- CountedNMap implementation (paritytech/substrate#10621)
- Contracts migrate to fungible traits (paritytech/substrate#14020)
- [FRAME] Remove V1 Module Syntax (paritytech/substrate#14685)
- Contracts Add deposit for dependencies (paritytech/substrate#14079)
- Changes to nfts pallet for xcm integration (paritytech/substrate#14395)
- We count the teleported assets (paritytech/polkadot#7528)
- Introduce Pallet
paged-list
(paritytech/substrate#14120) - Change Fixed to WeightInfoBounds for Polkadot (paritytech/polkadot#7077)
WeightMeter
: more consistent naming (paritytech/substrate#14586)- Run
integrity_test
in Externalities (paritytech/substrate#14546) - Put HRMP Channel Management on General Admin Track (paritytech/polkadot#7477)
- Replace system config
Index
forNonce
(paritytech/substrate#14290) - Moves
Block
toframe_system
instead ofconstruct_runtime
and removesHeader
andBlockNumber
(paritytech/cumulus#2790, paritytech/polkadot#7431, paritytech/substrate#14437) GenesisBuild<T,I>
deprecated.BuildGenesisConfig
added. (paritytech/substrate#14306)- Adds ability to provide defaults for types provided by
construct_runtime
(#14682) - Contracts: Update read_sandbox (#1390)
- RFC 14: Improve locking mechanism for parachains (#1290)
API
- change HashFor to HashingFor (paritytech/substrate#14483)
RPC
- chainSpec: Stabilize chainSpec methods to V1 (#1206)
- chainHead: Add support for storage pagination and cancellation (paritytech/substrate#14755)
- chainHead: Produce method responses on
chainHead_follow
(paritytech/substrate#14692) - chainHead_storage: Backport queries for value types (https://github.com/paritytech/substrate/pu...