Skip to content

Tags: boern/gossamer

Tags

v0.7.0

Toggle v0.7.0's commit message
chore(release): 0.7.0 [skip ci]

# [0.7.0](ChainSafe/gossamer@v0.6.0...v0.7.0) (2022-11-23)

### Bug Fixes

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

### Features

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

v0.6.0

Toggle v0.6.0's commit message
chore(release): 0.6.0 [skip ci]

# [0.6.0](ChainSafe/gossamer@v0.5.0...v0.6.0) (2021-12-03)

### Bug Fixes

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

### Features

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

### Reverts

* Revert "feat(dot/rpc) implement `author_hasSessionKeys` RPC call (ChainSafe#1704)" (ChainSafe#1714) ([65380fd](ChainSafe@65380fd)), closes [ChainSafe#1704](ChainSafe#1704) [ChainSafe#1714](ChainSafe#1714)

v0.5.0

Toggle v0.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
chore(release): release v0.5.0 (ChainSafe#1562)

v0.4.1

Toggle v0.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
fix(dot/network): fix receiving notifications messages from substrate…

… peers (ChainSafe#1517)

v0.4.0

Toggle v0.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
chore(release): Fix Deepsource error on development branch. (ChainSaf…

…e#1516)

* Fix Deepsource error.

* Fix lint issues.

v0.3.2

Toggle v0.3.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
chore: update cli version (ChainSafe#1487)

v0.3.1

Toggle v0.3.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
dot/state: update rewind to forcefully set blocktree root, update fla…

…g param to be block to rewind to (ChainSafe#1443)

v0.3.0

Toggle v0.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Grandpa Prove Finality RPC (ChainSafe#1379)

v0.2.0

Toggle v0.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
dot/network: implement block announce protocol (ChainSafe#1162)

v0.1.0

Toggle v0.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
cmd/gossamer: rename verbosity to log (ChainSafe#891)

* rename verbosity to log

* minor code cleanup

* fix typo fix