Skip to content

Latest commit

 

History

History
300 lines (283 loc) · 59.9 KB

CHANGELOG.md

File metadata and controls

300 lines (283 loc) · 59.9 KB

Semantic Versioning Changelog

0.7.0 (2022-11-23)

Bug Fixes

  • chain: update ed25519 addresses in dev/gssmr genesis files (#2225) (5f47d8b)
  • ci: caching of Go caches (#2451) (ce3c10c)
  • ci: codecov.yml configuration (#2698) (d4fc383)
  • ci: comment skip code for required workflows (#2312) (45dce9b)
  • ci: copyright workflow to exit if different files (#2487) (89c32ae)
  • ci: deepsource toml configuration (#2744) (86a70de)
  • ci: embed v0.9.20 runtime, update test suite, and ci workflows (#2543) (0fff418), closes #2419 #2561 #2572 #2581 #2671
  • ci: fix staging Dockerfile (#2474) (ae04b80)
  • ci: mocks checking fixes (#2274) (d1308e0)
  • ci: run devnet module unit tests (#2756) (f635c59)
  • ci: run golangci-lint on integration tests (#2275) (3ae3401)
  • cmd: allow --genesis flag to be passed to base command (#2427) (7f5b5aa)
  • cmd: avoid nil pointer dereference (#2578) (f2cdfea)
  • config: temporary fix for pprof enabled setting precedence (#2786) (d4d6262)
  • core: fix txn pool for latest runtime (#2809) (1551e66)
  • deps: upgrade chaindb to remove badger logs (#2738) (e0c5706)
  • devnet: Fix build workflow for devnet (#2125) (0375fc2)
  • Dockerfile: remove script entrypoint (#2707) (abd161b)
  • dot/core: RuntimeInstance interface Version signature (#2783) (7d66ec0)
  • dot/core: fix the race condition in TrieState (#2499) (804069c), closes #2402
  • dot/digest: BABE NextEpochData and NextConfigData should be set on finalization (#2339) (e991cc8)
  • dot/digest: verify if next epoch already contains some definition (#2472) (a2ac6c2)
  • dot/netwok: check for duplicate message earlier (#2435) (d62503f)
  • dot/network: change BlockRequestMessage number from uint64 to uint32 (8105cd4)
  • dot/network: close notifications streams (#2093) (de6e7c9), closes #2046
  • dot/network: fixing errMissingHandshakeMutex (#2303) (eb07a53)
  • dot/network: memory improvement for network buffers (#2233) (fd9b70d)
  • dot/network: public IP address logging (#2140) (9e21587)
  • dot/network: re-add nil mutex check for disconnected peer (#2408) (9b39bd1)
  • dot/network: remove defer cancel() inside loop (#2248) (9e360a5)
  • dot/network: resize bytes slice buffer if needed (#2291) (8db8b2a)
  • dot/peerset: fix sending on closed channel race condition when dropping peer (#2573) (2fa5d8a)
  • dot/peerset: remove race conditions from peerset package (#2267) (df09d45)
  • dot/rpc/modules: grandpa.proveFinality update parameters, fix bug (#2576) (e7749cf)
  • dot/rpc/modules: rpc.state.queryStorage fixed (#2565) (1ec0d47)
  • dot/rpc: include unsafe flags to be considered by RPC layer (#2483) (3822257)
  • dot/state/epoch, lib/babe: enable block production through epochs without rely on finalization (#2593) (a0a1804)
  • dot/state: actually prune finalized tries from memory (#2196) (e4bc375)
  • dot/state: change map of tries implementation to have working garbage collection (#2206) (fada46b)
  • dot/state: inject mutex protected tries to states (#2287) (67a9bbb)
  • dot/subscription: check websocket message from untrusted data (#2527) (1f20d98)
  • dot/subscription: unsafe type casting from untrusted input (#2529) (1015733)
  • dot/sync, dot/rpc: implement HighestBlock (#2195) (f8d8657)
  • dot/sync: cleanup logs; don't log case where we fail to get parent while processing (#2188) (cb360ab)
  • dot/sync: fix "block with unknown header is ready" error (#2191) (483466f)
  • dot/sync: fix Test_lockQueue_threadSafety (#2605) (223cfbb)
  • dot/sync: Fix flaky tests Test_chainSync_logSyncSpeed and Test_chainSync_start (#2610) (7e1014b)
  • dot/sync: Gossip BlockAnnounceMessage only after successfully imported (#2885) (69031a6)
  • dot/sync: remove block announcement in bootstrap sync mode (#2906) (2b4c257)
  • dot/sync: remove max size limit from ascending block requests (#2256) (e287d7e)
  • dot/sync: sync benchmark (#2234) (2f3aef8)
  • dot/telemetry: telemetry hashes to be in the hexadecimal format (#2194) (9b48106)
  • dot: database close error checks (#2948) (bdb0eea)
  • dot: no error logged for init check (#2502) (2971325)
  • ensure we convert the uint type (#2626) (792e53f)
  • fix logger mutex locking in .New method (#2114) (e7207ed)
  • internal/log: log level DoNotChange (#2672) (0008b59)
  • levels-logged: Fix log levels logging at start (#2236) (a90a6e0)
  • lib/babe: check if authority index is in the authorities range (#2601) (1072888)
  • lib/babe: ensure the slot time is correct before build a block (#2648) (78c03b6)
  • lib/babe: epoch context error wrapping (#2484) (c053dea)
  • lib/babe: Unrestricted Loop When Building Blocks (GSR-19) (#2632) (139ad89)
  • lib/blocktree: reimplement BestBlockHash to take into account primary blocks in fork choice rule (#2254) (1a368e2)
  • lib/grandpa: avoid spamming round messages (#2688) (b0042b8)
  • lib/grandpa: capped number of tracked commit messages (#2490) (47c23e6)
  • lib/grandpa: capped number of tracked vote messages (#2485) (d2ee47e), closes #1531
  • lib/grandpa: check equivocatory votes count (#2497) (014629d), closes #2401
  • lib/grandpa: Duplicate votes is GRANDPA are counted as equivocatory votes (GSR-11) (#2624) (422e7b3)
  • lib/grandpa: Storing Justification Allows Extra Bytes (GSR-13) (#2618) (0fcde63)
  • lib/grandpa: update grandpa protocol ID (#2678) (3be75b2)
  • lib/grandpa: various finality fixes, improves cross-client finality (#2368) (c04d185)
  • lib/grandpa: verify equivocatory votes in grandpa justifications (#2486) (368f8b6)
  • lib/runtime: avoid caching version in runtime instance (#2425) (7ab31f0)
  • lib/runtime: stub v0.9.17 host API functions (#2420) (6a7b223)
  • lib/trie: handleDeletion generation propagation (24c303d)
  • lib/trie: PopulateMerkleValues functionality changes and fixes (#2871) (7131290)
  • lib/trie: Check for root in EncodeAndHash (#2359) (087db89)
  • lib/trie: Make sure writing and reading a trie to disk gives the same trie and cover more store/load child trie related test cases (#2302) (7cd4118)
  • lib/trie: prepare trie nodes for mutation only when needed (#2834) (26868df)
  • lib/trie: remove map deletion at loadProof (#2259) (fbd13d2)
  • lint: fix issues found by golangcilint 1.47.3 (#2715) (5765e67)
  • mocks: add missing //go:generate for mocks (#2273) (f4f7465)
  • pprof: pprofserver flag changed to boolean (#2205) (be00a69)
  • staging: revise datadog-agent start process (#2935) (36ce37d)
  • state/epoch: assign epoch 1 when block number is 0 (#2592) (e5c8cf5)
  • state/grandpa: track changes across forks (#2519) (3ab76bc)
  • tests: TestAuthorModule_HasSessionKeys_Integration (#2932) (8d809aa)
  • tests: fix block body regex in TestChainRPC (#2805) (b0680f8)
  • tests: Fix RFC3339 regex for log unit tests (9caea2a)
  • tests: Fix wasmer flaky sorts (#2643) (7eede9a)
  • tests: handle node crash during waiting (#2691) (843bd50)
  • tests: update block body regex in TestChainRPC (#2674) (055e5c3)
  • trie: decode inline child nodes (#2369) (9efde47)
  • trie: descendants count for clear prefix (#2606) (1826896)
  • trie: disallow empty byte slice node values (#2927) (d769d1c)
  • trie: equality differentiate nil and empty storage values (#2969) (72a08ec)
  • trie: no in-memory caching of node encoding (#2919) (856780b)
  • trie: Panic when deleting nonexistent keys from trie (GSR-10) (#2609) (7886318)
  • trie: remove encoding buffers pool (#2929) (f4074cc)
  • trie: use cached Merkle values for root hash (#2943) (ec2549a)
  • trie: use direct Merkle value for database keys (#2725) (1a3c3ae)
  • upgrade auto-generated mocks (#2910) (a2975a5)
  • wasmer: error logs for signature verification (#2752) (363c080)
  • wasmer: fix flaky sort in Test_ext_crypto_sr25519_public_keys_version_1 (#2607) (c061b35)

Features

  • build: add github.com/breml/rootcerts (#2695) (c74a5b0)
  • build: binary built-in timezone data (#2697) (fdd5bda)
  • chain: use always the raw genesis file (#2775) (dd2fbc9)
  • ci: update mockery from 2.10 to 2.14 (#2642) (d2c42b8)
  • cross-client: create docker-compose.yml for local devnet (#2282) (8abbd87)
  • detect chain directory dynamically (#2292) (85c466c)
  • devnet: add substrate docker images to dockerfile (#2263) (b7b2a66)
  • devnet: continuous integration gssmr devnet on AWS ECS (#2096) (d096d44)
  • docker: docker-compose.yml to run Gossamer, Prometheus and Grafana (#2706) (c5dda51)
  • dot/network: add mismatched genesis peer reporting (#2265) (a1d7269)
  • dot/state: gossamer_storage_tries_cached_total gauge metric (#2272) (625cbcf)
  • e2e: build Gossamer on any test run (#2608) (f97e0ef)
  • go: upgrade Go from 1.17 to 1.18 (#2379) (d85a1db)
  • include nested varying data type on neighbor messages (#2722) (426569a)
  • lib/babe: implement secondary slot block production (#2260) (fcb81a3)
  • lib/runtime: support Substrate WASM compression (#2213) (fd60061)
  • lib/trie: atomic tracked merkle values (#2876) (1c4174c)
  • lib/trie: clear fields when node is dirty (#2297) (1162828)
  • lib/trie: only copy nodes when mutation is certain (#2352) (86624cf)
  • lib/trie: opportunistic parallel hashing (#2081) (790dfb5)
  • metrics: replace metrics port with address (breaking change) (#2382) (d2ec68d)
  • pkg/scale: add Encoder with Encode method (#2741) (af5c63f)
  • pkg/scale: add use of pkg/error Wrap for error handling (#2708) (08c4281)
  • pkg/scale: encoding and decoding of maps in scale (#2894) (405db51), closes #2796
  • pkg/scale: support for custom VaryingDataType types (#2612) (914a747)
  • remove uneeded runtime prefix logs (#2110) (8bd05d1)
  • remove unused code (#2677) (b3698d7)
  • scale: add range checks to decodeUint function (#2683) (ac700f8)
  • trie: decode all inlined node variants (#2611) (b09eb07)
  • trie: export LoadFromProof (#2455) (0b4f33d)
  • trie: faster header decoding (#2649) (d9460e3)
  • trie: finer deep copy of nodes (#2384) (bd6d8e4)
  • trie: tracking of number of descendant nodes for each node (#2378) (dfcdd3c)
  • trie: use scale encoder (#2930) (e3dc108)
  • wasmer/crypto: move sig verifier to crypto pkg (#2057) (dc8bbef)
  • wasmer: Add SetTestVersion method to Config struct (#2823) (e5c9336)
  • wasmer: get and cache state version in instance context (#2747) (3fd63db)

0.6.0 (2021-12-03)

Bug Fixes

  • babe: Fix extrinsic format in block. (#1530) (1a03b2a)
  • ci: add missing go-version matrix to fix development branch CI (#2037) (6babe76)
  • cmd/cfg: Use Babe Lead value from toml config (#2032) (06aa3e3)
  • cmd/gossamer: Generate random name if --name flag not set (#1506) (3c05a88)
  • confirm block import notifier is closed properly (#1736) (ad2d85e)
  • docs: improve build-spec usage docs (#1706) (2e164b4)
  • dot/core: Add only extrinsic during chain reorg. (#1609) (29413d4)
  • dot/core: Batch process transaction message. (#1780) (0064836)
  • dot/core: check transaction Validity.Propagate field to determine whether to propagate tx (#1643) (81f23cc)
  • dot/core: Fix handle transaction message test. (#1607) (58b8725)
  • dot/network, lib/grandpa: fix handshake decoding and grandpa message handler sigabort (#1631) (887f72c)
  • dot/network, lib/grandpa: fix node sync, improve devnet finality (bcc7935)
  • dot/network: add nil checks in connManager (#2069) (7f9c042)
  • dot/network: Check for size when decoding leb128. (#1634) (d082b9e)
  • dot/network: check if peer supports protocol (#1617) (6bf66a4)
  • dot/network: decrease DHT find peers interval for gssmr nodes (#1703) (08516a0)
  • dot/network: fix bugs in notifications protocol handlers; add metrics for inbound/outbound streams (#2010) (8c2993d)
  • dot/network: fix dht connection on discovery on devnet (#2059) (da065b8)
  • dot/network: fix discovery between gossamer nodes (#1594) (f4c79d3)
  • dot/network: fix justification request at head logic (#1510) (98d1413)
  • dot/network: fix memory allocations with sizedBufferPool (#1963) (e0b126b)
  • dot/network: Fix missing digest in header (#2092) (21ea85e)
  • dot/network: Fix notification handshake and reuse stream. (#1545) (a632dc4)
  • dot/network: fix receiving notifications messages from substrate peers (#1517) (fdf3c53)
  • dot/network: fix stream manager tests (#1683) (e02eca4)
  • dot/network: implement a handshake timeout (#1615) (87c2f63)
  • dot/network: Implement time based handle transaction (#1942) (dd08424)
  • dot/network: move low reputation peer removal from network ConnManager to peer scoring logic (dot/peerstate) (#2068) (ac16285), closes #2039
  • dot/network: Return on EOF error while reading stream. (#1733) (f447eac)
  • dot/network: split stored streams and handshakeData into inbound and outbound (#1553) (637050b)
  • dot/network: update notificationsProtocol handshakeData to sync.Map (#1492) (22f7269)
  • dot/node: Start websocket server only with --ws flag (#1671) (6ecef3b)
  • dot/state, lib/babe, lib/trie: improve syncing between gossamer authority nodes (#1613) (ca99fbf)
  • dot/state, lib/grandpa: update justification and SignedVote handling in database (#1682) (bbdcd6f)
  • dot/state,dot/network: improve memory usage when syncing (#1491) (3b2ad8d)
  • dot/state: add StorageState Lock/Unlock API for usage by babe and sync (#1700) (3c22ace)
  • dot/state: fix deadlock, fixes bootstrap syncing (#1959) (dd80c09)
  • dot/state: fix usage of trie.Snapshot (#1489) (3880a40)
  • dot/state: track runtime per-block, fix runtime upgrades differing between forks (#1638) (e133884)
  • dot/state: update *state.BlockState.AddBlockToBlockTree to store block in unfinalisedBlocksMap (#2006) (55d997f)
  • dot/sync: add nil header checks (#2099) (a7d4be0)
  • dot/sync: fix block request and response logic (#1907) (9c6283e)
  • dot/sync: fix creating block response, fixes node sync between gossamer nodes (#1572) (1328c80)
  • dot/telemetry: refactor telemetry to reduce CPU usage (#1597) (bc31ac7)
  • dot/types: *types.Body to be of type []types.Extrinsic (#1807) (4c09715)
  • dot/types: fix max value for digest (#1687) (48405e7)
  • dot: fix TestNewNode (#2070) (42908d0)
  • fix edit link (#1507) (5089327)
  • fix Kusama sync; add storageState lock in core.HandleTransactionMessage (#1783) (1d688e4)
  • lib/babe, lib/runtime/wasmer: fixes for v0.9.8+ runtime (#2075) (2f9f80c)
  • lib/babe: add --babe-lead flag, update epoch handling logic (#1895) (7abcce6)
  • lib/babe: add pre-runtime digest before calling initialize_block (#1581) (c1b26d3)
  • lib/babe: always use 2/3 of slot to produce block, re-add potentially valid txs to queue (#1679) (cf93ad3)
  • lib/babe: call AddBlock in BABE synchronously (#1585) (86acc43)
  • lib/babe: fix BABE state storing after building block (#1536) (1a3dea2)
  • lib/babe: fix err log (#1801) (a96f06a)
  • lib/babe: fix setting first slot of network, fix loading BABE epoch params (#1640) (5c3dbfe)
  • lib/babe: fix timing for transition between epochs (#1636) (57027db)
  • lib/blocktree: fix blocktree bug (#2060) (c17b53a)
  • lib/blocktree: fix potential nil pointer dereference in HighestCommonAncestor, core handleBlocksAsync (#1993) (f7f4463)
  • lib/blocktree: fix setting leaves after blocktree pruning (#1605) (58c0854)
  • lib/blocktree: removes the inconsistency to choose a deepest leaf (#2094) (43d68e3)
  • lib/crypto/ed25519: update ed25519 to use go-schnorrkel bip39 derivation (#1488) (dfb95d2)
  • lib/genesis: Update missing and incorrect fields in genesis file. (#1681) (8207704)
  • lib/grandpa: fix grandpa stall and various bugs (#1708) (67c93f4)
  • lib/grandpa: fix grandpa vote message switch (#2095) (461890c)
  • lib/grandpa: fix threshold checking to be strictly greater than 2/3 (#1891) (66ffe51)
  • lib/grandpa: use defaultGrandpaInterval if not set, fixes error on startup (#1982) (75627b5)
  • lib/runtime/life: remove import C from life (#1923) (ed507d2)
  • lib/runtime: update HOST_API_TEST_RUNTIME_URL to reference specific commit (#1885) (666ed06)
  • log-levels: do not ignore configuration file log levels (#2016) (80879b2)
  • pending bubble hidden after block included (#1592) (5826322)
  • persist node name (#1543) (88b88f2)
  • pprof: only run pprof service if enabled (#2073) (55669c5)
  • release: Trigger release when pushed to main branch. (#1566) (d445c97)
  • rpc/subscription: subscribe runtime version notify when version changes (#1686) (9a76d39)
  • Staging CI workflow (#2034) (84ec792)
  • trie: memory leak fix in lib/trie (#2009) (0ad5eb7)
  • update deprecated package (#1603) (f195204)
  • update go-schnorrkel version (#1557) (b86c7ff)
  • update gssmr genesis to use pallet_babe::SameAuthoritiesForever (#1696) (fb0a751)
  • update HOST_API_TEST_RUNTIME_URL (#1898) (2ef59a8)
  • utils: create a specific folder for database (#1598) (8c67795)

Features

  • add --chain dev option (#1561) (04a2969)
  • Add properties and chainId on build-spec command (#1520) (b18290c)
  • cmd: implement import-runtime subcommand (#1483) (d82b2da)
  • cmd/gossamer: implement --telemetry-url parameter (#1890) (b202e89), closes #1502
  • cmd: implement offline pruning of state trie (#1564) (af9c925)
  • devnet: Local Gossamer Devnet (#2008) (a520001)
  • dot/network, lib/grandpa: request justification on receiving NeighbourMessage, verify justification on receipt (#1529) (e1f9f42)
  • dot/network: Add cache for network message. (#1511) (accaf69)
  • dot/network: add propagate return bool to messageHandler func type to determine whether to propagate message or not (#1555) (0d6f488)
  • dot/network: implement persistent peers functionality (#1512) (7850532)
  • dot/network: implement streamManager to cleanup not recently used streams (#1611) (ba861bf)
  • dot/network: request block justifications when near head (#1499) (ae7012b)
  • dot/peerset: Implement peer scoring (#1791) (1c989ad)
  • dot/rpc/modules: add system_addReservedPeer and system_removeReservedPeer RPC call (#1712) (dba5922)
  • dot/rpc: Add system_localListenAddresses RPC call (#1689) (c981d2e)
  • dot/rpc: Implement childstate_getKeys rpc call (#1800) (9b2f41e)
  • dot/rpc: implement sync_state_genSyncSpec RPC call (#1827) (2186caf)
  • dot/state: implement online pruning of historical state tries (#1596) (3eb9399)
  • dot/sync: implement codeSubstitutes (#1635) (d87aaeb)
  • dot/telemetry: Implement basic telemetry connection (#1497) (fcb4159)
  • dot/telemetry: Added connection retry (#1904) (579a791)
  • dot/telemetry: Added more telemetry messages in grandpa client (#2043) (2e57d15), closes #1841 #1842
  • dot/telemetry: implement notify.finalized telemetry interface (#1877) (de1a60d)
  • dot/telemetry: implement substrate_number_leaves metrics (#1926) (69823c0)
  • dot/telemetry: implement telemetry message network_state (#1618) (a81844e)
  • flags: read log levels from flags (#1953) (9694e46)
  • implement ext_default_child_storage_storage_kill_version_2 (#1799) (c2908ae)
  • implement ext_offchain_index_set_version_1 for wasmer runtime (#1739) (96c30a6)
  • lib/babe: add check of types.ConfigData.SecondarySlots for disabling secondary verification (#1910) (cd27ae4)
  • lib/grandpa: fully verify justifications using GrandpaState (#1544) (028d25e)
  • lib/grandpa: Include equivocatory nodes while creating justification (#1911) (aca86b6)
  • lib/grandpa: send NeighbourMessage to peers (#1558) (322ccf9)
  • lib/runtime/wasmer: implement ext_default_child_storage_storage_kill_version_3 (#1878) (a719a60)
  • lib/runtime/wasmer: implement ext_offchain_local_storage_version_1 (#1821) (0f63b17)
  • lib/runtime: Implement ext_offchain_http_request_add_header_version_1 host function (#1994) (0a30b3d)
  • lib/runtime: Implement ext_offchain_http_request_start_version_1 host function (#1947) (974b1fc)
  • lib/runtime: Implement trie_blake2_256_verify_proof host function (#1920) (506565d)
  • lib/trie: Implement verify_proof function (#1883) (67bb5ef)
  • lib/trie: Implement limit for trie.ClearPrefix (#1905) (becec9e)
  • lib/trie: Parallel hash trie. (#1657) (22827e7)
  • pprof: Pprof HTTP server service (#1991) (ce24ea9)
  • rpc/subscription: implement state_unsubscribeStorage (#1574) (7574f10)
  • rpc: Implement childstate_getChildStorage RPC call (#1832) (3d949f2)
  • rpc: Implement childstate_getStorageHash RPC call (#1805) (e539bd3)
  • rpc: Implement childstate_getStorageSize RPC call (#1810) (a04deb6)
  • rpc: Implement payment_queryInfo RPC call (#1826) (7a5deec)
  • rpc: Implement state_getReadProof rpc call (#1768) (865f80f)
  • runtime: implement custom logging handler that print function name (#1825) (2b1276d)
  • telemetry: send telemetry messages when GRANDPA receieves commit or vote messages (#2015) (7bf40e1), closes #1840 #1839 #1838
  • telemetry: send txpool.import telemetry msg (#1966) (ffc81bf)

Reverts

  • Revert "feat(dot/rpc) implement author_hasSessionKeys RPC call (#1704)" (#1714) (65380fd), closes #1704 #1714