diff --git a/CHANGELOG.md b/CHANGELOG.md index e161687db2..e75553924c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,107 @@ # Semantic Versioning Changelog +# [0.8.0](https://github.com/ChainSafe/gossamer/compare/v0.7.0...v0.8.0) (2023-12-11) + + +### Bug Fixes + +* **.github/workflows:** update node.js version ([#3637](https://github.com/ChainSafe/gossamer/issues/3637)) ([619be1b](https://github.com/ChainSafe/gossamer/commit/619be1b71b3fae344e8f1ae141ca875ce0ae25fc)) +* **babe:** Add support for versioned NextConfigData decoding ([#3239](https://github.com/ChainSafe/gossamer/issues/3239)) ([5ee3a64](https://github.com/ChainSafe/gossamer/commit/5ee3a641ff02153b7d1e9611f4fc8c90d7c66fad)) +* **blockstate:** if blocktree fails to search a hash in memory, load it from disk ([#3059](https://github.com/ChainSafe/gossamer/issues/3059)) ([6442544](https://github.com/ChainSafe/gossamer/commit/64425445e6be472ae1e2dffba85f8ce4221d2eb8)) +* cache slot to header data while checking BABE equivocation ([#3364](https://github.com/ChainSafe/gossamer/issues/3364)) ([dcfa4a4](https://github.com/ChainSafe/gossamer/commit/dcfa4a44acbfea9dc062fcf8eccb15dc61480ea2)) +* **chain:** Fix `chain=westend` option ([#3123](https://github.com/ChainSafe/gossamer/issues/3123)) ([64dbba6](https://github.com/ChainSafe/gossamer/commit/64dbba63b663cb9eb662a0dee24d0406f2d22baf)) +* **ci:** cancel previous workflow runs ([#3140](https://github.com/ChainSafe/gossamer/issues/3140)) ([a322a19](https://github.com/ChainSafe/gossamer/commit/a322a1934c1ca1b3db8d91823028e08fb10b841b)) +* **ci:** fix all Deepsource issues ([#3046](https://github.com/ChainSafe/gossamer/issues/3046)) ([4ea0a70](https://github.com/ChainSafe/gossamer/commit/4ea0a703339ca06e617b06eeb7d56308e7b48093)) +* **ci:** fix broken docker build ([#3231](https://github.com/ChainSafe/gossamer/issues/3231)) ([f796430](https://github.com/ChainSafe/gossamer/commit/f7964304beecd5631466b74f0de638848e97971c)) +* **ci:** Fix staging metrics collection ([#3138](https://github.com/ChainSafe/gossamer/issues/3138)) ([05a5c4c](https://github.com/ChainSafe/gossamer/commit/05a5c4c6264b32bb0f765377572d08252dfa0f98)) +* **cli:** parse module log-levels ([#3285](https://github.com/ChainSafe/gossamer/issues/3285)) ([86c7577](https://github.com/ChainSafe/gossamer/commit/86c7577dbf5d603422ee1cc237014c74235c374f)) +* **cmd/gossamer:** embed default toml config files ([#3091](https://github.com/ChainSafe/gossamer/issues/3091)) ([af38364](https://github.com/ChainSafe/gossamer/commit/af38364f5ec209f56b6ae69072b60e22f2d6c093)) +* **cmd/gossamer:** update error message ([#3301](https://github.com/ChainSafe/gossamer/issues/3301)) ([960a9d4](https://github.com/ChainSafe/gossamer/commit/960a9d48e52dde4785cfa3c9c05c6493d5dbb452)) +* **dot/babe:** use `bs.latestFinalised` instead of using `round/set id` ([#3167](https://github.com/ChainSafe/gossamer/issues/3167)) ([46c0ef7](https://github.com/ChainSafe/gossamer/commit/46c0ef7d4013a2bba225c8e502978894c4eb571a)) +* **dot/digest:** create `BlockImportHandler` and remove channel ([#3312](https://github.com/ChainSafe/gossamer/issues/3312)) ([a179855](https://github.com/ChainSafe/gossamer/commit/a179855cd2ed7614e94c090e80111d2bc3ea365c)) +* **dot/network:** `findPeers` returns on timeout if a peer is found ([#3001](https://github.com/ChainSafe/gossamer/issues/3001)) ([2a05ce7](https://github.com/ChainSafe/gossamer/commit/2a05ce76a84765da17147598c99a66e06486b754)) +* **dot/network:** remove `maxReads` limitation to read stream ([#3287](https://github.com/ChainSafe/gossamer/issues/3287)) ([483b23f](https://github.com/ChainSafe/gossamer/commit/483b23f19467eaa22ece4fb26566dcf70f28e0c7)) +* **dot/state:** clean up scheduled changes once a forced change is applied ([#3219](https://github.com/ChainSafe/gossamer/issues/3219)) ([5ebec46](https://github.com/ChainSafe/gossamer/commit/5ebec4651ff88514cdb2e8a536c680fc6475d267)) +* **dot/state:** fix a bug in IsDescendantOf ([#3125](https://github.com/ChainSafe/gossamer/issues/3125)) ([4fd4a89](https://github.com/ChainSafe/gossamer/commit/4fd4a89610da35a5a1424121a808b93ac9983d42)) +* **dot/state:** store raw authority keys and decode when verifying block signature ([#3627](https://github.com/ChainSafe/gossamer/issues/3627)) ([58f741d](https://github.com/ChainSafe/gossamer/commit/58f741d8d4d98ef7e8a66116f7ef77fe945b8fd5)) +* **dot/sync:** fix `Timestamp slot must match 'CurrentSlot'` while using `westend` spec file ([#3040](https://github.com/ChainSafe/gossamer/issues/3040)) ([e6da01b](https://github.com/ChainSafe/gossamer/commit/e6da01b2f323d377dbcb2e053a4b2bc2daa34e3f)) +* **dot/sync:** Revert verify justification before importing blocks ([#3615](https://github.com/ChainSafe/gossamer/issues/3615)) ([11b96dc](https://github.com/ChainSafe/gossamer/commit/11b96dcfa326a74911c76b120de7373c47de37a2)) +* **dot/sync:** rework on bootstrap/tip sync ([#3227](https://github.com/ChainSafe/gossamer/issues/3227)) ([ab6650a](https://github.com/ChainSafe/gossamer/commit/ab6650a1ae722071f6415e2ce2649a8a13f99dc4)) +* **dot/sync:** use `Range` instead of `SubChain` at `handleDescedingRequest` ([#3006](https://github.com/ChainSafe/gossamer/issues/3006)) ([a83c1a3](https://github.com/ChainSafe/gossamer/commit/a83c1a36521c1954953d524517ed774a93a21122)) +* **dot/sync:** verify justification before importing blocks ([#3576](https://github.com/ChainSafe/gossamer/issues/3576)) ([2954fc0](https://github.com/ChainSafe/gossamer/commit/2954fc0b2c49eee6e93d5ac82ae5cae2c6bff440)) +* **dot/sync:** wrong error message at `checkOrGetDescendantHash` ([#2971](https://github.com/ChainSafe/gossamer/issues/2971)) ([b1c6bf1](https://github.com/ChainSafe/gossamer/commit/b1c6bf1a6ca48622276f59457e5e32a50b3fa0da)) +* **dot:** use tempDir in tests as base path to avoid creating `dot/~` ([#3363](https://github.com/ChainSafe/gossamer/issues/3363)) ([04514d5](https://github.com/ChainSafe/gossamer/commit/04514d53e5d81bae57ca81d0e69193ef52ab05c3)) +* **go.mod:** Replace `centrifuge/go-substrate-rpc-client` dependency to `timwu20/go-substrate-rpc-client` temporarily to fix build ([#3572](https://github.com/ChainSafe/gossamer/issues/3572)) ([ea49251](https://github.com/ChainSafe/gossamer/commit/ea4925135525e77c00a2e9f959af39d944cf4628)) +* **lib/babe:** Add context and additional assertion to TestBuildBlock_ok ([#3101](https://github.com/ChainSafe/gossamer/issues/3101)) ([a9a89ed](https://github.com/ChainSafe/gossamer/commit/a9a89ed8afa2a75b5a09fc7a1da2009025111680)) +* **lib/babe:** rewrite TestBuildBlock_failing ([#3089](https://github.com/ChainSafe/gossamer/issues/3089)) ([28a3d0b](https://github.com/ChainSafe/gossamer/commit/28a3d0b4ffb379b04472d4823d82c3e56186d152)) +* **lib/babe:** use current system time to yield a new slot ([#3133](https://github.com/ChainSafe/gossamer/issues/3133)) ([9cd6f25](https://github.com/ChainSafe/gossamer/commit/9cd6f25447d06092df199e06b770f65c12e7a0ec)) +* **lib/grandpa:** on verifying block justification, compare given block hash with finalised hash ([#3081](https://github.com/ChainSafe/gossamer/issues/3081)) ([fc91843](https://github.com/ChainSafe/gossamer/commit/fc9184372a725b8f411e141be96fa3dcfadce92e)) +* **lib/grandpa:** ensure `finalisationEngine` exits when stop channel is triggered ([#3141](https://github.com/ChainSafe/gossamer/issues/3141)) ([d7f7c06](https://github.com/ChainSafe/gossamer/commit/d7f7c068560f75597d6535dc3b95f905095af5a1)) +* **lib/runtime:** `ext_default_child_storage_next_key_version_1` return `None` correctly ([#3473](https://github.com/ChainSafe/gossamer/issues/3473)) ([c7d574b](https://github.com/ChainSafe/gossamer/commit/c7d574bbd949f76537cc1cf8f87681d1250f20ec)) +* **lib/runtime:** Fix `wasm error: out of bounds memory access` at `[#9412261](https://github.com/ChainSafe/gossamer/issues/9412261)` ([#3588](https://github.com/ChainSafe/gossamer/issues/3588)) ([ecb1ad9](https://github.com/ChainSafe/gossamer/commit/ecb1ad91b9119d2c6e8eec0894e769aa0cf5b586)) +* **lib/runtime:** prevents polkadot zero-address bug using `sr25519_verify` version 1 ([#3494](https://github.com/ChainSafe/gossamer/issues/3494)) ([8b93d5e](https://github.com/ChainSafe/gossamer/commit/8b93d5e532d551d5284a14c202e85f4e850632f1)) +* **lib/runtime:** return correct encoded value for `None` ([#3451](https://github.com/ChainSafe/gossamer/issues/3451)) ([3e11bc2](https://github.com/ChainSafe/gossamer/commit/3e11bc2647548ee593e4494fd4c0b119b0be0f2c)) +* **lib/runtime:** update `MaxPossibleAllocation` to `2^25` ([#3393](https://github.com/ChainSafe/gossamer/issues/3393)) ([91eabdc](https://github.com/ChainSafe/gossamer/commit/91eabdcc0b4c52bda79caa1604ee558747fcf269)) +* **lib/runtime:** use `westend-dev` spec file in `TestNodeRuntime_ValidateTransaction` ([#3047](https://github.com/ChainSafe/gossamer/issues/3047)) ([043f5eb](https://github.com/ChainSafe/gossamer/commit/043f5eb77f0468f61e5721b8833b032df9f84562)) +* **lib/trie:** `ClearFromChild` should update parent trie ([#3482](https://github.com/ChainSafe/gossamer/issues/3482)) ([70e2d2b](https://github.com/ChainSafe/gossamer/commit/70e2d2beea3d14a41f0cdbd162fca94043c29e6b)) +* **lib/trie:** create an empty child trie if not found ([#3459](https://github.com/ChainSafe/gossamer/issues/3459)) ([5d68447](https://github.com/ChainSafe/gossamer/commit/5d6844748bc26e3ca9be2e8a62cd0276abe578e4)) +* **lib/trie:** record deleted Merkle values fixed ([#2873](https://github.com/ChainSafe/gossamer/issues/2873)) ([61f0216](https://github.com/ChainSafe/gossamer/commit/61f02161e0aadf988b1627857e6b90d2e1c138b2)) +* **peerset:** check for incoming slot error ([#2952](https://github.com/ChainSafe/gossamer/issues/2952)) ([a1602bc](https://github.com/ChainSafe/gossamer/commit/a1602bc21084919c299bd11218560125404b870b)) +* **rpc-tests:** Fix node port to execute tests on macOS ([#3223](https://github.com/ChainSafe/gossamer/issues/3223)) ([f758575](https://github.com/ChainSafe/gossamer/commit/f758575c4c5bb4312fef9bd40b330aa2c78e5a0c)) +* **rpc/modules:** use `westend-local` in `TestAuthorModule_SubmitExtrinsic_invalid` test ([#3051](https://github.com/ChainSafe/gossamer/issues/3051)) ([b6429b7](https://github.com/ChainSafe/gossamer/commit/b6429b75001bd4582ed3848840f4ae46dc6a7caa)) +* **runtime:** initialize TransactionState when creating runtime instance ([#3188](https://github.com/ChainSafe/gossamer/issues/3188)) ([29fe7a0](https://github.com/ChainSafe/gossamer/commit/29fe7a01db0a389f4d81c1740c190fd84f950b4b)) +* **scale:** Use *int for scale index ([#3274](https://github.com/ChainSafe/gossamer/issues/3274)) ([9b04d30](https://github.com/ChainSafe/gossamer/commit/9b04d307e148a4659ac330e0e1edd42e57ceb527)) +* **staging:** fixes the staging deployment issues caused by the new cli ([#3266](https://github.com/ChainSafe/gossamer/issues/3266)) ([1f4e786](https://github.com/ChainSafe/gossamer/commit/1f4e786883f6223c9db151a45c2bef04116fa251)) +* **state:** clarify node hashes vs merkle values ([#2915](https://github.com/ChainSafe/gossamer/issues/2915)) ([e4033e8](https://github.com/ChainSafe/gossamer/commit/e4033e8cefbe7c5176e956cb14cb5259353207fc)) +* **test/rpc:** use `westend-local` in `TestStateRPCAPI` ([#3049](https://github.com/ChainSafe/gossamer/issues/3049)) ([c57ade6](https://github.com/ChainSafe/gossamer/commit/c57ade66bd9ce3fded39e076ec1b7920068f1342)) +* **tests/polkadot_js:** Use `westend-local` to run polkadot js test suite ([#3052](https://github.com/ChainSafe/gossamer/issues/3052)) ([2d5ead1](https://github.com/ChainSafe/gossamer/commit/2d5ead18ed3aa8fd1e412b26755a165de2248c02)) +* **tests/rpc:** ensure new blocks are created before assert ([#3042](https://github.com/ChainSafe/gossamer/issues/3042)) ([a116d58](https://github.com/ChainSafe/gossamer/commit/a116d58bd1d19a6de71894486cd31816c0ec2550)) +* **tests/rpc:** flaky test `TestChainSubscriptionRPC/chain_subscribeNewHeads` ([#3092](https://github.com/ChainSafe/gossamer/issues/3092)) ([5b56238](https://github.com/ChainSafe/gossamer/commit/5b5623852e5c7397d19b3b60286185e6a990a909)) +* **tests/rpc:** place `GreaterOrEqual` arguments in the correct order at `chain_subscribeNewHeads` test ([#3137](https://github.com/ChainSafe/gossamer/issues/3137)) ([33bdf28](https://github.com/ChainSafe/gossamer/commit/33bdf28ca69dcee0e6fe23756b267446b5e6ce92)) +* **tests:** Export unimplemented runtime fuctions ([#3461](https://github.com/ChainSafe/gossamer/issues/3461)) ([3e4546c](https://github.com/ChainSafe/gossamer/commit/3e4546c407341f7a1e689a8a2651d646e92db0cc)) +* **trie:** do not create buffer for nil child ([#2928](https://github.com/ChainSafe/gossamer/issues/2928)) ([d70af4f](https://github.com/ChainSafe/gossamer/commit/d70af4ff5040a3d1299ce03c8f30331465bbd896)) +* **wasmer:** `ext_storage_exists_version_1` for empty values ([#2973](https://github.com/ChainSafe/gossamer/issues/2973)) ([059268e](https://github.com/ChainSafe/gossamer/commit/059268e29b6240fbdec1ccb7f353bb0c35efa849)) + + +### Features + +* **chain:** Add Westend network as command line `chain` option ([#3103](https://github.com/ChainSafe/gossamer/issues/3103)) ([d9cdd45](https://github.com/ChainSafe/gossamer/commit/d9cdd45d63b0985878dc964c4b93ef7d706b2606)) +* **chain:** remove unneeded spec files ([#3086](https://github.com/ChainSafe/gossamer/issues/3086)) ([c76387d](https://github.com/ChainSafe/gossamer/commit/c76387daa6d34bf080f47f584399efe8b784eebc)) +* **cli:** use a single flag for log level in the CLI ([#3303](https://github.com/ChainSafe/gossamer/issues/3303)) ([caf3ea4](https://github.com/ChainSafe/gossamer/commit/caf3ea4ac2d738cbb89884a224f967e74c5c1701)) +* **dot/network:** introduce libp2p resource manager + prometheus metrics ([#3333](https://github.com/ChainSafe/gossamer/issues/3333)) ([f166746](https://github.com/ChainSafe/gossamer/commit/f166746e22970cbe32c1cf01a019c11d89b4d4ef)) +* **dot/rpc:** export block trie state entries for a block hash ([#3607](https://github.com/ChainSafe/gossamer/issues/3607)) ([43828fe](https://github.com/ChainSafe/gossamer/commit/43828fe0c20b0ae4dc58f2a45d2cd00f1768569b)) +* **dot/rpc:** implement RPC method state_queryStorageAt ([#3191](https://github.com/ChainSafe/gossamer/issues/3191)) ([3bbdfe0](https://github.com/ChainSafe/gossamer/commit/3bbdfe076a49dcad0f060fc3e71ec9e7c54b2f96)) +* **dot/state:** create `Range` to traverse the blocktree and the blocks in the disk ([#2990](https://github.com/ChainSafe/gossamer/issues/2990)) ([4442eee](https://github.com/ChainSafe/gossamer/commit/4442eee9f219144ae687e681c02a02406f17a6d9)) +* **dot/state:** keep latest state trie in memory ([#3386](https://github.com/ChainSafe/gossamer/issues/3386)) ([421d087](https://github.com/ChainSafe/gossamer/commit/421d08721598ad27d890ebddf5f729bf9d62124f)) +* **dot/sync:** include block origin and skip extra validation on `initialSync` ([#3392](https://github.com/ChainSafe/gossamer/issues/3392)) ([8e1650e](https://github.com/ChainSafe/gossamer/commit/8e1650e0f16115ea2bf5f922207f5a40050fd122)) +* **dot/sync:** Remove the `EndBlockHash` from `BlockRequestMessage` ([#2977](https://github.com/ChainSafe/gossamer/issues/2977)) ([b25e0b4](https://github.com/ChainSafe/gossamer/commit/b25e0b47e04f91d5b2bc99c934f7eb777980cabe)) +* **internal/database:** replace `chaindb/badgerdb` with `pebbledb` ([#3434](https://github.com/ChainSafe/gossamer/issues/3434)) ([344461d](https://github.com/ChainSafe/gossamer/commit/344461dfca4d7cc341379cc778f4eeabd411e4cb)) +* introduces `SaturatingAdd` and `SaturatingSub` ([#3519](https://github.com/ChainSafe/gossamer/issues/3519)) ([daa9e25](https://github.com/ChainSafe/gossamer/commit/daa9e25e201e4a9459dad266bb9d979b9d250687)) +* **lib/allocator:** Refactor `FreeingBumpHeapAllocator` ([#3570](https://github.com/ChainSafe/gossamer/issues/3570)) ([39ca47f](https://github.com/ChainSafe/gossamer/commit/39ca47fc407253426feeb5694c40b63848b51da2)) +* **lib/babe:** Submit BABE equivocation report ([#2947](https://github.com/ChainSafe/gossamer/issues/2947)) ([55de62e](https://github.com/ChainSafe/gossamer/commit/55de62e2984a9e0a3db0a9a663f5133bb5928376)), closes [#2853](https://github.com/ChainSafe/gossamer/issues/2853) +* **lib/blocktree:** reduce the entries in the runtimes mapping ([#3151](https://github.com/ChainSafe/gossamer/issues/3151)) ([1a34972](https://github.com/ChainSafe/gossamer/commit/1a34972b4cdfd49174bac566b3b26061fc23113f)) +* **lib/grandpa:** include `t.Parallel()` to all `lib/grandpa` tests ([#2840](https://github.com/ChainSafe/gossamer/issues/2840)) ([5c93488](https://github.com/ChainSafe/gossamer/commit/5c9348852bea2aee20d724dcf7c7f863850f8882)) +* **lib/runtime/wasmer:** report grandpa equivocations ([#3007](https://github.com/ChainSafe/gossamer/issues/3007)) ([e63aeea](https://github.com/ChainSafe/gossamer/commit/e63aeea4423fe05efc94756160ddcf47382dbe90)) +* **lib/runtime:** `wazero` implementation of `runtime.Instance` ([#3279](https://github.com/ChainSafe/gossamer/issues/3279)) ([115d6f5](https://github.com/ChainSafe/gossamer/commit/115d6f53bd3b843aba03678909c20f111a8e6ddd)) +* **lib/runtime:** add extra required runtime imports for parachain validation ([#3254](https://github.com/ChainSafe/gossamer/issues/3254)) ([dc1a521](https://github.com/ChainSafe/gossamer/commit/dc1a521f7104cfd8a26fa843858dd8538e0d90c7)) +* **lib/runtime:** Update default `runtime.Instance` to `wazero` ([#3352](https://github.com/ChainSafe/gossamer/issues/3352)) ([308b10a](https://github.com/ChainSafe/gossamer/commit/308b10af3912a80a5e2c974b159092151366301e)) +* **pkg/scale:** `VaryingDataType` String method ([#2970](https://github.com/ChainSafe/gossamer/issues/2970)) ([841636e](https://github.com/ChainSafe/gossamer/commit/841636ed034d29bcfd06fe93b52d3f9074b042ab)) +* **pkg/scale:** Add `Marshaler` and `Unmarshaler` interfaces and functionality ([#3617](https://github.com/ChainSafe/gossamer/issues/3617)) ([4888ce4](https://github.com/ChainSafe/gossamer/commit/4888ce4cf10919a758f0f511256081bbd306f54c)) +* **pkg/scale:** Use `New()` receiver function for construction of custom `VaryingDataType` ([#3315](https://github.com/ChainSafe/gossamer/issues/3315)) ([9688f6c](https://github.com/ChainSafe/gossamer/commit/9688f6c258f6f4cc48d99969d6573aca46bb2563)) +* **runtime/wasmer:** create wrapper around wasmer.Memory ([#3160](https://github.com/ChainSafe/gossamer/issues/3160)) ([fc1055d](https://github.com/ChainSafe/gossamer/commit/fc1055dddce38cdcd61ec9afb593a10a30e2fde9)) +* **runtime/wasmer:** write wasmer using latest wasmer version ([#3168](https://github.com/ChainSafe/gossamer/issues/3168)) ([32f1aa8](https://github.com/ChainSafe/gossamer/commit/32f1aa8950d0bcbd86588981778cb92f415d000a)) +* **scale:** add `MustMarshal` function ([#2991](https://github.com/ChainSafe/gossamer/issues/2991)) ([32a80aa](https://github.com/ChainSafe/gossamer/commit/32a80aa9af7d0d6475ceeac27d85954da5818aed)) +* **sync:** Validate bad blocks ([#3220](https://github.com/ChainSafe/gossamer/issues/3220)) ([0d0354b](https://github.com/ChainSafe/gossamer/commit/0d0354bb49d9c6c847d8bc716c5978ac8b026930)) +* **telemetry:** Add scheduled and force changes telemetry metrics ([#3226](https://github.com/ChainSafe/gossamer/issues/3226)) ([c53b1cd](https://github.com/ChainSafe/gossamer/commit/c53b1cd425f691071316a6cf92ad1644af5e258b)) +* **trie:** Add trie v1 new headers support ([#3295](https://github.com/ChainSafe/gossamer/issues/3295)) ([c30f463](https://github.com/ChainSafe/gossamer/commit/c30f46379022c2341dd0f86dab117f9ca039a574)) +* **zombienet:** Add javascript tests to zombienet testing ([#3200](https://github.com/ChainSafe/gossamer/issues/3200)) ([aca9a5b](https://github.com/ChainSafe/gossamer/commit/aca9a5b58a9c81ba8324dd2c2bc71fdf2f83c2f1)) +* **zombienet:** add zombienet testing to github workflow ([#3192](https://github.com/ChainSafe/gossamer/issues/3192)) ([d788bd6](https://github.com/ChainSafe/gossamer/commit/d788bd6871d57035e43eda35681351806669edbe)) + + +### Reverts + +* **lib/runtime:** rollback wasmer update `PR[#3168](https://github.com/ChainSafe/gossamer/issues/3168)` ([#3264](https://github.com/ChainSafe/gossamer/issues/3264)) ([e7ff0cf](https://github.com/ChainSafe/gossamer/commit/e7ff0cfbf184f5b914a37eaf1e4e90252d0dbae2)) + # [0.7.0](https://github.com/ChainSafe/gossamer/compare/v0.6.0...v0.7.0) (2022-11-23)