KAGOME v0.9.4
TL;DR
- Async backing
- Elastic scaling first iteration
- Prospective parachains with multiple candidates
- Grid and cluster topologies for statements distribution
- Security improvements
- Experimental secure validator mode
- WASM stack limiter
- Secure heap allocation for private key
- Disabled validators first iteration
- Disabled validators support in BABE and disputes escalation
- WasmEdge WASM engine
- Infrastructure improvements
Breaking changes
This release does not contain any backwards incompatible changes
Docker image
The docker image for this release can be found at Docker hub
You may pull this version of KAGOME with command:
docker pull qdrvm/kagome:v0.9.4
Added
BABE
- Check BABE key optional in changeEpoch by @Harrm in #1895
- Feature: disabled validators in babe by @xDimon in #2008
GRANDPA
- check wrong set by @turuslan in #1929
- Reduce kRangeStart by @kamilsa in #1930
- refactor by @turuslan in #1934
- grandpa cache votes db by @turuslan in #1961
- Feature: report equivocation by @xDimon in #1999
- make justification ancestry by @turuslan in #2014
- historical votes by @turuslan in #2085
BEEFY
- check beefy commitment by @turuslan in #1877
- beefy test by @turuslan in #1979
- beefy test by @turuslan in #1992
- beefy tests by @turuslan in #2091
Parachains
- precheck session by @turuslan in #1874
- statement grid by @turuslan in #1891
- PVF Worker Process by @igor-egorov in #1964
- Feature/async-backing by @iceseer in #1825
- Feature/prospective parachains multi candidates by @iceseer in #1996
- Feature: disabled validators in dusputes by @xDimon in #2012
- Feature/grid view by @iceseer in #2007
- Feature/sessions cache by @iceseer in #2040
- test grid by @turuslan in #2096
- metric prepare time by @turuslan in #2097
- Cluster tracker by @Harrm in #2095
- Refactor: remove rolling sessions window by @xDimon in #2110
- feature/Ellastic-scaling + priority nodes + cluster integr by @iceseer in #2102
Storage
Runtime
- Wasm Edge by @Harrm in #1864
- Make WasmEdge a static dependency by @Harrm in #1896
- Wasm Edge 0.13.3-qdrvm1 by @Harrm in #1899
- Keccak ordered root by @Harrm in #1926
- Refactor docker scripts and make WasmEdge default by @Harrm in #1902
- Enable WasmEdge as default interpreter by @Harrm in #1944
- memory check by @turuslan in #1911
- allocator by @turuslan in #1908
- Host API fallback by @Harrm in #1987
- Implement stack limiter by @Harrm in #1946
- wasmedge 0.13.5 by @turuslan in #2002
- precompile session params by @turuslan in #2004
- Feature: disabled validators (runtime API) by @xDimon in #2006
- wasm memory limit by @turuslan in #2009
- wasm allocator poison by @turuslan in #2063
- Disable pvf subprocess by @kamilsa in #2126
RPC
Networking
- update libp2p by @turuslan in #1925
- Remove grandpa loopback stream by @turuslan in #1951
- (libp2p) thread safe scheduler by @turuslan in #2055
- audi republish by @turuslan in #2052
- [thread] PeerManagerImpl and SynchronizerImpl by @turuslan in #2062
- kademlia random walk (exponential time, peer count) by @turuslan in #2084
- Feature: don't disconnect privileged peers by @xDimon in #2057
- Feature: don't disconnect peer if still needed by @xDimon in #2138
- Avoid connection with low reputation peers by @xDimon in #2054
Transaction pool
- propagate one by @turuslan in #1939
- Bad signer error by @kamilsa in #1975
- bad proof by @turuslan in #2001
Offchain workers
Security
- ssl config by @turuslan in #1905
- SSL_CERT_DIR by @turuslan in #1913
- Safe memory storage by @Harrm in #1997
- Secure validator mode by @Harrm in #2042
- Secure mode precheck by @Harrm in #2118
Infra
- Init & build scripts by @kamilsa in #1886
- Set KAGOME_IN_DOCKER to 1 in test.yml by @Harrm in #1940
- Zombienet ci update by @zerg-su in #1952
- Zombienet ci update by @zerg-su in #1965
- Update CI to Macos 14 by @kamilsa in #1976
- Feature/zombie tests update by @zerg-su in #1998
- Reduce kagome-dev by @kamilsa in #2064
- Update kagome-dev to 6-minideb by @kamilsa in #2069
- Ci/runners update by @zerg-su in #2058
- Update init.sh with new libs and updated versions by @kamilsa in #2077
- Run master TSAN on gcc-12 by @kamilsa in #2072
- Polkadot Functional Zombietests by @igor-egorov in #2074
- Ci/zombie tests ci update by @zerg-su in #2116
- Ci/zombietests logs by @zerg-su in #2127
Misc
- Watchdog by @igor-egorov in #1870
- Bump gitpython from 3.1.37 to 3.1.41 in /zombienet/docker by @dependabot in #1918
- Remove outcome target dependency on libp2p by @Harrm in #1916
- storage-explorer db-stats command by @Harrm in #1766
- Update scale, replace assert with critical log, process outcome error by @kamilsa in #1967
- Update hunter with new llvm, lld, wasmedge by @kamilsa in #1978
- Add documentation to authorship module by @kamilsa in #1984
- Update crypto libraries by @Harrm in #1985
- update wasmedge by @turuslan in #1990
- Refactor: thread pool using by @xDimon in #1986
- Add paseo as standard chain by @kamilsa in #2010
- don't share pool handler by @turuslan in #2013
- revert #1999 structs.hpp by @turuslan in #2016
- Refactor key store by @Harrm in #2017
- Update contributing guidelines by @kamilsa in #2018
- Telegram notification github workflow by @zerg-su in #2034
- Update hunter to v0.25.3-qdrvm7 by @kamilsa in #2035
- Apply Clang Format by @Harrm in #2043
- Document parachain processor by @kamilsa in #2029
- lazy trace macros by @turuslan in #2086
- Update to clang-16 by @kamilsa in #2094
- refactor (for qtils) by @turuslan in #1863
- precompile wasm by @turuslan in #2101
- Cleanup todos by @Harrm in #2107
- qtils by @turuslan in #2111
- boringssl by @turuslan in #2128
Fixed
BABE
GRANDPA
- remove justification requests by @turuslan in #1898
- fix initial round by @turuslan in #1903
- justification queue by @turuslan in #1904
- fix move, refactor grandpa by @turuslan in #1977
- fix grandpa race by @turuslan in #2024
- fix grandpa catchup by @turuslan in #2113
- fix grandpa missing block by @turuslan in #2137
BEEFY
Parachains
- parachain handshake fixup by @iceseer in #1914
- Fix/prospective parachains tests by @iceseer in #2048
- Fix: use specific thread for dispute communication by @xDimon in #2083
- Fix: batching of incoming dispute requests by @xDimon in #2090
- Approval finalization fix by @iceseer in #2124
Runtime
- batch verify by @turuslan in #1906
- crypto version by @turuslan in #1907
- wasmedge recursion by @turuslan in #1970
- Fix memory errors by @Harrm in #2041
- fix pvf process by @turuslan in #2045
- Fix wasm memory bug by @Harrm in #2066
- fix executor param enum by @turuslan in #2078
RPC
Networking
- Link p2p ping by @kamilsa in #1915
- wrong thread access by @iceseer in #1941
- load blocks deduplicate by @turuslan in #1942
- fix fast sync by @turuslan in #1957
- reputation repository mutex by @turuslan in #1974
- fix sync genesis no body by @turuslan in #1983
- Fix for PeerManager::align() crash by @igor-egorov in #2121
Transaction pool
Storage
- Fix check in detachNode by @Harrm in #1924
- clear prefix by @turuslan in #1963
- fix recovery mode by @turuslan in #2059
- fix clear_prefix (westend) by @turuslan in #2075
- remove unused
Readable::empty
by @turuslan in #2114 - Attempt to fix trie root by @kamilsa in #2117
Misc
- Fix telemetry data race by @kamilsa in #1887
- weak io_context by @turuslan in #1884
- Fix linking by @kamilsa in #1912
- fix warnings by @iceseer in #1932
- Fix tsan issue in app state manager by @xDimon in #1947
- Pull WasmEdge version with prefixed debug library by @Harrm in #1954
- Minor fixes by @kamilsa in #1959
- Fix binary cache by @xDimon in #1945
- Fix thread leaks by @xDimon in #1972
- Fix some tsan issues by @xDimon in #1980
- fix node not starting by @turuslan in #1994
- Fix clang-15 build and WAVM by @Harrm in #2011
- ci clang-tidy by @turuslan in #2025
- setCallback before subscribe by @turuslan in #2030
- telegram notification fix, disable synchronize by @zerg-su in #2039
- crash fixup by @iceseer in #2044
- Make key store optional in host api and fix wavm build by @Harrm in #2056
- Fix build with GCC 11.4.0 by @igor-egorov in #2073
- Fix kagome docker push step by @kamilsa in #2098
- fix signals by @turuslan in #1973
Full Changelog: v0.9.3...v0.9.4
What's Changed
New Contributors
Full Changelog: v0.9.3...v0.9.4