From d023d7ed61c7cd4be0857e67c6368aa92e725e60 Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Thu, 19 Sep 2024 10:14:21 +0300 Subject: [PATCH 01/11] updating changelog for release v0.33.0 --- CHANGELOG.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7a9469180..1502a8c7f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,52 @@ +## v0.33.0 (2024-09-25) + +#### Notes: + +* The `--pubsub-topic` CLI configuration has been deprecated and support for it will be removed on release v0.35.0. In order to migrate, please use the `--shard` configuration instead. For example, instead of `--pubsub-topic=/waku/2/rs//`, use `--cluster-id=` and `--shard=` +* The `--rest-private` CLI configuration is no longer supported. Please remove any reference to it when running your nodes +* Introduced the `--reliability` CLI configuration, activating the new experimental StoreV3 message confirmation protocol +* (add instructions of the CLI options for the peer exchange rate limiting) + +### Release highlights + +* a new experimental reliability protocol has been implemented, leveraging StoreV3 to confirm message delivery +* (add highlight of the peer exchange rate limiting) + +### Bug Fixes + +- setting up node with modified config ([#3036](https://github.com/waku-org/nwaku/issues/3036)) ([8f289925](https://github.com/waku-org/nwaku/commit/8f289925)) +- get back health check for postgres legacy ([#3010](https://github.com/waku-org/nwaku/issues/3010)) ([5a0edff7](https://github.com/waku-org/nwaku/commit/5a0edff7)) +- libnegentropy integration ([#2996](https://github.com/waku-org/nwaku/issues/2996)) ([c3cb06ac](https://github.com/waku-org/nwaku/commit/c3cb06ac)) +- peer-exchange issue ([#2889](https://github.com/waku-org/nwaku/issues/2889)) ([43157102](https://github.com/waku-org/nwaku/commit/43157102)) +- copy libnegentropy.so from nim-build image ([#2991](https://github.com/waku-org/nwaku/issues/2991)) ([2edc0bc5](https://github.com/waku-org/nwaku/commit/2edc0bc5)) + +### Changes + +- rate limit peer exchange protocol, enhanced response status in RPC ([#3035](https://github.com/waku-org/nwaku/issues/3035)) ([0a7f16a3](https://github.com/waku-org/nwaku/commit/0a7f16a3)) +- Switch libnegentropy library build from shared to static linkage ([#3041](https://github.com/waku-org/nwaku/issues/3041)) ([83f25c3e](https://github.com/waku-org/nwaku/commit/83f25c3e)) +- libwaku reduce repetitive code by adding a template handling resp returns ([#3032](https://github.com/waku-org/nwaku/issues/3032)) ([1713f562](https://github.com/waku-org/nwaku/commit/1713f562)) +- libwaku - extending the library with peer_manager and peer_exchange features ([#3026](https://github.com/waku-org/nwaku/issues/3026)) ([5ea1cf0c](https://github.com/waku-org/nwaku/commit/5ea1cf0c)) +- use submodule nph in CI to check lint ([#3027](https://github.com/waku-org/nwaku/issues/3027)) ([ce9a8c46](https://github.com/waku-org/nwaku/commit/ce9a8c46)) +- deprecating pubsub topic ([#2997](https://github.com/waku-org/nwaku/issues/2997)) ([a3cd2a1a](https://github.com/waku-org/nwaku/commit/a3cd2a1a)) +- lightpush - error metric less variable by only setting a fixed string ([#3020](https://github.com/waku-org/nwaku/issues/3020)) ([d3e6717a](https://github.com/waku-org/nwaku/commit/d3e6717a)) +- Bump dependencies for v0.33 ([#3017](https://github.com/waku-org/nwaku/issues/3017)) ([6c890de4](https://github.com/waku-org/nwaku/commit/6c890de4)) +- enhance libpq management ([#3015](https://github.com/waku-org/nwaku/issues/3015)) ([45319f09](https://github.com/waku-org/nwaku/commit/45319f09)) +- per limit split of PostgreSQL queries ([#3008](https://github.com/waku-org/nwaku/issues/3008)) ([e1e05afb](https://github.com/waku-org/nwaku/commit/e1e05afb)) +- Added metrics to liteprotocoltester ([#3002](https://github.com/waku-org/nwaku/issues/3002)) ([8baf627f](https://github.com/waku-org/nwaku/commit/8baf627f)) +- Better timing and requestId detail for slower store db queries ([#2994](https://github.com/waku-org/nwaku/issues/2994)) ([e8a49b76](https://github.com/waku-org/nwaku/commit/e8a49b76)) +- remove unused setting from external_config.nim ([#3004](https://github.com/waku-org/nwaku/issues/3004)) ([fd84363e](https://github.com/waku-org/nwaku/commit/fd84363e)) +- delivery monitor for store v3 reliability protocol ([#2977](https://github.com/waku-org/nwaku/issues/2977)) ([0f68274c](https://github.com/waku-org/nwaku/commit/0f68274c)) + +This release supports the following [libp2p protocols](https://docs.libp2p.io/concepts/protocols/): +| Protocol | Spec status | Protocol id | +| ---: | :---: | :--- | +| [`11/WAKU2-RELAY`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/11/relay.md) | `stable` | `/vac/waku/relay/2.0.0` | +| [`12/WAKU2-FILTER`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/12/filter.md) | `draft` | `/vac/waku/filter/2.0.0-beta1`
`/vac/waku/filter-subscribe/2.0.0-beta1`
`/vac/waku/filter-push/2.0.0-beta1` | +| [`13/WAKU2-STORE`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/13/store.md) | `draft` | `/vac/waku/store/2.0.0-beta4` | +| [`19/WAKU2-LIGHTPUSH`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/19/lightpush.md) | `draft` | `/vac/waku/lightpush/2.0.0-beta1` | +| [`66/WAKU2-METADATA`](https://github.com/waku-org/specs/blob/master/standards/core/metadata.md) | `raw` | `/vac/waku/metadata/1.0.0` | +| [`WAKU-SYNC`](https://github.com/waku-org/specs/blob/feat--waku-sync/standards/core/sync.md) | `draft` | `/vac/waku/sync/1.0.0` | + ## v0.32.0 (2024-08-30) #### Notes: From 22cf72607dcf3189a566d3855fcb1193edaa42f0 Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Mon, 23 Sep 2024 10:07:35 +0300 Subject: [PATCH 02/11] update changelog after extra commits --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1502a8c7f7..1a8b41ad11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ ### Changes +- extending store metrics ([#3042](https://github.com/waku-org/nwaku/issues/2995)) ([fd83b42f](https://github.com/waku-org/nwaku/commit/fd83b42f)) - rate limit peer exchange protocol, enhanced response status in RPC ([#3035](https://github.com/waku-org/nwaku/issues/3035)) ([0a7f16a3](https://github.com/waku-org/nwaku/commit/0a7f16a3)) - Switch libnegentropy library build from shared to static linkage ([#3041](https://github.com/waku-org/nwaku/issues/3041)) ([83f25c3e](https://github.com/waku-org/nwaku/commit/83f25c3e)) - libwaku reduce repetitive code by adding a template handling resp returns ([#3032](https://github.com/waku-org/nwaku/issues/3032)) ([1713f562](https://github.com/waku-org/nwaku/commit/1713f562)) From 693e0c8d96aae75f5a3e50782347e8e9a9d5358a Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Mon, 23 Sep 2024 10:10:22 +0300 Subject: [PATCH 03/11] fix numbering and order --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a8b41ad11..0246f5c34f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,6 @@ ### Changes -- extending store metrics ([#3042](https://github.com/waku-org/nwaku/issues/2995)) ([fd83b42f](https://github.com/waku-org/nwaku/commit/fd83b42f)) - rate limit peer exchange protocol, enhanced response status in RPC ([#3035](https://github.com/waku-org/nwaku/issues/3035)) ([0a7f16a3](https://github.com/waku-org/nwaku/commit/0a7f16a3)) - Switch libnegentropy library build from shared to static linkage ([#3041](https://github.com/waku-org/nwaku/issues/3041)) ([83f25c3e](https://github.com/waku-org/nwaku/commit/83f25c3e)) - libwaku reduce repetitive code by adding a template handling resp returns ([#3032](https://github.com/waku-org/nwaku/issues/3032)) ([1713f562](https://github.com/waku-org/nwaku/commit/1713f562)) @@ -34,6 +33,7 @@ - enhance libpq management ([#3015](https://github.com/waku-org/nwaku/issues/3015)) ([45319f09](https://github.com/waku-org/nwaku/commit/45319f09)) - per limit split of PostgreSQL queries ([#3008](https://github.com/waku-org/nwaku/issues/3008)) ([e1e05afb](https://github.com/waku-org/nwaku/commit/e1e05afb)) - Added metrics to liteprotocoltester ([#3002](https://github.com/waku-org/nwaku/issues/3002)) ([8baf627f](https://github.com/waku-org/nwaku/commit/8baf627f)) +- extending store metrics ([#2995](https://github.com/waku-org/nwaku/issues/2995)) ([fd83b42f](https://github.com/waku-org/nwaku/commit/fd83b42f)) - Better timing and requestId detail for slower store db queries ([#2994](https://github.com/waku-org/nwaku/issues/2994)) ([e8a49b76](https://github.com/waku-org/nwaku/commit/e8a49b76)) - remove unused setting from external_config.nim ([#3004](https://github.com/waku-org/nwaku/issues/3004)) ([fd84363e](https://github.com/waku-org/nwaku/commit/fd84363e)) - delivery monitor for store v3 reliability protocol ([#2977](https://github.com/waku-org/nwaku/issues/2977)) ([0f68274c](https://github.com/waku-org/nwaku/commit/0f68274c)) From 19824fbca91711e4640716df2c5ed22c73087fec Mon Sep 17 00:00:00 2001 From: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Date: Mon, 23 Sep 2024 13:33:34 +0200 Subject: [PATCH 04/11] Added DOS protection CLI changes. --- CHANGELOG.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0246f5c34f..fe548f5bac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,17 @@ * The `--pubsub-topic` CLI configuration has been deprecated and support for it will be removed on release v0.35.0. In order to migrate, please use the `--shard` configuration instead. For example, instead of `--pubsub-topic=/waku/2/rs//`, use `--cluster-id=` and `--shard=` * The `--rest-private` CLI configuration is no longer supported. Please remove any reference to it when running your nodes * Introduced the `--reliability` CLI configuration, activating the new experimental StoreV3 message confirmation protocol -* (add instructions of the CLI options for the peer exchange rate limiting) +* DOS protection configurations of non-relay, req/resp protocols are changed + * `--request-rate-limit` and `--request-rate-period` options are nno longer supported. + * `--rate-limit` CLI configuration is now available. + - The new flag can describe various rate-limit requirements for each protocol supported. The setting can be repeated, each instance can define exactly one rate-limit option. + - Format is `:volume/period` + - If protocol is not given, settings will be taken as default for un-set protocols. Ex: 80/2s + - Supported protocols are: lightpush|filter|px|store|storev2|storev3 + - `volume` must be an integer value, representing number of requests over the period of time allowed. + - `period ` must be an integer with defined unit as one of h|m|s|ms + - If not set, no rate limit will be applied to request/response protocols, except for the filter protocol. + ### Release highlights From c729fe359ef6862f11600b5c24de7c943d183f85 Mon Sep 17 00:00:00 2001 From: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Date: Mon, 23 Sep 2024 13:39:02 +0200 Subject: [PATCH 05/11] Extended highlight of release with PX dos protection and new rate limit configuraiton. --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe548f5bac..4371b30734 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,8 @@ ### Release highlights * a new experimental reliability protocol has been implemented, leveraging StoreV3 to confirm message delivery -* (add highlight of the peer exchange rate limiting) +* Peer Exchange protocol can now be protected by rate-limit boundary checks. +* Fine-grained configuration of DOS protection is available with this release. See, "Notes" above. ### Bug Fixes From 00355f04987e59cf35e27bd7dfac08e809ae75d9 Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Mon, 23 Sep 2024 14:53:22 +0300 Subject: [PATCH 06/11] fix typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4371b30734..5a075c7f8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ * The `--rest-private` CLI configuration is no longer supported. Please remove any reference to it when running your nodes * Introduced the `--reliability` CLI configuration, activating the new experimental StoreV3 message confirmation protocol * DOS protection configurations of non-relay, req/resp protocols are changed - * `--request-rate-limit` and `--request-rate-period` options are nno longer supported. + * `--request-rate-limit` and `--request-rate-period` options are no longer supported. * `--rate-limit` CLI configuration is now available. - The new flag can describe various rate-limit requirements for each protocol supported. The setting can be repeated, each instance can define exactly one rate-limit option. - Format is `:volume/period` From bd7839942b9f2767057e9dbafa855a6f00e88ae0 Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Mon, 23 Sep 2024 15:47:36 +0300 Subject: [PATCH 07/11] addressing comments --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a075c7f8b..caeb9d2097 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,8 @@ #### Notes: -* The `--pubsub-topic` CLI configuration has been deprecated and support for it will be removed on release v0.35.0. In order to migrate, please use the `--shard` configuration instead. For example, instead of `--pubsub-topic=/waku/2/rs//`, use `--cluster-id=` and `--shard=` -* The `--rest-private` CLI configuration is no longer supported. Please remove any reference to it when running your nodes +* The `--pubsub-topic` CLI configuration has been deprecated and support for it will be removed on release v0.35.0. In order to migrate, please use the `--shard` configuration instead. For example, instead of `--pubsub-topic=/waku/2/rs//`, use `--cluster-id=` once and `--shard=` for each subscribed shard +* The `--rest-private` CLI configuration has been removed. Please delete any reference to it when running your nodes * Introduced the `--reliability` CLI configuration, activating the new experimental StoreV3 message confirmation protocol * DOS protection configurations of non-relay, req/resp protocols are changed * `--request-rate-limit` and `--request-rate-period` options are no longer supported. From d307716aa88b1a85df3b9ed6f01c6e40a624162b Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Wed, 25 Sep 2024 14:05:40 +0300 Subject: [PATCH 08/11] update changelog after patches --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index caeb9d2097..b290d39c8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v0.33.0 (2024-09-25) +## v0.33.0 (2024-09-27) #### Notes: @@ -25,6 +25,8 @@ ### Bug Fixes +- make Peer Exchange's rpc status_code optional for backward compatibility ([#3059](https://github.com/waku-org/nwaku/pull/3059)) ([5afa9b13](https://github.com/waku-org/nwaku/commit/5afa9b13)) +- px protocol decode - do not treat missing response field as error ([#3054](https://github.com/waku-org/nwaku/issues/3054)) ([9b445ac4](https://github.com/waku-org/nwaku/commit/9b445ac4)) - setting up node with modified config ([#3036](https://github.com/waku-org/nwaku/issues/3036)) ([8f289925](https://github.com/waku-org/nwaku/commit/8f289925)) - get back health check for postgres legacy ([#3010](https://github.com/waku-org/nwaku/issues/3010)) ([5a0edff7](https://github.com/waku-org/nwaku/commit/5a0edff7)) - libnegentropy integration ([#2996](https://github.com/waku-org/nwaku/issues/2996)) ([c3cb06ac](https://github.com/waku-org/nwaku/commit/c3cb06ac)) @@ -33,6 +35,7 @@ ### Changes +- append current version in agentString which is used by the identify protocol ([#3057](https://github.com/waku-org/nwaku/pull/3057)) ([368bb3c1](https://github.com/waku-org/nwaku/commit/368bb3c1)) - rate limit peer exchange protocol, enhanced response status in RPC ([#3035](https://github.com/waku-org/nwaku/issues/3035)) ([0a7f16a3](https://github.com/waku-org/nwaku/commit/0a7f16a3)) - Switch libnegentropy library build from shared to static linkage ([#3041](https://github.com/waku-org/nwaku/issues/3041)) ([83f25c3e](https://github.com/waku-org/nwaku/commit/83f25c3e)) - libwaku reduce repetitive code by adding a template handling resp returns ([#3032](https://github.com/waku-org/nwaku/issues/3032)) ([1713f562](https://github.com/waku-org/nwaku/commit/1713f562)) From 43a5e0f9089bc7fc09090d9d02777df8ef2b59ab Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Fri, 27 Sep 2024 12:46:41 +0300 Subject: [PATCH 09/11] deleting overwritten fix --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b290d39c8f..71bfc3b030 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,7 +31,6 @@ - get back health check for postgres legacy ([#3010](https://github.com/waku-org/nwaku/issues/3010)) ([5a0edff7](https://github.com/waku-org/nwaku/commit/5a0edff7)) - libnegentropy integration ([#2996](https://github.com/waku-org/nwaku/issues/2996)) ([c3cb06ac](https://github.com/waku-org/nwaku/commit/c3cb06ac)) - peer-exchange issue ([#2889](https://github.com/waku-org/nwaku/issues/2889)) ([43157102](https://github.com/waku-org/nwaku/commit/43157102)) -- copy libnegentropy.so from nim-build image ([#2991](https://github.com/waku-org/nwaku/issues/2991)) ([2edc0bc5](https://github.com/waku-org/nwaku/commit/2edc0bc5)) ### Changes From 9e050f0f0e0b770887a8ef040fe2df7e026a2247 Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Fri, 27 Sep 2024 19:51:19 +0300 Subject: [PATCH 10/11] adding fix for excess relay connections --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71bfc3b030..072773a5a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ ### Bug Fixes +- rejecting excess relay connections ([#3063](https://github.com/waku-org/nwaku/issues/3063)) ([8b0884c7](https://github.com/waku-org/nwaku/commit/8b0884c7)) - make Peer Exchange's rpc status_code optional for backward compatibility ([#3059](https://github.com/waku-org/nwaku/pull/3059)) ([5afa9b13](https://github.com/waku-org/nwaku/commit/5afa9b13)) - px protocol decode - do not treat missing response field as error ([#3054](https://github.com/waku-org/nwaku/issues/3054)) ([9b445ac4](https://github.com/waku-org/nwaku/commit/9b445ac4)) - setting up node with modified config ([#3036](https://github.com/waku-org/nwaku/issues/3036)) ([8f289925](https://github.com/waku-org/nwaku/commit/8f289925)) From 77db8d58d62fc8d8b266256397e85245c991b2d5 Mon Sep 17 00:00:00 2001 From: Gabriel mermelstein Date: Mon, 30 Sep 2024 17:19:55 +0300 Subject: [PATCH 11/11] updating date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 072773a5a6..e1b7e46b5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## v0.33.0 (2024-09-27) +## v0.33.0 (2024-09-30) #### Notes: