|
| 1 | +## 2022-11-15 v0.13.0 |
| 2 | + |
| 3 | +Release highlights: |
| 4 | +- A [Waku canary tool](https://github.com/status-im/nwaku/tree/2336522d7f478337237a5a4ec8c5702fb4babc7d/tools#waku-canary-tool) to check if nodes are reachable and what protocols they support. |
| 5 | +- Simplified configuration for store protocol. This [new guide](https://github.com/status-im/nwaku/blob/4e5318bfbb204bd1239c95472d7b84b6a326dd9d/docs/operators/how-to/configure-store.md) explains how to configure store from this release forward. |
| 6 | +- Support for environment variables to configure a nwaku node. See our [configuration guide](https://github.com/status-im/nwaku/blob/384abed614050bf3aa90c901d7f5e8bc383e8b22/docs/operators/how-to/configure.md) for more. |
| 7 | +- A Waku [network monitoring tool](https://github.com/status-im/nwaku/tree/2336522d7f478337237a5a4ec8c5702fb4babc7d/tools#networkmonitor) to report network metrics, including network size, discoverable peer capabilities and more. |
| 8 | + |
| 9 | +### Features |
| 10 | + |
| 11 | +- Added Waku canary tool to check if i) a given node is reachable and ii) it supports a set of protocols. |
| 12 | +- Simplified [Waku store configuration](https://github.com/status-im/nwaku/blob/4e5318bfbb204bd1239c95472d7b84b6a326dd9d/docs/operators/how-to/configure-store.md). |
| 13 | +- Decoupled Waku peer persistence configuration from message store configuration. |
| 14 | +- Added keyfile support for secure storage of RLN credentials. |
| 15 | +- Added configurable libp2p agent string to nwaku switch. |
| 16 | +- Support for [configuration with environment variables](https://github.com/status-im/nwaku/blob/384abed614050bf3aa90c901d7f5e8bc383e8b22/docs/operators/how-to/configure.md). |
| 17 | +- Added [example module](https://github.com/status-im/nwaku/tree/2336522d7f478337237a5a4ec8c5702fb4babc7d/examples/v2) to showcase basic nwaku relay usage. |
| 18 | +- Added a nwaku [network monitoring tool](https://github.com/status-im/nwaku/tree/2336522d7f478337237a5a4ec8c5702fb4babc7d/tools#networkmonitor) to provide metrics on peers, network size and more. |
| 19 | + |
| 20 | +### Changes |
| 21 | + |
| 22 | +- Removed support for Kilic's RLN library (obsolete). |
| 23 | +- Improved logging for [`17/WAKU-RLN-RELAY`](https://rfc.vac.dev/spec/17/) implementation. |
| 24 | +- Connection to eth node for RLN now more stable, maintains state and logs failures. |
| 25 | +- Waku apps and tools now moved to their own subdirectory. |
| 26 | +- Continued refactoring of several protocol implementations to improve maintainability and readability. |
| 27 | +- Periodically log metrics when running RLN spam protection. |
| 28 | +- Added metrics dashboard for RLN spam protection. |
| 29 | +- Github CI test workflows are now run selectively, based on the content of a PR. |
| 30 | +- Improved reliability of CI runs and added email notifications. |
| 31 | +- Discv5 discovery loop now triggered to fill a [34/WAKU2-PEER-EXCHANGE](https://rfc.vac.dev/spec/34/) peer list cache asynchronously. |
| 32 | +- Upgraded to Nim v1.6.6. |
| 33 | +- Cleaned up compiler warnings on unused imports. |
| 34 | +- Improved exception handling and annotation. |
| 35 | +- [`13/WAKU2-STORE`](https://rfc.vac.dev/spec/13/) no longer enabled by default on nwaku nodes. |
| 36 | +- Merkle tree roots for RLN membership changes now on a per-block basis to allow poorly connected peers to operate within a window of acceptable roots. |
| 37 | + |
| 38 | +### Fixes |
| 39 | + |
| 40 | +- Fixed encoding of ID commitments for RLN from Big-Endian to Little-Endian. [#1256](https://github.com/status-im/nwaku/pull/1256) |
| 41 | +- Fixed maxEpochGap to be the maximum allowed epoch gap (RLN). [#1257](https://github.com/status-im/nwaku/pull/1257) |
| 42 | +- Fixed store cursors being retrieved incorrectly (truncated) from DB. [#1263](https://github.com/status-im/nwaku/pull/1263) |
| 43 | +- Fixed message indexed by store cursor being excluded from history query results. [#1263](https://github.com/status-im/nwaku/pull/1263) |
| 44 | +- Fixed log-level configuration being ignored by the nwaku node. [#1272](https://github.com/status-im/nwaku/pull/1272) |
| 45 | +- Fixed incorrect error message when failing to set [34/WAKU2-PEER-EXCHANGE](https://rfc.vac.dev/spec/34/) peer. [#1298](https://github.com/status-im/nwaku/pull/1298) |
| 46 | +- Fixed and replaced deprecated `TaintedString` type. [#1326](https://github.com/status-im/nwaku/pull/1326) |
| 47 | +- Fixed and replaced unreliable regex library and usage. [#1327](https://github.com/status-im/nwaku/pull/1327) [#1328](https://github.com/status-im/nwaku/pull/1328) |
| 48 | +- Fixed and replaced deprecated `ganache-cli` node package with `ganache` for RLN onchain tests. Added graceful daemon termination. [#1347](https://github.com/status-im/nwaku/pull/1347) |
| 49 | + |
| 50 | +### Docs |
| 51 | + |
| 52 | +- Added cross client RLN testnet [tutorial](https://github.com/status-im/nwaku/blob/44d8a2026dc31a37e181043ceb67e2822376dc03/docs/tutorial/rln-chat-cross-client.md). |
| 53 | +- Fixed broken link to Kibana in [cluster documentation](https://github.com/status-im/nwaku/blob/5e90085242e9e4d6f3cf307e189efbf7e59da9f9/docs/contributors/cluster-logs.md). |
| 54 | +- Added an improved [quickstart guide](https://github.com/status-im/nwaku/blob/8f5363ea8f5e95fc1104307aa0d2fc59fda13698/docs/operators/quickstart.md) for operators. |
| 55 | +- Added a [Docker usage guide](https://github.com/status-im/nwaku/blob/8f5363ea8f5e95fc1104307aa0d2fc59fda13698/docs/operators/docker-quickstart.md#prerequisites) for operators. |
| 56 | +- Added operator [guide on running RLN spam prevention](https://github.com/status-im/nwaku/blob/bd516788cb39132ccbf0a4dcf0880e9694beb233/docs/operators/how-to/run-with-rln.md) on nwaku nodes. |
| 57 | +- Extended guidelines on nwaku [configuration methods](https://github.com/status-im/nwaku/blob/384abed614050bf3aa90c901d7f5e8bc383e8b22/docs/operators/how-to/configure.md) for operators. |
| 58 | +- Added new [store configuration guide](https://github.com/status-im/nwaku/blob/4e5318bfbb204bd1239c95472d7b84b6a326dd9d/docs/operators/how-to/configure-store.md) to reflect simplified options. |
| 59 | + |
| 60 | +This release supports the following [libp2p protocols](https://docs.libp2p.io/concepts/protocols/): |
| 61 | +| Protocol | Spec status | Protocol id | |
| 62 | +| ---: | :---: | :--- | |
| 63 | +| [`11/WAKU2-RELAY`](https://rfc.vac.dev/spec/11/) | `stable` | `/vac/waku/relay/2.0.0` | |
| 64 | +| [`12/WAKU2-FILTER`](https://rfc.vac.dev/spec/12/) | `draft` | `/vac/waku/filter/2.0.0-beta1` | |
| 65 | +| [`13/WAKU2-STORE`](https://rfc.vac.dev/spec/13/) | `draft` | `/vac/waku/store/2.0.0-beta4` | |
| 66 | +| [`18/WAKU2-SWAP`](https://rfc.vac.dev/spec/18/) | `draft` | `/vac/waku/swap/2.0.0-beta1` | |
| 67 | +| [`19/WAKU2-LIGHTPUSH`](https://rfc.vac.dev/spec/19/) | `draft` | `/vac/waku/lightpush/2.0.0-beta1` | |
| 68 | + |
| 69 | +The Waku v1 implementation is stable but not under active development. |
| 70 | + |
1 | 71 | ## 2022-10-06 v0.12.0 |
2 | 72 |
|
3 | 73 | Release highlights: |
|
0 commit comments