github paritytech/polkadot-sdk polkadot-v1.13.0
Polkadot v1.13.0

latest release: v1.14.0-rc1
18 days ago

This release contains the changes from polkadot-v1.12.0 to polkadot-v1.13.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.

[#4431]: Statement-Distribution validator disabling changes

In preparation for launching re-enabling (#2418), we need to adjust the disabling strategy of statement-distribution to use the relay parent's state instead of the latest state (union of active leaves). This will also ensure no raciness of getting the latest state vs accepting statements from disabling validators at the cost of being more lenient/potentially accepting more statements from disabled validators.

[#4410]: [sc-chain-spec] Remove deprecated code

The RuntimeGenesisConfig generic type parameter was removed from GenericChainSpec struct.
ChainSpec::from_genesis method was removed.
Removed related deprecated code from sc-chain-spec.
This change simplifies the codebase and ensures the use of up-to-date definitions.

[#4555]: Move para_id to MockValidationDataInherentDataProvider

This moves the para_id from MockXcmConfig to MockValidationDataInherentDataProvider to make it more prominent. The para_id should be set to the parachain id of the parachain that gets mocked to ensure that the relay chain storage proof is setup correctly etc.

[#4595]: Remove elastic-scaling-experimental feature flag

The feature was masking the ability of collators to respond with CollationWithParentHeadData to validator collation fetch requests, a requirement for elastic scaling.
Please note that CollationWithParentHeadData is only sent by collators of parachains with multiple cores assigned, otherwise collators must respond with CollationFetchingResponse::Collation

[#1644]: Add availability-recovery from systematic chunks

Implements polkadot-fellows/RFCs#47 and adds the logic for availability recovery from systematic chunks.
The /req_chunk/1 req-response protocol is now considered deprecated in favour of /req_chunk/2. Systematic recovery is guarded by a configuration bit in the runtime (bit with index 2 of the node_features field from the HostConfiguration) and must not be enabled until all (or almost all) validators have upgraded to the node version that includes this PR.

[#4471]: Remove prospective-parachains subsystem from collator nodes

Removes the prospective-parachains subsystem from collators. The GetMinimumRelayParents of the implicit view is replaced by direct ChainAPI and runtime calls. The subsystem was causing performance problems when collating connected to an RPC node, due to the high number of runtime API calls, which were unneccessary for a collator.

[#4198]: Replace Multiaddr & related types with substrate-specific types

Introduce custom types / substrate wrappers for Multiaddr, multiaddr::Protocol, Multihash, ed25519::* and supplementary еypes like errors and iterators.
Common code in substrate uses these custom types, while libp2p & litep2p network backends use their corresponding libraries types.
This is needed to independently upgrade libp2p & litep2p dependencies.

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

[#3935]: Introduce Polkadot-SDK umbrella crate

Introduces a new "umbrella" crate that re-exports all published crates of the Polkadot-SDK.
This helps developers to select a valid set of versions for all underlying dependencies.

You can now use this create and remove lots of dependencies from your runtime and node crates.
The staging-node-cli and kitchensink-runtime both adopt this pattern as an example.

Full docs in docs/sdk/src/reference_docs/umbrella_crate.rs.

[#4646]: [Identity] Remove double encoding username signature payload

The signature payload for setting a username for an account in pallet-identity is now just the raw bytes of said username (still including the suffix), removing the need to first encode these bytes before signing.

[#4510]: [Contracts] Remove internal topic index

This PR removes topics from internal events emitted by pallet_contracts. It does not touch the deposit_event host function used by
smart contracts that can still include topics.
Event topics incurs significant Storage costs, and are only used by light clients to index events and avoid downloading the entire block.
They are not used by Dapp or Indexers that download the whole block anyway.

[#4392]: Remove pallet::getter usage from both bounties and child bounties pallet

This PR removes pallet::getters from pallet-bounties and pallet-child-bounties.
The syntax StorageItem::<T, I>::get() should be used instead.

[#4444]: Rococo AH: cleanup storage

Remove old storage that is left over in the Rococo AH storage.

[#4514]: Removed pallet::getter usage from pallet-fast-unstake

This PR removed the pallet::getters from pallet-fast-unstake.
The syntax StorageItem::<T, I>::get() should be used instead.

[#3952]: Storage bound the XCMP queue pallet

Enforce upper limits for the number of active XCMP channels, the number of outgoing XCMP messages per channel and the number of signals per channel.

Integration

If you see this error in your try-runtime-cli:

Max message size for channel is too large. 
This means that the V5 migration can be front-run and an attacker could place a large message just right before the migration to make other messages un-decodable.
Please either increase `MaxPageSize` or decrease the `max_message_size` for this channel. 
Channel max: 102400, MaxPageSize: 65535

Then increase the MaxPageSize of the cumulus_pallet_xcmp_queue to something like this:

type MaxPageSize = ConstU32<{ 103 * 1024 }>;

[#4380]: Remove parametrized-consensus-hook feature

parametrized-consensus-hook feature is obsolete and is removed by this PR. The long-deprecated CheckInherents trait is set to be removed by September 2024.

[#4465]: Bridge: added force_set_pallet_state call to pallet-bridge-grandpa

Added force_set_pallet_state to the pallet-bridge-grandpa. It is only callable by the root (governance or sudo) and may be used to update current authorities set and the best finalized header without any additional checks.

[#3905]: Allows Nomination Pool to use different staking strategies including a new DelegateStake strategy.

This PR introduces a new staking strategy called DelegateStake. This strategy allows the nomination pool to delegate its stake to a validator, that is, funds are locked in user account itself instead of being transferred to the pool account. Includes migration of pools to this strategy for Westend.

[#4274]: Introduce CheckMetadataHash signed extension

Introduces the new CheckMetadataHash signed extension. This extension can be added to a runtime to support verifying the metadata hash as described in RFC78.
This removes the requirement for having a metadata portal and in general a centralized authentication of the metadata. With this signed extension the runtime is able to verify that the metadata used by the wallet was correct. This is mainly useful for offline wallets which users need to trust any way, not that useful for online wallets.

There is a guide generate_metadata_hash for how to integrate this into a runtime that should make it quite easy to integrate the signed extension.

[#4472]: Remove pallet::getter usage from pallet-democracy

This PR removes the pallet::getters from pallet-democracy.
The syntax StorageItem::<T, I>::get() should be used instead.

[#4634]: Implement XcmPaymentApi and DryRunApi on all system parachains

The new XcmPaymentApi and DryRunApi have been implement on all westend and rococo system parachains.
These can be used to build UIs that estimate XCM execution and sending, using libraries like PAPI or PJS.

[#4233]: [pallet_contracts] Update Host fn benchnmarks

Update how the host functions are benchmarked.
Instead of benchnarking a contract that calls the host functions, we now benchmark the host functions directly.

[#4249]: Moves runtime macro out of experimental flag

Now that the runtime macro (Construct Runtime V2) has been successfully deployed on Westend, this PR moves it out of the experimental feature flag and makes it generally available for runtime devs.

[#4475]: Deprecate dmp-queue pallet

Schedule the DMP queue pallet for deletion. It is not needed anymore sine #1246.

[#4521]: AdaptPrice trait is now price controlled

The broker pallet price adaptation interface is changed to be less opinionated and more information is made available to the AdaptPrice trait. A new example impl is included which adapts the price based not on the number of cores sold, but rather on the price that was achieved during the sale to mitigate a potential price manipulation vector. More information here: #4360

[#4571]: Ignore mandatory extrinsics in total PoV size check

The CheckWeight extension is checking that extrinsic length and used storage proof weight together do not exceed the PoV size limit. This lead to problems when the PoV size was already reached before mandatory extrinsics were applied.The CheckWeight extension will now allow extrinsics of DispatchClass::Mandatory to be applied even if the limit is reached.

[#4478]: Snowbridge - Ethereum Client - Reject finalized updates without a sync committee in next store period

Bug fix in the Ethereum light client that stalls the light client when an update in the next sync committee period is received without receiving the next sync committee update in the next period.

[#4131]: Deprecate XCMv2

XCMv2 has been deprecated. It will be removed when XCMv5 is released.
Use version 3 or 4 instead.

[#4621]: Change XcmDryRunApi::dry_run_extrinsic to take a call instead

The XcmDryRunApi::dry_run_extrinsic function was replaced by XcmDryRunApi::dry_run_call.
This new function takes an origin (OriginCaller, the encodable inner variant) and a call instead of an extrinsic.
This was needed to not require the user signing twice, once for the dry-run and a second time to actually submit the extrinsic.
Additionally, calls can now be dry-run for different accounts.
The implementation for this runtime API is now simpler, being call.dispatch(origin.into()) instead of using the Executive.

[#4645]: make all storage items in parachain-system public

All storage items in cumulus-pallet-parachain-systemare now public. This allows the usage of these storage items from within other runtime-pallets or the runtime itself. For instance, it should allow to read the latests relay state proof to read a certain well-known-key.

Changelog for Node Operator

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

[#4541]: Remove warning about BadCertificate Version 2

The node was printing the following warning from time to time:

Sending fatal alert BadCertificate

This is not an user error and thus, the warning will now not be printed anymore.

[#4533]: Fixed RPC subscriptions leak when subscription stream is finished

The node may leak RPC subscriptions in some cases, e.g. during author_submitAndWatchExtrinsic calls. This PR fixes the issue.

[#4595]: Remove elastic-scaling-experimental feature flag

This change enables elastic scaling support in collators. Please upgrade to latest version, otherwise validator nodes will not be able to back elastic parachain blocks leading to missed rewards.

[#4542]: Adds ability to specify chain type in chain-spec-builder

Currently, chain-spec-builder only creates a spec with Live chain type. This PR adds the ability to specify it while keeping the same default.

[#1644]: Add availability-recovery from systematic chunks

Implements polkadot-fellows/RFCs#47. This optimisation is guarded by a configuration bit in the runtime and will only be enabled once a supermajority of the validators have upgraded to this version.
It's strongly advised to upgrade to this version.

[#4721]: Skip tree route calculation if no forks present

Fixes an issue with synchronisation on parachains. Once they reached the tip of the chain, nodes would show Preparing 0.0 bps. This is shown because the node is blocked on calculating the tree route from genesis to the tip of the chain many times. This PR solves that by skipping tree route calculation if there is only one leave. In addition, further optimizations have been done to alleviate long finalization distances.

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.

[#4534]: Add Extra Check in Primary Username Setter

Setting primary usernames requires an additional verification.

[#4503]: Patch pool to handle extra consumer ref when destroying.

An erroneous consumer reference on the pool account is preventing pools from being destroyed. This patch removes the extra reference if it exists when the pool account is destroyed.

[#4646]: [Identity] Remove double encoding username signature payload

The signature payload for setting a username for an account in pallet-identity is now just the raw bytes of said username (still including the suffix), removing the need to first encode these bytes before signing.

[#4274]: Introduce CheckMetadataHash signed extension

This brings support for the new Ledger app and similar hardware wallets. These hardware wallets will be able to decode the transaction using the metadata. The runtime will ensure that the metadata used for this decoding process is correct and that the online
wallet did not tried to trick you.

[#4634]: Implement XcmPaymentApi and DryRunApi on all system parachains

The new XcmPaymentApi and DryRunApi have been implement on all westend and rococo system parachains.
You can test them out.

[#3393]: Add MaxRank Config to pallet-core-fellowship

This PR adds a new Config MaxRank to the core fellowship pallet. Initially, the maximum rank was set to IX (Grand Master) on the core-fellowship pallet, corresponding to the establishment of the Technical Fellowship and setting the default member count to nine. However, with the introduction of new collectives, this maximum rank is expected to evolve.

[#4339]: Improving on_demand_assigner emitted events

Registering OnDemandOrderPlaced event that is useful for indexers to save data related to on demand orders. Adds SpotPriceSet as a new event to monitor on-demand spot prices. It updates whenever the price changes due to traffic.

[#4418]: [pallet_contracts] Add READ_ONLY flag to contract call function

This PR implements the READ_ONLY flag to be used as a Callflag in the contract call function.
The flag indicates that the callee is restricted from modifying the state during call execution.
It is equivalent to Ethereum's STATICCALL.

[#4537]: Runtime apis to help with delegate-stake based Nomination Pools.

Introduces a new set of runtime apis to facilitate dapps and wallets to integrate with delegate-stake functionalities of Nomination Pools. These apis support pool and member migration, as well as lazy application of pending slashes of the pool members.

[#4521]: AdaptPrice trait is now price controlled

The price controller of the Rococo and Westend Coretime chain will be adjusted with this release. This will very likely be used in the
fellowship production runtime to have a much larger leadin. This fixes a price manipulation issue we discovered with the Kusama launch.

[#4131]: Deprecate XCMv2

XCMv2 has been deprecated. It will be removed when XCMv5 is released.
Use version 3 or 4 instead.

[#4621]: Change XcmDryRunApi::dry_run_extrinsic to take a call instead

The XcmDryRunApi now dry-run calls instead of extrinsics.
This means it's possible to dry-run an extrinsic before signing it, allowing for seamless dry-running in dapps.
Additionally, calls can now be dry-run for different accounts.

Rust compiler versions

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

  • Rust Stable: "1.77.0"

Runtimes

The information about the runtimes included in this release can be found below.
The runtimes have been built using srtool v0.15.0 and rustc 1.77.0 (aedd173a2 2024-03-17).

Rococo

🏋️ Runtime Size:          1.85 MB (1940025 bytes)
🔥 Core Version:          rococo-1013000 (parity-rococo-v2.0-0.tx26.au0)
🗜 Compressed:            Yes: 78.77%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x4fc2f78361819e76535461db7c9ecd6102425610e4ca4ebeef0fe66cbb7a4899
🗳️ authorizeUpgrade hash: 0xd0dbfb445038fbadfc71aafbe2219d917f270446e8f08d2c6dc30237b31380af
🗳️ Blake2-256 hash:       0x9e2ef9def2d1deae663a0f42447115abf02af9ef3d2775e5a05a403cc4e82bb5
📦 IPFS:                  QmauLvX5xjWqRkdsTZFHo56CW5CZrHGsjc3T4SFosDJjRb

Rococo Assethub

🏋️ Runtime Size:          1.32 MB (1384465 bytes)
🔥 Core Version:          statemine-1013000 (statemine-0.tx16.au1)
🗜 Compressed:            Yes: 80.14%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x3fa4fbbd2f68ba09354d196f9140e0403939941949e9a09a07e04769cda06652
🗳️ authorizeUpgrade hash: 0x1de2858c083ef295ef0b487776aed2abd671aafe61b1f3279f1db60c969291d4
🗳️ Blake2-256 hash:       0x54d5f3b61b601eedd3d4866e1a9047426bf17ad5be28455adf79eef15c3b80ab
📦 IPFS:                  QmZVMw3KHunpW3xWYVw8YbiKVasQNN3eqWK5dkjXzuKvEC

Rococo Bridgehub

🏋️ Runtime Size:          1.35 MB (1420727 bytes)
🔥 Core Version:          bridge-hub-rococo-1013000 (bridge-hub-rococo-0.tx5.au1)
🗜 Compressed:            Yes: 78.11%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0xb6246b2e01b06c9d71f128ebbec6df5fd7d37924d2811f2a7a8e285078e704f6
🗳️ authorizeUpgrade hash: 0x779604b4b1005718955db5a16ca87e7278930011f059656560979cd001472e6a
🗳️ Blake2-256 hash:       0xc84179bbcc8ec7c3b5309677fda2dca6ad8e57e3ff7dec2dc621d0b6e390ec3c
📦 IPFS:                  QmXu2XcZN4rDxv9cA5fZiVaHtQnmzBmhNF4pTzQy7HAbuP

Rococo Contracts

🏋️ Runtime Size:          1.27 MB (1327995 bytes)
🔥 Core Version:          contracts-rococo-1013000 (contracts-rococo-0.tx7.au1)
🗜 Compressed:            Yes: 79.54%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x842993994b07ac78fd304f1b41eb0d7a3c25f938f910476a5c34a33863d36c15
🗳️ authorizeUpgrade hash: 0xb2312b4f21075e33c5fe8a8909ecf200a1bff5b67c987195be3318614267c2d7
🗳️ Blake2-256 hash:       0x447646ca204267443e02e0d3261382ac943cd3b8beec174010b2ce5d476b21e6
📦 IPFS:                  QmacHcVMRiyEjNp4j8d6rvY3AdYJza8Y4yQMSEDaopqnPT

Rococo Coretime

🏋️ Runtime Size:          1016.36 kB (1040757 bytes)
🔥 Core Version:          coretime-rococo-1013000 (coretime-rococo-0.tx1.au1)
🗜 Compressed:            Yes: 78.78%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x1c9d128567ee6e8e3d23a9296df3cb5a6bcaf4af2b6d6e318d0288e559a40101
🗳️ authorizeUpgrade hash: 0x2c55c97838bf338a504e1bc7e3e84ef3ee59babcd860d78afd47833cfa687228
🗳️ Blake2-256 hash:       0x961ca182225b46608982c0cc29f6e85cbb186ac3aeefb4f4dfd0144a340b71ec
📦 IPFS:                  QmQwyw5qk34kurfnhzYVcPff8g6wmZoa35VtB2x6SPDtui

Rococo People

🏋️ Runtime Size:          1004.00 kB (1028100 bytes)
🔥 Core Version:          people-rococo-1013000 (people-rococo-0.tx1.au1)
🗜 Compressed:            Yes: 78.72%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x5f2b60cd14c0f7da34c9cce22be2e7ebf6d501932b01ec1c5dbbbb5a669f4b89
🗳️ authorizeUpgrade hash: 0xfc027b3147889c6e78b3a22d9746adf55100bc419ab68f3c7c8706911409832b
🗳️ Blake2-256 hash:       0x2d954e8d116bc83142b4c7a57576192c525394b3cb76064b033f1f3c632ec680
📦 IPFS:                  QmZCMdU1gWSTsYpmHxjbntXxUJPiH8pHQrfkJwgPFW4J91

Westend

🏋️ Runtime Size:          1.81 MB (1900429 bytes)
🔥 Core Version:          westend-1013000 (parity-westend-0.tx26.au2)
🗜 Compressed:            Yes: 79%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x2318c8aabc961ea84fe609c7d3b774d5e47de47f4f2046e7512fab876cb47893
🗳️ authorizeUpgrade hash: 0x3d22058e2f025f6c9d0e07ab65fa76244cc8be8f95b28c3a06cece47ef4c184a
🗳️ Blake2-256 hash:       0x5a698e68b9f214a1a18cd90ea7c8bf86dc027230099a38217b71b23cb0181bb2
📦 IPFS:                  QmbR56akWRfhsWrzKiSAGGYP8XGbLXdRtL8tNLpynHE6Hk

Westend Assethub

🏋️ Runtime Size:          1.35 MB (1416190 bytes)
🔥 Core Version:          westmint-1013000 (westmint-0.tx16.au1)
🗜 Compressed:            Yes: 80.13%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x5c6d68dc3a471baf282d79b6affb488b44b85acff0824f7f6025f41ff28bfca0
🗳️ authorizeUpgrade hash: 0xec787dc077b1ed3ef521310c22ac80235395b17cbaeccef19ec609aefd14bcb3
🗳️ Blake2-256 hash:       0x477be279fc5bd3f19e05959cbfd6a8d38b30db5240737edfa0139b401ce705b4
📦 IPFS:                  QmNjnyWJdV6hJ6R832u1QmMuJvx1pnWb8v1Vd1XovrwKNF

Westend Bridgehub

🏋️ Runtime Size:          1.07 MB (1125320 bytes)
🔥 Core Version:          bridge-hub-westend-1013000 (bridge-hub-westend-0.tx5.au1)
🗜 Compressed:            Yes: 78.4%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0xa6694e1242aafc0296f75df0f3326dc06fc09a5038fb36fa1a18b63d26b20e9e
🗳️ authorizeUpgrade hash: 0x1bfc3b640819832d3fb0048bbd5d63ca6acd17fc9b523ed3dfb89c65e95f1f33
🗳️ Blake2-256 hash:       0xbb667c7302e119f8f7942305bee17cb6a6eb67773d98587ec3509e6781385596
📦 IPFS:                  QmNTgm2d3gWdUnLvV3QNY8ayrTmiqEJwHMhRMFhE9LrASy

Westend Collectives

🏋️ Runtime Size:          1.17 MB (1230894 bytes)
🔥 Core Version:          collectives-westend-1013000 (collectives-westend-0.tx6.au1)
🗜 Compressed:            Yes: 79.72%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x7717bc32268957d5e7374328495562addac334bde9443d62cadefafb83f91b7d
🗳️ authorizeUpgrade hash: 0xf3334181826cd0604dc29534a7ca7e865635dc5ff72d86f085075950469bdcbe
🗳️ Blake2-256 hash:       0xf8803186efda29e70f3197d2d8a2bbe468c4f56e4988b16e46508dfab20f94ec
📦 IPFS:                  QmcDvG541QizwqTu93ZSH69UCKmKKrSGKkwbWmz2h6DMWk

Westend Coretime

🏋️ Runtime Size:          1011.67 kB (1035946 bytes)
🔥 Core Version:          coretime-westend-1013000 (coretime-westend-0.tx1.au1)
🗜 Compressed:            Yes: 78.6%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x4eb2e0c24ef995e1c3912d3c57b1f2f14c88c731798c83595c5e0323c29774dc
🗳️ authorizeUpgrade hash: 0xcf38b0abee0500cd86bc1d71bbb689c81c92548d3ce31c0f84143b1d0dcd5a1e
🗳️ Blake2-256 hash:       0x347aa78dd538ad26b87334b62d1da323cb27d08b5a34bc195c0a640e235840b7
📦 IPFS:                  QmYdLXoooTiQSFpZ6yrKbT9uGAUfbnVqxx837ckCiFVern

Westend Glutton

🏋️ Runtime Size:          591.43 kB (605629 bytes)
🔥 Core Version:          glutton-westend-1013000 (glutton-westend-0.tx1.au1)
🗜 Compressed:            Yes: 76.44%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x7289cb0c7f13b97a37eb5e16d0ae8b0e7407ea9cd72ffb115156f64be29703e0
🗳️ authorizeUpgrade hash: 0xd12823eed2390a3312d199fc55275a5e98be0f0ad93ae87aa8f731aa7fd17cb7
🗳️ Blake2-256 hash:       0x6fd70964f68ae4ed5ed3ef308f20e26eab57d1963059f34d9bc3f14f619f7bf7
📦 IPFS:                  QmSVNBE8froU8BpDc5EpW2RbG7Pp762y1Ld2HEv8U4PrLf

Westend People

🏋️ Runtime Size:          1005.19 kB (1029311 bytes)
🔥 Core Version:          people-westend-1013000 (people-westend-0.tx1.au1)
🗜 Compressed:            Yes: 78.7%
🎁 Metadata version:      V14
🗳️ system.setCode hash:   0x9b8485d5e5ca70db7331c05fe8574baced116c3881b2fb3d2614d13115f3091a
🗳️ authorizeUpgrade hash: 0xff06a6cb8622451258d1c85cf55da801cb2a35159e90de9935e8373ebdc253cf
🗳️ Blake2-256 hash:       0xf95cbf7f1fce1acf599244c374d33ee9557411bd145d79b3ac916dfa037d9524
📦 IPFS:                  QmZjy6TxwiX5AFP77cFCQBnKwHQp2tA42GATQDGYnHytr3

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

or

docker pull parity/polkadot-parachain:latest

Don't miss a new polkadot-sdk release

NewReleases is sending notifications on new releases.