polkadot-v1.14.0
版本发布时间: 2024-07-02 21:55:50
paritytech/polkadot-sdk最新发布版本:polkadot-stable2407-2(2024-09-02 20:28:40)
This release contains the changes from polkadot-v1.13.0
to polkadot-v1.14.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.
[#4724]: Fix core sharing and make use of scheduling_lookahead during backing
Core sharing (two or more parachains scheduled on the same core with interlaced assignments) was not working correctly.
Adds the neccessary fixes to the backing subsystems. Moreover, adds support for backing collations which are built and advertised ahead of time (with up to scheduling_lookahead
relay chain blocks in advance).
[#4833]: Reinitialize should allow to override existing config in collationGeneration
The Reinitialize collationGeneration subsystem message currently fails if no other config is already set. As it is difficult to query the collationGeneration subsystem to check when to call Initialize or Reinitialize, this PR proposes that Reinitialize overrides the configuration regardless if there was one already set.
[#4730]: rpc upgrade jsonrpsee to v0.23.1
Upgrade the rpc library jsonrpsee to v0.23.1 to utilize:
- Add Extensions which we now is using to get the connection id (used by the rpc spec v2)
- Update hyper to v1.0, http v1.0, soketto and related crates (hyper::service::make_service_fn is removed)
- The subscription API for the client is modified to know why a subscription was closed.
[#4618]: Unify logic for fetching the :code
of a block
Client::code_at
will now use the same substitute
to determine the code for a given block as it is done when executing any runtime call.
[#4844]: Make Verifier::verify
and BlockImport::check_block
use &self
instead of &mut self
Verifier::verify
and BlockImport::check_block
were refactored to use &self
instead of &mut self
because there is no fundamental requirement for those operations to be exclusive in nature.
[#4733]: Add pov-recovery unit tests and support for elastic scaling
Adds unit tests for cumulus pov-recovery and support for elastic scaling (recovering multiple candidates in a single relay chain block).
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).)
[#3940]: RFC-5: Add request revenue info
Partially implemented RFC-5 in terms of revenue requests and notifications
[#3679]: [pallet-contracts] bump wasmi to 0.32
- Bump wasmi to 0.32
- Turn on lazy and unchecked compilation when calling a contract. See https://docs.rs/wasmi/0.32.0/wasmi/enum.CompilationMode.html#variant.Lazy See https://docs.rs/wasmi/0.32.0/wasmi/struct.Module.html#method.new_unchecked See https://wasmi-labs.github.io/blog/posts/wasmi-v0.32 for more details, on the wasmi update.
[#4831]: treasury pallet: - remove unused config parameters
Remove unused config parameters ApproveOrigin
and OnSlash
from the treasury pallet.
Add OnSlash
config parameter to the bounties and tips pallets.
[#3843]: Introduce a new dispatchable function set_partial_params
in pallet-core-fellowship
This PR adds a new dispatchable function set_partial_params
to update config with multiple arguments without duplicating the
fields that does not need to update.
[#4769]: Use real rust type for pallet alias in runtime
macro
This PR adds the ability to use a real rust type for pallet alias in the new runtime
macro:
#[runtime::pallet_index(0)]
pub type System = frame_system::Pallet<Runtime>;
Please note that the current syntax still continues to be supported.
[#4684]: Refactor of the parachain template
Introduce the construct runtime V2 to the parachain template runtime. In addition, url links in the parachain pallet template now direct to the polkadot sdk docs.
[#3951]: Pallet Assets Freezer
This pallet is an extension of pallet-assets
, supporting freezes similar to pallet-balances
.
To use this pallet, set Freezer
of pallet-assets
Config to the according instance of pallet-assets-freezer
.
[#4757]: pallet assets: optional auto-increment for the asset ID
Introduce an optional auto-increment setup for the IDs of new assets.
[#4807]: pallet ranked collective: max member count per rank
Configuration for the maximum member count per rank, with the option for no limit.
[#4596]: Frame: Consideration
trait generic over Footprint
and handles zero cost
Consideration
trait generic over Footprint
and can handle zero cost for a give footprint.
Consideration
trait is generic over Footprint
(currently defined over the type with the same name). This makes it possible to setup a custom footprint (e.g. current number of proposals in the storage).
Consideration::new
and Consideration::update
return an Option<Self>
instead Self
, this make it possible to define no cost for a specific footprint (e.g. current number of proposals in the storage < max_proposal_count / 2).
[#4710]: Dont partially modify HRMP pages
The xcmp-queue pallet now does not partially modify a page anymore when the next message does not fully fit into it but instead cleanly creates a new one.
[#4765]: CheckWeight - account for extrinsic len as proof size
This changes how CheckWeight extension works. It will now account for the extrinsic length as proof size. When on_idle
is called, the remaining weight parameter reflects this.
[#4513]: Removed pallet::getter
usage from pallet-elections-phragmen
This PR removed the pallet::getter
s from pallet-elections-phragmen
.
The syntax StorageItem::<T, I>::get()
should be used instead.
[#4865]: Implement trait ContainsLengthBound
for pallet-membership
Implement trait ContainsLengthBound for pallet membership otherwise we can't use it with pallet-tips without wrapper
[#4857]: [xcm] runtime api for LocationToAccount conversions
Introduces a new runtime API to help with conversions of XCM Location
to the runtime's AccountId
, showing an Ss58 formatted address for easier verification.
Besides that, the xcm-fee-payment-runtime-api
module was merged into the new xcm-runtime-apis
.
If you are using the xcm-fee-payment-runtime-api
dependency, you just need to change it to xcm-runtime-apis
and update the imports from use xcm_fee_payment_runtime_api::*
to use xcm_runtime_apis::*
.
[#4756]: Do not make pallet-nfts benchmarks signature-dependent
- Adds extra functionality to pallet-nfts's BenchmarkHelper to provide signers and sign message.
- Abstracts away the explicit link with Sr25519 schema in the benchmarks, allowing parachains with a different one to be able to run them and calculate the weights.
- Adds a default implementation for the empty tuple that leaves the code equivalent.
[#3828]: [FRAME] Remove storage migration type
Introduce migration type to remove data associated with a specific storage of a pallet.
[#3374]: removed pallet::getter
from pallet-timestamp
This PR removes all the pallet::getter
usages from pallet-timestamp
, and updates depdendant runtimes accordingly.
The syntax StorageItem::<T, I>::get()
should be used instead.
Changelog for Node Operator
ℹ️ These changes are relevant to: Those who don't write any code and only run code.
[#4662]: Cleanup PVF artifact by cache limit and stale time
Extend the PVF artifacts cleanup strategy. Previously, we pruned artifacts that were stale more than 24 hours. After this change we attempt pruning artifacts only when they reach the 10 GB cache limit. If the least used artifact is stale less than 24 hours we don't remove it.
[#4685]: Chain-spec-builder supports codeSubstitutes
.
A new subcommand add-code-substitute
is available for the chain-spec-builder
binary. It allows users to provide a runtime that should be used from a given block onwards. The codeSubstitutes
field in the chain spec is used to force usage of a given runtime at a given block until the next runtime upgrade. It can be used to progress chains that are stalled due to runtime bugs that prevent block-building. However, parachain usage is only possible in combination with an updated validation function on the relay chain.
[#4618]: Unify logic for fetching the :code
of a block
Fixes an issue on parachains when running with a custom substitute
of the on chain wasm code and having replaced the wasm code on the relay chain. The relay chain was rejecting blocks build this way, because the collator was reporting the actual on chain wasm code hash to the relay chain. However, the relay chain was expecting the code hash of the wasm code substitute that was also registered on the relay chain.
[#4802]: Add health/readiness endpoint
to the rpc server
Add /health/readiness endpoint
to the rpc server which returns HTTP status code 200 if the chain is synced and can connect to the rest of the network otherwise status code 500 is returned.
The endpoint can be reached by performing a HTTP GET request to the endpoint such as $ curl <endpoint>/health/readiness
[#4799]: network: Upgrade litep2p
to v0.6.0
This PR brings the latest litep2p
v0.6.0 to polkadot-sdk with stability improvements, security fixes, and performance optimizations.
Specifically:
- Incoming DHT records are now validated also with experimental litep2p network backend.
- Performance of TCP & WebSocket connections improved by setting
TCP_NODELAY
flag. - Stability of secondary connection establishment improved.
- Multiple possible panics in litep2p library eliminated.
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.
[#3940]: RFC-5: Add request revenue info
Instantaneous Coretime sold on the relay chain now generates revenue for its provider. The revenue may be claimed by its provider on the Coretime chain.
[#4877]: Core-Fellowship: new promote_fast call
Adds the ability to quickly promote someone within a collective by bypassing the promotion cooldown. This can help in special situations and comes with a new origin: FastPromoteOrigin
.
[#4823]: pallet-referenda
: Ensure to schedule referendas earliest at the next block
Ensure that referendas are scheduled earliest at the next block when they are enacted. Otherwise the scheduling may fails and thus, the enactment of the referenda.
[#3820]: Remove deprecated calls from treasury pallet
This PR remove deprecated calls, relevant tests from pallet-treasury
.
- Remove deprecated calls
propose_spend
,reject_proposal
,approve_proposal
. - Replace the code flow of
propose_spend
thenapprove_proposal
withspend_local
- Remove deprecated calls' related weight functions and test cases.
- Remove deprecated parameter types: ProposalBond, ProposalBondMaximum, ProposalBondMinimum
- Remove pallet treasury's relevant deprecated code in pallet-tips, pallet-bounties and pallet-child-bounties
[#4691]: Fix claim queue size
Ensure claim queue size is always the number configured by scheduler_params.lookahead
. Previously the claim queue of a core was shortened by 1 if the core was occupied.
[#3951]: Pallet Assets Freezer
The storage of this pallet contains a Vecs of account freezes. Applications UIs and Developer Tools might benefit from observing it.
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.807 MB (1,894,888 bytes)
🗜 Compressed: Yes, 78.61%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: rococo-1014000 (parity-rococo-v2.0-0.tx26.au0)
🗳️ system.setCode hash: 0x2eaa4e877fdfe3b04f7875b0eab40fb52ec9f26bba702ff51e70d93c969d5e77
🗳️ authorizeUpgrade hash: 0xd3529b50c6aa929557621e6318687a7391e8d8e1ea18ea7328df7732505499ce
🗳️ Blake2-256 hash: 0xf5579b363a9dd921b4753c551d1a212ff6e7b8b7df016fc6fae195bb344e73c9
📦 IPFS: QmdzV5vwb5BtHQwo5QYA8t2aKzuxbYjgoj3ZQD6CAwaY1L
Rococo (with enabled logging)
🏋️ Runtime size: 1.854 MB (1,943,938 bytes)
🗜 Compressed: Yes, 78.79%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: rococo-1014000 (parity-rococo-v2.0-0.tx26.au0)
🗳️ system.setCode hash: 0x558949cc46a1790181061f8c1b448287b38ce85e5aaad465242687a47ac168c0
🗳️ authorizeUpgrade hash: 0x01880c03cd456107bc0d383713bd33b7bb56bfc9fb665284f4a54c44e8f07da8
🗳️ Blake2-256 hash: 0x4a51b018aea0c4def92bed828cfc4b24907efdf8b2114a12bc4254e199131e89
📦 IPFS: Qmcaqp388ZrT8VnzCkEGPdDgVmtFbJV99uNRyUqW4kTdtP
Rococo Assethub
🏋️ Runtime size: 1.339 MB (1,403,922 bytes)
🗜 Compressed: Yes, 80.13%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: statemine-1014000 (statemine-0.tx16.au1)
🗳️ system.setCode hash: 0xb02ff983d2f4f80a7dc57b0453d6b54053854f02f4e130f2a205c0f8b28c00ac
🗳️ authorizeUpgrade hash: 0x90cb21442aa3cd8e2e8da8a64330c0bf48ca5ed18abea03d2234807299b5dbc5
🗳️ Blake2-256 hash: 0xbb17f82780ca2f42f59e74b4f3eb474a2e371166359d43164305d69ad5b91889
📦 IPFS: QmdFkVFeEzY5U8uViHYgBPPxHJ1gSg8PhoJ7rGztUBPAet
Rococo Bridgehub
🏋️ Runtime Size: 1.35 MB (1418010 bytes)
🔥 Core Version: bridge-hub-rococo-1014000 (bridge-hub-rococo-0.tx5.au1)
🗜 Compressed: Yes: 78.19%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0xce4926a643bfe286519f281b7a869c374a538bd6713248e9677a6b1cb18d6132
🗳️ authorizeUpgrade hash: 0xe41b151056dda4b3fecbf4bfda9051f4616d06abd2d8ef804382450f367213a9
🗳️ Blake2-256 hash: 0x8ad8702c98ab906ac0067af837c584ca0b1b61ccf5d4b357cdb67369a28fb945
📦 IPFS: QmZBwt2jB1KqwQfSQn9Uh7ZprXdrqucLvbSYkkAw1gtwUE
Rococo Contracts
🏋️ Runtime Size: 1.43 MB (1496348 bytes)
🔥 Core Version: contracts-rococo-1014000 (contracts-rococo-0.tx7.au1)
🗜 Compressed: Yes: 80.06%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0x81530efa5ce24c7caea06aff8acd13d8bbe87fbab975d1c5d38e7dbe7fba2570
🗳️ authorizeUpgrade hash: 0xd4b4a96fc3eb47cd29c1ee3919d28ed4fbb012807710137b8070ff7c712f6aba
🗳️ Blake2-256 hash: 0x3dd4ec9679833b7d19147feab0601a232e3b9f6187cbec0d37e8c7e876c95c94
📦 IPFS: QmPAxhuPZQGatC6DMxwWv3dbR6c91LcN71M5k4VheZcqXk
Rococo Coretime
🏋️ Runtime Size: 1.00 MB (1051263 bytes)
🔥 Core Version: coretime-rococo-1014000 (coretime-rococo-0.tx1.au1)
🗜 Compressed: Yes: 78.66%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0xd3b94629fd47802bc4afe2bc75e5cada97ea24769f2f3776bdc88417ce9883dd
🗳️ authorizeUpgrade hash: 0x1159d572853fe02a0856d9b0f8ece23cd661d73ab3fbabdfd33a4fbf61de6dc1
🗳️ Blake2-256 hash: 0x21a626ac2e2dd3ee6e571b78a4cd19b877f2a80a9b0a49b2a24a533f03b64185
📦 IPFS: QmVypFUqaj2bC88WJPHKWXGcLpAy92vMx4ZRp8arYhA78p
Rococo People
🏋️ Runtime Size: 1011.22 kB (1035488 bytes)
🔥 Core Version: people-rococo-1014000 (people-rococo-0.tx1.au1)
🗜 Compressed: Yes: 78.63%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0x80b85c81a9d3e49668d9e365f81f16921043cc20b520c40e34231bcb0bba8e4e
🗳️ authorizeUpgrade hash: 0x11348b3a8760641663ae1976559abcf20de2b6d50c2f983c3f353a24323eefd7
🗳️ Blake2-256 hash: 0x47d51c6eea055bb9eb40d2b8f469857dd4396000fcaa7babe632b181f6966716
📦 IPFS: QmPvvfscWSu4ZfbVb8W6KyDBGuSNiJXzRtWmPzJYkQK9yK
Westend
🏋️ Runtime size: 1.825 MB (1,913,806 bytes)
🗜 Compressed: Yes, 78.88%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: westend-1014000 (parity-westend-0.tx26.au2)
🗳️ system.setCode hash: 0x9441c13e2a8e50a4a3f265abf76505c05fd0ad195c0eab567bc7ee04c80b40a1
🗳️ authorizeUpgrade hash: 0xd571a3e19ba6d2ff87d1e65246fa38cd9e362406e28d57c264dddfc988b5bcbb
🗳️ Blake2-256 hash: 0x67aa8a2a81bcba228578ffe35533e4bd4ec0c09603e321714a24db0bb55224bc
📦 IPFS: QmTVonNTcaEqpAc6CuJ5RsH5Y9YVuGfehNzkbF4SoGKrhP
Westend Assethub
🏋️ Runtime size: 1.368 MB (1,433,988 bytes)
🗜 Compressed: Yes, 80.00%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: westmint-1014000 (westmint-0.tx16.au1)
🗳️ system.setCode hash: 0xe199cf1d5032c6f3b2a18392d0293f5e602bfcc4253241a488fa686ad43d5a99
🗳️ authorizeUpgrade hash: 0x45abf9c82f1c01c5c7a60ebada19666e6d4da5494c48bf88aa5abc292f26024f
🗳️ Blake2-256 hash: 0x43cd381d8923662e0595c2b194bf9f59f3335ecda3d9b9334d7281c460fad6b3
📦 IPFS: QmVNsbir7DgTeBYdexzpQWCPXsRfjXnwf78dFMEpUi8RBa
Westend Bridgehub
🏋️ Runtime Size: 1.08 MB (1129041 bytes)
🔥 Core Version: bridge-hub-westend-1014000 (bridge-hub-westend-0.tx5.au1)
🗜 Compressed: Yes: 78.39%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0x7b52472bd7498586e591384d8313f9cfed47aa57d6a1ed19873b55a3bc0abbee
🗳️ authorizeUpgrade hash: 0x27f6c9686c16eccb273e7f2636d226b99321d48ab9f07de802423ed04c03a524
🗳️ Blake2-256 hash: 0x53a22a0381035cfc4dc5bde2bda82c56b1fbef0f66b0d387d00a12fec2c37bf1
📦 IPFS: QmVish2NMDSgirVAGd31qmXfpeEBc1gDcQNSfnp9BAHSTU
Westend Collectives
🏋️ Runtime Size: 1.19 MB (1246242 bytes)
🔥 Core Version: collectives-westend-1014000 (collectives-westend-0.tx6.au1)
🗜 Compressed: Yes: 79.87%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0x5dc3a0a73a58bc1a3c67a1ec1511390a00f2b39ac6f5987a773afaca96b5d11f
🗳️ authorizeUpgrade hash: 0xc5afb632cf86fd6de5e8f5d5514973ca2482856856378941a2e73daa3750a6f2
🗳️ Blake2-256 hash: 0xbb2a409454dab4abbf3d5d5a99022b53ecf588656b6c94f43e34e93be102b24d
📦 IPFS: QmdnDL2buEVji2FHMU6pcpVx15Mv8kepjGhWNskLLnYefT
Westend Coretime
🏋️ Runtime Size: 1013.43 kB (1037752 bytes)
🔥 Core Version: coretime-westend-1014000 (coretime-westend-0.tx1.au1)
🗜 Compressed: Yes: 78.68%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0xa0e5c60c94cf930a0ea68d1e0377d5261455a347c78b0793d07bec54e2f96101
🗳️ authorizeUpgrade hash: 0xbe087e72258af459af1265d10ad386f57d3268151c0c3bc4ae8aa4883507e5cf
🗳️ Blake2-256 hash: 0x8a97a3af19dae9ff0805498d6597c76ac29d239b176ee9a65063d7ec7104c13e
📦 IPFS: QmettfQp3ov4WAaj1VWZ3eTdruHHDjrF5UQM2J2FvzRee2
Westend Glutton
🏋️ Runtime Size: 600.06 kB (614461 bytes)
🔥 Core Version: glutton-westend-1014000 (glutton-westend-0.tx1.au1)
🗜 Compressed: Yes: 76.43%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0x5ed1f45994017706381ec423c5e950b53e1cb7d8b748c804aefdd475cc5e6281
🗳️ authorizeUpgrade hash: 0x3c48cbb2e4dde5a90c61c27d5793931c39dd39398e2bed2f24caf67abfdffe4b
🗳️ Blake2-256 hash: 0xbf62b4ec96e1d588ef025b711e716af5217afd5cb890fcbbfcca75852a6ffed2
📦 IPFS: QmZZdhQQTsTzuMRfRai174aDAzicJ6eGx8AxsN9UyyfS7P
Westend People
🏋️ Runtime Size: 1008.41 kB (1032610 bytes)
🔥 Core Version: people-westend-1014000 (people-westend-0.tx1.au1)
🗜 Compressed: Yes: 78.69%
🎁 Metadata version: V14
🗳️ system.setCode hash: 0x98a85e5c61db5f3edbe5f940a6e8150477d5cf5889f9e94ed393a07355ca1697
🗳️ authorizeUpgrade hash: 0x220b07c366a40bdba4de795c17c01347a85a8fab3679bcd99271005a79b8dbe5
🗳️ Blake2-256 hash: 0xeb578a3314d6d860abbdfb24a4a030da8e5e9f2cd022189ac483ce7b71eaa9ec
📦 IPFS: QmU4SnagLmZ4sYzbKEmm3h9iJCFkKdnr9DSEHjSzHf7oHt
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
1、 asset-hub-rococo_runtime-v1014000.compact.compressed.wasm 1.34MB
2、 asset-hub-westend_runtime-v1014000.compact.compressed.wasm 1.37MB
3、 bridge-hub-rococo_runtime-v1014000.compact.compressed.wasm 1.35MB
4、 bridge-hub-westend_runtime-v1014000.compact.compressed.wasm 1.08MB
5、 chain-spec-builder 15.76MB
6、 collectives-westend_runtime-v1014000.compact.compressed.wasm 1.19MB
7、 contracts-rococo_runtime-v1014000.compact.compressed.wasm 1.43MB
8、 coretime-rococo_runtime-v1014000.compact.compressed.wasm 1MB
9、 coretime-westend_runtime-v1014000.compact.compressed.wasm 1013.43KB
10、 frame-omni-bencher 21.13MB
11、 glutton-westend_runtime-v1014000.compact.compressed.wasm 600.06KB
12、 people-rococo_runtime-v1014000.compact.compressed.wasm 1011.22KB
13、 people-westend_runtime-v1014000.compact.compressed.wasm 1008.41KB
14、 polkadot 106.71MB
15、 polkadot-execute-worker 13.95MB
16、 polkadot-execute-worker.asc 228B
17、 polkadot-execute-worker.sha256 90B
18、 polkadot-parachain 172.66MB
19、 polkadot-parachain.asc 228B
20、 polkadot-parachain.sha256 85B
21、 polkadot-prepare-worker 14.68MB
22、 polkadot-prepare-worker.asc 228B
23、 polkadot-prepare-worker.sha256 90B
24、 polkadot.asc 228B
25、 polkadot.sha256 75B
26、 rococo_runtime-v1014000.compact.compressed.wasm 1.81MB
27、 rococo_runtime-v1014000_logging.compact.compressed.wasm 1.85MB