Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Releases: paritytech/substrate

monthly-2021-12

01 Dec 01:29
b6c1c1b
Compare
Choose a tag to compare
monthly-2021-12 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-12

Changes since last snapshot (monthly-2021-11)

Substrate changes

Runtime

  • Fix order of hook execution (#10043)
  • Support MMR Pruning (#9700)
  • Fix Weight Handlebar Template (#10302)
  • Offence implementations can disable offenders independently from slashing (#10201)
  • rework staking::reap_stash (#10178)
  • Kill the light client, CHTs and change tries. (#10080)
  • implement dispatch_as (#9934)

Client

  • Add group name in task metrics (#10196)
  • Add a trie_root_hash variant for chain specs genesis (#10140)

API

  • Fix order of hook execution (#10043)
  • Stabilize "seal1" seal_call (#10366)
  • Moving pallet-asset-tx-payment from cumulus to substrate (#10127)
  • Make authorship soft deadline configurable. (#10125)
  • pallet-session: Migrate the historical part to the new pallet macro (#9878)
  • Kill the light client, CHTs and change tries. (#10080)
  • frame_support::pallet_prelude: Add scale_info::TypeInfo (#10221)
  • Better error for when origin filter prevent the call to be dispatched (#10134)

monthly-2021-11

01 Nov 01:27
26d69bc
Compare
Choose a tag to compare
monthly-2021-11 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-11

Changes since last snapshot (monthly-2021-10)

Substrate changes

Runtime

  • Add Baseline FRAME Benchmarks (#9691)
  • contracts: Fix account counter isn't persisted (#10112)
  • More lenient mechanism for identifying stash accounts in purge_keys (#10004)
  • Root origin always bypass all filter, other origin cannot bypass BaseCallFilter even when constructed from Root origin (#9948)
  • Rework Transaction Priority calculation (#9834)

Client

  • Removal of light client from substrate (#9684)
  • Don't print "Discovered new external" line for private IPs (#10055)
  • make the ws buffer size configurable (#10013)
  • sc-executor-wasmtime: upgrade wasmtime to 0.30.0 (#10003)
  • Disable log reloading by default (#9966)
  • --dev implies --tmp (#9938)
  • Introduce block authorship soft deadline (#9663)
  • Quickly skip invalid transactions during block authorship. (#9789)

API

  • fix query details (#10107)
  • Switch to using ss58-registry crate (#9755)
  • pow: add Version for quick-check of metadata state and refactor lock handling (#9698)
  • Add Deposit and Withdraw Events to Balances Pallet (#9425)
  • Support extra constant renaming (#9814)
  • Root origin always bypass all filter, other origin cannot bypass BaseCallFilter even when constructed from Root origin (#9948)
  • Add low level traits to retrieve name, symbol, decimals and allowance in pallet-assets (#9757)

monthly-2021-10

01 Oct 01:28
bf9683e
Compare
Choose a tag to compare
monthly-2021-10 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-10

Changes since last snapshot (monthly-2021-09)

Substrate changes

Runtime

  • Fungibles and Non-Fungibles Create and Destroy Traits + Assets and Uniques Implementation (#9844)
  • Implement a CountedStorageMap (#9125)
  • Emit log on Runtime Code change. (#9580)
  • Migrate pallet-tips to the new pallet attribute macro (#9711)
  • Use the precise number of approvals when constructing RawOrgin::Members (#9647)
  • Implemented seal_ecdsa_recovery function in the contract pallet (#9686)
  • contracts: Remove state rent (#9669)
  • Add VoteLocking config (#9641)

Client

  • follow-chain testing mode for try-runtime (and revamp CLI configs). (#9788)
  • Emit log on Runtime Code change. (#9580)
  • Add childstate_getStorageEntries RPC (#9459)
  • Use tokio runtime handle instead of TaskExecutor abstraction (#9737)
  • Store the database in a role specific subdirectory (#9645)
  • Fixed block response limit check (#9692)

API

  • Extend PalletInfoAccess with module_name and crate_version method (#9690)
  • Migrate pallet-session to the new pallet macro (#9796)
  • pallet macro: allow to declare individual unbounded storage for those who cannot go into PoV (#9670)
  • Society Pallet to FrameV2 (#9472)
  • Bounties Pallet to FrameV2 (#9566)
  • Generate storage info for pallet im_online (#9654)
  • Enrich metadata with type information (#8615)
  • Emit log on Runtime Code change. (#9580)
  • Migrate pallet-collective to the new pallet attribute macro (#9115)
  • Migrate pallet-tips to the new pallet attribute macro (#9711)
  • add query types to generate_storage_alias (#9659)
  • Migrate pallet-membership to the new pallet attribute macro (#9080)
  • sp-utils => sc-utils (#9677)
  • Add VoteLocking config (#9641)

monthly-2021-09

01 Sep 01:27
852bab0
Compare
Choose a tag to compare
monthly-2021-09 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-09

Changes since last snapshot (monthly-2021-08)

Substrate changes

Runtime

  • Generate storage info for pallet authority_discovery (#9428)
  • Make System Events Private from the Runtime (#9619)
  • pallet-vesting: Support multiple, merge-able vesting schedules (#9202)
  • Custom Benchmark Errors and Override (#9517)
  • Stabilize seal_debug_message (#9550)
  • Improve call, and usage in pallet utility (#9418)
  • Refactor Benchmarks for Less Wasm Memory Usage (#9373)

Client

  • Fix state_subscribeRuntimeVersion for parachains (#9617)
  • Integrate Wasmer into Substrate sandbox environment (#5920)
  • Make choosing an executor (native/wasm) an explicit part of service construction (#9525)
  • Simplify NativeExecutionDispatch and remove the native_executor_instance! macro (#9562)
  • Limit the maximum number of wasm memory pages a runtime can have (#9308)

API

  • Add methods param for RPC state_traceBlock (#9642)
  • Remove dependency on sandboxing host functions (#9592)
  • Better RPC prometheus metrics. (#9358)
  • Integrate Wasmer into Substrate sandbox environment (#5920)
  • DatabaseSource::Auto (#9500)
  • Remove Filter and use Contains instead (#9514)
  • Improve call, and usage in pallet utility (#9418)

monthly-2021-08

01 Aug 01:28
4d28ebe
Compare
Choose a tag to compare
monthly-2021-08 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-08

Changes since last snapshot (monthly-2021-07)

Substrate changes

Runtime

  • Add some important events to batch & staking to ensure ease of analysis (#9462)
  • Move PalletVersion away from the crate version (#9165)
  • check can_dec_provider when transfer allow death (#9411)
  • include dispatch result in the Executed event (#9315)
  • pallet-collective: Do not vote aye with propose (#9323)
  • contracts: Allow contracts to dispatch calls into the runtime (#9276)
  • Include StorageInfo in Benchmarking Pipeline (#9090)

Client

  • Move client consensus parts out of primitives and into client/consensus/api (#9319)
  • Do not call initialize_block before any runtime api (#8953)

API

  • Add methods to PrefixIterator to support iterating from a specific key (#9313)
  • Benchmarking also benchmark for decoding the call (#9343)
  • Emit error when Config part is imported but without the std feature (#9225)
  • Migrate pallet-mmr to the new pallet attribute macro (#9181)
  • pallet-collective: Do not vote aye with propose (#9323)
  • Migrate pallet-treasury to the new pallet attribute macro (#9197)
  • Remove impl_outer_ macros (#9307)
  • Implement InspectEnumerable for Uniques (#9117)
  • Implement iter_keys function for all types of storage maps (#9238)

monthly-2021-07

01 Jul 01:27
83808aa
Compare
Choose a tag to compare
monthly-2021-07 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-07

Changes since last snapshot (monthly-2021-06)

Substrate changes

Runtime

  • Improve Staking Limits (#9193)
  • Decouple Staking and Election - Part 3: Signed Phase (#7910)
  • contracts: Remove weight pre charging (#8976)
  • Result<Option<>> rather than Option<Option<>> (#9119)
  • Add Control to Growth of the Staking Pallet (#8920)
  • Frame remove_all with size limit. (#9106)
  • staking/election: prolonged era and emergency mode for governance submission. (#8912)
  • Enforce pub calls in pallets (#9085)
  • Migrate pallet-staking to pallet attribute macro (#9083)
  • contracts: Add new seal_call that offers new features (#8909)
  • update ss58 type to u16 (#8955)
  • Named reserve (#7778)
  • Add Call Filter That Prevents Nested batch_all (#9009)
  • Uniques: An economically-secure basic-featured NFT pallet (#8813)

Client

  • Move client only primitives to another dir (#9220)
  • Remove txpool as an export of sc_transaction_pool, exporting the used components instead. (#9217)
  • Fast sync (#8884)
  • double the allocator limit (#9102)
  • Make it possible to override maximum payload of RPC (#9019)
  • Decommit instance memory after a runtime call on Linux (#8998)
  • rpc-http-threads cli arg (#8890)
  • Transaction pool: Ensure that we prune transactions properly (#8963)
  • Update wasmtime to 0.27 (#8913)

API

  • Emit error when construct_runtime imports a non-existent pallet part (#8949)
  • Allow renaming storage item prefixes (#9016)
  • Enforce pub calls in pallets (#9085)
  • Stop sending network_state to telemetry (#9026)
  • Use pallet names to name enum variants (#8990)
  • Delete legacy runtime metadata macros (#9043)
  • Storage chain: Runtime module (#8624)
  • Allow usage of path in construct_runtime! (#8801)

monthly-2021-06

01 Jun 01:35
7ba4e4c
Compare
Choose a tag to compare
monthly-2021-06 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-06

Changes since last snapshot (monthly-2021-05)

Substrate changes

Runtime

  • Make Schedule fields public to allow for customization (#8924)
  • Simple MaxBoundedLen Implementations (#8793)
  • contracts: Add seal_rent_status (#8780)
  • Fix transaction payment fee/tip unbalanceds (#8860)
  • Ensure election offchain workers don't overlap (#8828)
  • Implement StorageNMap (#8635)
  • contracts: Move Schedule from Storage to Config (#8773)
  • Migrate pallet-offences to pallet attribute macro (#8763)
  • Embed runtime version as a custom section (#8688)
  • Migrate pallet-recovery to pallet attribute macro (#8761)
  • Add arithmetic dispatch errors. (#8726)
  • primitives: remove random_seed from BlockBuilder API (#8718)
  • make custom on runtime upgrade prior to pallet ones (#8687)

Client

  • Introduce code_substitute (#8898)
  • Make wasmtime the default when the feature is enabled (#8855)
  • Embed runtime version as a custom section (#8688)
  • RPC to trace execution of specified block (#7780)
  • Change to use the same subcommand syntax as subkey (#8678)
  • Add a JSON-RPC layer for reserved nodes (#8704)

API

  • Refactor code a little bit (#8932)
  • Migrate pallet-scored-pool to pallet attribute macro (#8825)
  • Migrate pallet-grandpa to attribute macros (#8724)
  • Introduce WeakBoundedVec, StorageTryAppend, and improve BoundedVec API (#8842)
  • Pallet-Multisig to framev2 (#8741)
  • Make hooks and call attributes optional in pallet macro (#8853)
  • Fix transaction payment fee/tip unbalanceds (#8860)
  • Migrate pallet-scheduler to pallet attribute macro (#8769)
  • Allow to specify some max number of values for storages in pallet macro. (#8735)
  • Use StorageNMap for Approvals in assets pallet (#8816)
  • Migrate pallet-nicks to pallet attribute macro. (#8723)
  • Migrate pallet-im-online to pallet attribute macro. (#8714)
  • Update Identity pallet to Frame V2 (#8697)
  • Rework inherent data client side (#8526)
  • make custom on runtime upgrade prior to pallet ones (#8687)
  • Upgrade authorship pallet to Frame-v2 (#8663)

monthly-2021-05

01 May 01:29
70ef0af
Compare
Choose a tag to compare
monthly-2021-05 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-05

Changes since last snapshot (monthly-2021-04)

Substrate changes

Runtime

  • Ensure inherent are first (#8173)
  • Add PoV Tracking to Benchmarking Pipeline (#8559)
  • Support code blobs compressed with zstd (#8549)

Client

  • subkey: display SS58 encoding of public key (#8674)
  • Authority-discovery no longer publishes non-global IP addresses (#8643)
  • Enable --no-private-ipv4 by default for live chains (#8642)
  • Make non-validators listen on /ws by default (#8609)
  • contracts: Add RPC that allows instantiating of a contract (#8451)
  • Add PoV Tracking to Benchmarking Pipeline (#8559)
  • Support code blobs compressed with zstd (#8549)

API

  • migrate pallet-elections-phragmen to attribute macros (#8044)
  • Make pallet macro generate accessor to PalletInfo information on pallet placeholder (#8630)
  • expose set_timestamp for runtime benchmarks (#8601)
  • Ensure inherent are first (#8173)

monthly-2021-04

07 Apr 13:03
7eb671f
Compare
Choose a tag to compare
monthly-2021-04 Pre-release
Pre-release

Automatic snapshot pre-release monthly-2021-04

Changes since last snapshot (monthly-2021-03)

Substrate changes

Runtime

  • Add an INDEX to the Instance trait (#8555)
  • Fix account ref-counting in session (#8538)
  • Introduce OnSetCode type into system config trait. (#8496)
  • Implement fungible::* for Balances (#8454)
  • [pallet-staking] Refund unused weight for payout_stakers (#8458)
  • Make the number of nominations configurable (#8368)
  • Add tracing logic in pallet macro for hooks and dispatchables (#8305)
  • contracts: Update deduct block when a contract is excempted (#8418)
  • Decouple Staking and Election - Part 2.1: Unleash Multi Phase (#8113)
  • staking: Flexible generation of reward curve and associated tweaks (#8327)
  • contracts: Expose rent parameter to contracts (#8231)
  • pallet-staking: add RewardDestination::None for explictly not receiving rewards (#8168)
  • Return babe configuration information in the babe api epoch functions (#8072)
  • Assets: Remove zombies, introduce approvals (#8220)
  • Self-sufficient account ref-counting (#8221)
  • Init RuntimeLogger automatically for each runtime api call (#8128)

Client

  • Storing multiple Justifications per block (#7640)
  • Remove legacy network protocol (#8296)
  • Rework telemetry to replace the use of tracing with an object we pass around (#8143)
  • Decrease the peer reputation on invalid block requests (#8260)

API

  • Migrate pallet-indices to pallet! (#8465)
  • Migrate pallet-sudo to pallet! (#8448)
  • Upgrade pallet atomic swap (#8452)
  • Migrate pallet-utility to pallet attribute macro. (#8326)
  • contracts: Reduce the API surface (#8359)
  • Add tracing logic in pallet macro for hooks and dispatchables (#8305)
  • Use the log crate to output contract generated messages. (#8403)
  • Replace 'Module' with 'Pallet' in construct_runtime macro (#8372)
  • Migrate pallet-babe to pallet attribute macro. (#8310)
  • Migrate node authorization pallet to FRAME v2 (#8337)
  • Migrate pallet-proxy to pallet attribute macro (#8365)
  • im-online: use EstimateNextSessionRotation to get better estimates of session progress (#8242)
  • Add on_idle hook (#8209)
  • more clear randomness API for BABE (#8180)
  • Custom RPC for Merkle Mountain Range pallet (#8137)
  • pallet_macro: Generate default documentation for well known types (#8276)

Substrate v3.0/0.9 – Apollo 14

10 Feb 18:27
v3.0.0
49a4103
Compare
Choose a tag to compare

Changelog for Substrate 3.0.0/0.9.0 - Apollo 14

Most notably, this is the first release of the new FRAME (2.0) with its new macro-syntax and some changes in types, and pallet versioning. This release also incorporates the faster and improved version 2.0 of the parity-scale-codec and upgraded dependencies all-around. While the FinalityTracker pallet has been dropped, this release marks the first public appearance of a few new pallets, too: Bounties, Lottery, Tips (extracted from the Treasury-pallet, see #7536) and Merkle-Mountain-Ranges (MMR).

On the client side, the most notable changes are around the keystore, making it async and switching to a different signing model allowing for remote-signing to be implemented. Various changes to improve networking and light-client support, like adding the Grandpa warp sync request-response protocol (#7711) are also included.

Contracts: Please note that the contracts pallet is not part of this release. The pallet is not yet ready and will be released separately in the coming weeks. The currently released contracts pallet is not compatible with the new FRAME, thus if you need the contracts pallet, we recommend you wait with the upgrade until it has been released, too.

Upgrade instructions

Not too much has changed on the top and API level for developing Substrate betweeen 2.0 and 3.0. The easiest and quickest path for upgrading is to just take the latest node-template and try applying your changes to it:

  1. take a diff between 2.0 and your changes
  2. store that diff
  3. remove everything, copy over the 3.0 node-template
  4. try re-applying your diff, manually, a hunk at a time.

If that doesn't work for you, we are working on an in-depth-guide for all major changes that took place and how you need to adapt your code for it. You can find the upgrade guide under docs/ in the repo, if you have further questions or problems, please feel free to ask in the github discussion board.

Runtime

  • Fix elections-phragmen and proxy issue (#7040)
  • Allow validators to block and kick their nominator set. (#7930)
  • Decouple Staking and Election - Part1: Support traits (#7908)
  • Introduces account existence providers reference counting (#7363)
  • Use checked math when calculating storage size (#7885)
  • Fix clear prefix check to avoid erasing child trie roots. (#7848)
  • babe: expose next epoch data (#7829)
  • fix : remove _{ } syntax from benchmark macro (#7822)
  • Define ss58 prefix inside the runtime (#7810)
  • Allow council to slash treasury tip (#7753)
  • Don't allow self proxies (#7803)
  • add a current_epoch to BabeApi (#7789)
  • Add pallet attribute macro to declare pallets (#6877)
  • Make it possible to calculate the storage root as often as you want (#7714)
  • Issue 7143 | Refactor Treasury Pallet into Bounties, Tips, and Proposals (#7536)
  • Participating in Council Governance is Free for First Time Voters and Successful Closing (#7661)
  • Streamline frame_system weight parametrization (#6629)
  • Features needed for reserve-backed stablecoins (#7152)
  • sudo_as should return a result (#7620)
  • More Extensible Multiaddress Format (#7380)
  • Fix on_runtime_upgrade weight recording (#7480)
  • Implement batch_all and update Utility pallet for weight refunds (#7188)
  • Fix wrong outgoing calculation in election (#7384)
  • Implements pallet versioning (#7208)
  • Runtime worker threads (#7089)
  • Allow schedule_after(0, ...) to work (#7284)
  • Fix offchain election to respect the weight (#7215)
  • Fix weight for inner call with new origin (#7196)
  • Move proxies migration (#7205)
  • Introduce cancel_proposal to rid us of those pesky proposals (#7111)

Client

  • Remove backwards-compatibility networking hack (#8068)
  • Extend SS58 network identifiers (#8039)
  • Update dependencies ahead of next release (#8015)
  • Storage chains: serve transactions over IPFS/bitswap (#7963)
  • Add a send_request function to NetworkService (#8008)
  • Rename system_networkState to system_unstable_networkState (#8001)
  • Allow transaction for offchain indexing (#7290)
  • Grandpa warp sync request-response protocol (#7711)
  • Add explicit limits to notifications sizes and adjust yamux buffer size (#7925)
  • Rework priority groups, take 2 (#7700)
  • Define ss58 prefix inside the runtime (#7810)
  • Expand remote keystore interface to allow for hybrid mode (#7628)
  • Allow capping the amount of work performed when deleting a child trie (#7671)
  • RPC to allow setting the log filter (#7474)
  • Remove sc_network::NetworkService::register_notifications_protocol and partially refactor Grandpa tests (#7646)
  • minor fix and improvements on localkeystore (#7626)
  • contracts: Add salt argument to contract instantiation (#7482)
  • contracts: Rework contracts_call RPC (#7468)
  • Make sure to use the optimized method instead of reading the storage. (#7445)
  • WASM Local-blob override (#7317)
  • client/network: Allow configuring Kademlia's disjoint query paths (#7356)
  • client/network: Remove option to disable yamux flow control (#7358)
  • Make queryStorage and storagePairs unsafe RPC functions (#7342)
  • No longer actively open legacy substreams (#7076)
  • Make run_node_until_exit take a future (#7318)
  • Add an system_syncState RPC method (#7315)
  • Async keystore + Authority-Discovery async/await (#7000)
  • Fixes logging of target names with dashes (#7281)
  • Refactor CurrencyToVote (#6896)
  • client/network: Stop sending noise legacy handshake (#7211)

API

  • pallet macro: easier syntax for #[pallet::pallet] with struct Pallet<T>(_) (#8091)
  • WasmExecutor takes a cache directory (#8057)
  • Remove PalletInfo impl for () (#8090)
  • Migrate assets pallet to new macros (#7984)
  • contracts: Make ChainExtension trait generic over the runtime (#8003)
  • Decouple the session validators from im-online (#7127)
  • Update parity-scale-codec to 2.0 (#7994)
  • Merkle Mountain Range pallet improvements (#7891)
  • Cleaner GRANDPA RPC API for proving finality (#7339)
  • Migrate frame-system to pallet attribute macro (#7898)
  • Introduces account existence providers reference counting (#7363)
  • contracts: Lazy storage removal (#7740)
  • contracts: Allow runtime authors to define a chain extension (#7548)
  • Define ss58 prefix inside the runtime (#7810)
  • Add pallet attribute macro to declare pallets (#6877)
  • Add keccak-512 to host functions. (#7531)
  • Merkle Mountain Range pallet (#7312)
  • Allow capping the amount of work performed when deleting a child trie (#7671)
  • add an upgrade_keys method for pallet-session (#7688)
  • Streamline frame_system weight parametrization (#6629)
  • Rename pallet trait Trait to Config (#7599)
  • contracts: Add salt argument to contract instantiation (#7482)
  • pallet-evm: move to Frontier (Part IV) (#7573)
  • refactor subtrait/elevated trait as not needed (#7497)
  • Allow BabeConsensusDataProvider fork existing chain (#7078)
  • decouple transaction payment and currency (#6912)
  • contracts: Refactor the runtime API in order to simplify node integration (#7409)
  • client/authority-discovery: Remove sentry node logic (#7368)
  • client/network: Make NetworkService::set_priority_group async (#7352)
  • *: Bump async-std to v1.6.5 (#7306)
  • babe: make secondary slot randomness available on-chain (#7053)
  • allow where clause in decl_error (#7324)
  • reschedule (#6860)
  • SystemOrigin trait (#7226)
  • permit setting treasury pallet initial funding through genesis (#7214)

Runtime Migrations

  • Migrate pallet-balances to pallet attribute macro (#7936)
  • Migrate pallet-timestamp to pallet attribute macro (#8078)
  • Migrate assets pallet to new macros (#7984)
  • Fix elections-phragmen and proxy issue (#7040)
  • Allow validators to block and kick their nominator set. (#7930)
  • Migrate frame-system to pallet attribute macro (#7898)
  • Implements pallet versioning (#7208)
  • Move proxies migration (#7205)