Releases: waku-org/nwaku
Release v0.26.0
v0.26.0 (2024-03-07)
Note:
- JSON-RPC API has been removed completely. Instead we recommend you to utilize REST API endpoints that have same and extended functionality.
Please have a look at Waku's REST-API reference: https://waku-org.github.io/waku-rest-api- Support for Cross-Origin-Resource-Sharing (CORS headers) is added for our REST-API services. This allows you to access our REST-API from a browser.
New repeatable CLI flag is added by this feature:
--rest-allow-origin="example.com"
or--rest-allow-origin="127.0.0.0:*"
Flag allows using wildcards (*
and?
) in the origin string.- Store protocol now has a better support for controlling DB size of Postgres store. This feature needs no user action.
Announcement:
Please notice that from the next release (0.27.0) we will deprecate features.
- We will decomission the Filter v1 protocol and its REST-API access.
Features
- Postgres partition implementation (#2506) (161a10ec)
- waku-stealth-commitments: waku stealth commitment protocol (#2490) (0def4904)
- bindings: generate a random private key (#2446) (56ff30ca)
- prioritise yamux above mplex (#2417) (ce151efc)
- supporting meta field in WakuMessage (#2384) (3903f130)
eventCallback
per wakunode anduserData
(#2418) (707f3e8b)- rln-relay-v2: nonce/messageId manager (#2413) (50308eda)
- networkmonitor: add support for rln (#2401) (9c0e9431)
- rln-relay-v2: rln-keystore-generator updates (#2392) (2d46c351)
- add yamux support (#2397) (1b402667)
Bug Fixes
- rln-relay: make nullifier log abide by epoch ordering (#2508) (beba14dc)
- postgres: import under feature flag (#2500) (e692edf6)
- notify Waku Metadata when Waku Filter subscribe to a topic (#2493) (91e3f8cd)
- time on 32 bits architecture (#2492) (0a751228)
- return message id on
waku_relay_publish
(#2485) (045091a9) - bindings: base64 payload and key for content topic (#2435) (d01585e9)
- rln-relay: regex pattern match for extended domains (#2444) (29b0c0b8)
- checking for keystore file existence (#2427) (8f487a21)
- rln-relay: graceful shutdown with non-zero exit code (#2429) (22026b7e)
- check max message size in validator according to configured value (#2424) (731dfcbd)
- wakunode2: move node config inside app init branch (#2423) (0dac9f9d)
Changes
- rln_db_inspector: include in wakunode2 binary (#2292) (a9d0e481)
- Update link to DNS discovery tutorial (#2496) (9ef2eccb)
- rln-relay-v2: added tests for static rln-relay-v2 (#2484) (5b174fb3)
- moving node initialization code to node_factory.nim (#2479) (361fe2cd)
- Postgres migrations (#2477) (560f949a)
- rln-relay-v2: added tests for onchain rln-relay-v2 (#2482) (88ff9282)
- remove json rpc (#2416) (c994ee04)
- ci: use git describe for image version (55ff6674)
- Implemented CORS handling for nwaku REST server (#2470) (d832f92a)
- remove rln epoch hardcoding (#2483) (3f4f6d7e)
- cbindings: cbindings rust simple libwaku integration example (#2089) (a4993005)
- adding NIMFLAGS usage to readme (#2469) (a1d5cbd9)
- bumping nim-libp2p after yamux timeout fix (#2468) (216531b0)
- new proc to foster different size retention policy implementations (#2463) (d5305282)
- rln-relay: use anvil instead of ganache in onchain tests (#2449) (f6332ac6)
- bindings return multiaddress array (#2461) (7aea145e)
- ci: fix IMAGE_NAME to use harbor.status.im (b700d046)
- rln-relay: remove wss support from node config (#2442) (2060cfab)
- ci: reuse discord send function from library (1151d50f)
- rln-relay-v2: add tests for serde (#2421) (d0377056)
- add stdef.h to libwaku.h (#2409) (d58aca01)
- automatically generating certs if not provided (Waku Canary) (#2408) (849d76d6)
- Simplify configuration for the waku network (#2404) (985d092f)
This release supports the following libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
66/WAKU2-METADATA |
raw |
/vac/waku/metadata/1.0.0 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
Release v0.25.0
v0.25.0
Note:
Waku Filter v2 now has three additional configuration options
--filter-max-peers-to-serve=1000
drives how many peers can subscribe at once and
--filter-max-criteria=1000
defines what is the maximum criterion stored per each peersThis release introduces a major change in Filter v2 protocol subscription management.
From now each subscribed peer needs to refresh its living subscriptions by sending a SUBSCRIBER_PING message every 5 minutes by default, otherwise the peer's subscription will be removed.
--filter-subscription-timeout=300
defines configurable timeout for the subscriptions (in seconds).New experimental feature, shard aware peer manager for relay protocol can be activated by the flag:
--relay-shard-manager=true|false
It is disabled by default.
Announcement:
Please notice that from the next release (0.26.0) we will deprecate features.
- JSON-RPC API will be removed completely. Instead we recommend you to utilize REST API endpoints that have same and extended functionality.
- We will retire websockets support for RLN on-chain group management. You are expected to use HTTP version of ETH_CLIENT_ADDRESS
Features
- running validators in /relay/v1/auto/messages/{topic} (#2394) (e4e147bc)
- rln-relay-v2: update C FFI api's and serde (#2385) (b88facd0)
- running validators in /relay/v1/messages/{pubsubTopic} (#2373) (59d8b620)
- shard aware relay peer management (#2332) (edca1df1)
Bug Fixes
- adding rln validator as default (#2367) (bb58a63a)
- Fix test for filter client receiving messages after restart (#2360) (7de91d92)
- making filter admin data test order independent (#2355) (8a9fad29)
Changes
- rln-relay-v2: use rln-v2 contract code (#2381) (c55ca067)
- v0.25 vendor bump and associated fixes (#2352) (761ce7b1)
- handle errors w.r.t. configured cluster-id and pubsub topics (#2368) (e04e35e2)
- add coverage target to Makefile (#2382) (57378873)
- Add check spell allowed words (#2383) (c1121dd1)
- adding nwaku compose image update to release process (#2370) (4f06dcff)
- changing digest and hash log format from bytes to hex (#2363) (025c6ec9)
- log messageHash for lightpush request that helps in debugging (#2366) (42204115)
- rln-relay: enabled http based polling in OnchainGroupManager (#2364) (efdc5244)
- improve POST /relay/v1/auto/messages/{topic} error handling (#2339) (f841454e)
- Refactor of FilterV2 subscription management with Time-to-live maintenance (#2341) (c3358409)
- Bump
nim-dnsdisc
(#2354) (3d816c08) - postgres-adoption.md add metadata title, description, and better first-readable-title (#2346) (2f8e8bcb)
- fix typo (#2348) (a4a8dee3)
This release supports the following libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
66/WAKU2-METADATA |
raw |
/vac/waku/metadata/1.0.0 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
Release v0.24.0
v0.24.0
Note: The Waku message size limit (150 KiB) is now enforced according to the specifications. To change this limit please use
--max-msg-size="1MiB"
Note:
--ip-colocation-limit=2
is the new parameter for limiting connections from the same IP
What's Changed
Release highlights:
- IP colocation filter can now be changed via a configuration parameter.
- New filter admin endpoint can now be used to access subscription data.
- Waku message size limit can now be changed via a configuration parameter.
Features
- feat: adding filter data admin endpoint (REST) #2314
- ip colocation is parameterizable. if set to 0, it is disabled #2323
Bug Fixes
- fix: revert "feat: shard aware peer management #2151" #2312
- fix: setting connectivity loop interval to 15 seconds #2307
- fix: set record to the Waku node builder in the examples as it is required #2328
- fix(discv5): add bootnode filter exception #2267
Changes
- update CHANGELOG.md for 0.23.0 #2309
- test(store): Implement store tests #2235, #2240
- refactor(store): HistoryQuery.direction #2263
- test_driver_postgres: enhance test coverage, multiple and single topic #2301
- chore: examples/nodejs - adapt code to latest callback and ctx/userData definitions #2281
- chore: update
CHANGELOG.md
to reflect bug fix for issue #2317 #2340 in v0.23.1 - test(peer-connection-managenent): functional tests #2321
- docs: update post-release steps #2336
- docs: fix typos across various documentation files #2310
- test(peer-connection-managenent): functional tests #2321
- bump vendors for 0.24.0 #2333
- test(autosharding): functional tests #2318
- docs: add benchmark around postgres adoption #2316
- chore: set max Waku message size to 150KiB according to spec #2298
This release supports the following libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
66/WAKU2-METADATA |
raw |
/vac/waku/metadata/1.0.0 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
v0.23.0
Generated at Wed Dec 20 15:15:26 UTC 2023
Features
- setting image deployment to harbor registry (93dd5ae5)
- Add new DB column
messageHash
(#2202) (aeb77a3e)
Bug Fixes
- Revert "feat: shard aware peer management (#2151)" (#2312) (b5e55093)
- make rln rate limit spec compliant (#2294) (5847f49d)
- update num-msgs archive metrics every minute and not only at the beginning (#2287) (0fc617ff)
- rln-relay: graceful retries on rpc calls (#2250) (15c1f974)
- add protection in rest service to always publish with timestamp if user doesn't provide it (#2261) (42f19579)
- remove trailing commas from keystore json (#2200) (103d3981)
- dockerfile: update dockerignore and base image (#2262) (c86dc442)
- waku_filter_v2/common: PEER_DIAL_FAILURE ret code change: 200 -> 504 (#2236) (6301bec0)
- extended Postgres code to support retention policy + refactoring (#2244) (a1ed517f)
- admin REST API to be enabled only if config is set (#2218) (110de90f)
- rln: error in api when rate limit (#2212) (51f36099)
- relay: Failing protocol tests (#2224) (c9e869fb)
- tests: Compilation failure fix (#2222) (a5da1fc4)
- rest: properly check if rln is used (#2205) (2cb0989a)
Changes
- archive - move error to trace level when insert row fails (#2283) (574cdf55)
- including content topics on FilterSubscribeRequest logs (#2295) (306c8a62)
- vendor bump for 0.23.0 (#2274) (385daf16)
- peer_manager.nim - reduce logs from debug to trace (#2279) (0cc0c805)
- Cbindings allow mounting the Store protocol from libwaku (#2276) (28142f40)
- Better feedback invalid content topic (#2254) (72a1f8c7)
- fix typos (#2239) (958b9bd7)
- creating prepare_release template (#2225) (5883dbeb)
- rest: refactor message cache (#2221) (bebaa59c)
- updating nim-json-serialization dependency (#2248) (9f4e6f45)
- store-archive: Remove duplicated code (#2234) (38e100e9)
- refactoring peer storage (#2243) (c301e880)
- postres driver allow setting the max number of connection from a parameter (#2246) (b31c1823)
- deterministic message hash algorithm updated (#2233) (a22ee604)
- REST: returning lightpush support and updated filter protocol (#2219) (59ee3c69)
- mics. improvements to cluster id and shards setup (#2187) (897f4879)
- update docs for rln-keystore-generator (#2210) (8c5666d2)
- removing automatic vacuuming from retention policy code (#2228) (9ff441ab)
- decoupling announced and listen addresses (#2203) (ef8ffbdb)
- Allow text/plain content type descriptor for json formatted content body (#2209) (6d81e384)
- rewrite for clarity, update screenshots (#2206) (a0ef3c2f)
This release supports the following libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
66/WAKU2-METADATA |
raw |
/vac/waku/metadata/1.0.0 |
2023-11-15 v0.22.0
Note: The
--topic
option is now deprecated in favor of a more specific options--pubsub-topic
&--content-topic
Note: The
--ext-multiaddr-only
CLI flag was introduced for cases in which the user wants to manually set their announced addresses
What's Changed
Release highlights:
- simplified the process of generating RLN credentials through the new
generateRlnKeystore
subcommand - added support for configuration of port 0 in order to bind to kernel selected ports
- shards are now automatically updated in metadata protocol when supported shards change on runtime
- introduced
messageHash
attribute to SQLite which will later replace theid
attribute
Features
- rln-keystore-generator is now a subcommand (#2189) (3498a846)
- amending computeDigest func. + related test cases (#2132)" (#2180) (d7ef3ca1)
- discv5: filter out peers without any listed capability (#2186) (200a11da)
- metadata protocol shard subscription (#2149) (bcf8e963)
- REST APIs discovery handlers (#2109) (7ca516a5)
- implementing port 0 support (#2125) (f7b9afc2)
- messageHash attribute added in SQLite + testcase (#2142)" (#2154) (13aeebe4)
- messageHash attribute added in SQLite + testcase (#2142) (9cd8c73d)
- amending computeDigest func. + related test cases (#2132) (1669f710)
Bug Fixes
- typo (6dd28063)
- lightpush rest (#2176) (fa467e24)
- ci: fix Docker tag for latest and release jobs (52759faa)
- rest: fix bug in rest api when sending rln message (#2169) (250e8b98)
- updating v0.21.1 release date in changelog (#2160) (3be61636)
Changes
- Optimize postgres - prepared statements in select (#2182) (6da1aeec)
- release: update changelog for v0.21.2 release (#2188) (d0a93e7c)
- upgrade dependencies v0.22 (#2185) (b9563ae0)
- Optimize postgres - use of rowCallback approach (#2171) (2b4ca4d0)
- networking: lower dhigh to limit amplification factor (#2168) (f0f69b32)
- Minor Postgres optimizations (#2166) (282c2e81)
- adding patch release instructions to release doc (#2157) (cc01bb07)
- release: update changelog for v0.21.1 release (#2155) (b109a583)
- adding ext-multiaddr-only CLI flag (#2141) (944dfdaa)
- bumping nim-libp2p to include WSS fix (#2150) (817a7b2e)
- cbindings: avoid using global var in libwaku.nim (#2118) (1e8f5771)
- adding postgres flag to manual docker job instructions (#2139) (459331e3)
This release supports the following libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
66/WAKU2-METADATA |
raw |
/vac/waku/metadata/1.0.0 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
Upgrade instructions
- Note that the
--topic
CLI option is now deprecated in favor of a more specific options--pubsub-topic
&--content-topic
.
2023-11-09 v0.21.3
v0.21.3 (2023-11-09)
This patch release adds the following feature:
- Adding generateRlnKeystore subcommand for RLN membership generation
Features
This is a patch release that is fully backwards-compatible with release v0.21.0
, v0.21.1
and v0.21.2
.
It supports the same libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
2023-11-07 v0.21.2
v0.21.2 (2023-11-07)
This patch release addresses the following issue:
- Inability to send RLN messages through the REST API
Bug Fixes
This is a patch release that is fully backwards-compatible with release v0.21.0
and v0.21.1
.
It supports the same libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
2023-10-26 v0.21.1
v0.21.1 (2023-10-26)
This patch release addresses the following issues:
- WSS connections being suddenly terminated under rare conditions
- Ability for the user to control announced multiaddresses
Changes
- adding ext-multiaddr-only CLI flag (#2141) (e2dfc2ed)
- bumping nim-libp2p to include WSS fix (#2150) (18b5149a)
This is a patch release that is fully backwards-compatible with release v0.21.0
.
It supports the same libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
2023-10-18 v0.21.0
Note: This is the last release supporting the
--topic
option. It is being deprecated in favor of a more specific options--pubsub-topic
&--content-topic
What's Changed
Release highlights:
- Implemented a req/resp protocol that provides information about the node's medatadata
- Added REST APIs for Filter v2 and Lightpush protocols' services
- Ported /admin endpoint to REST
- Added a size-based retention policy for the user to set a limit for SQLite storage used
Features
- add new metadata protocol (#2062) (d5c3ade5)
- /admin rest api endpoint (#2094) (7b5c36b1)
- coverage: Add simple coverage (#2067) (d864db3f)
- added RELAY openapi definitions (#2081) (56dbe2a7)
- wakucanary: add latency measurement using ping protocol (#2074) (6cb9a8da)
- Autosharding API for RELAY subscriptions (#1983) (1763b1ef)
- networkmonitor: add ping latencies, optimize reconnections (#2068) (ed473545)
- peer manager can filter peers by shard (#2063) (0d9e9fbd)
- lightpush rest api (#2052) (02a814bd)
- HTTP REST API: Filter support v2 (#1890) (dac072f8)
Bug Fixes
- fix wrong install of filter rest api (#2133) (5277d122)
- consider WS extMultiAddrs before publishing host address (#2122) (a5b1cfd0)
- return erring response if lightpush request is invalid (#2083) (2c5eb427)
- sqlite limited delete query bug (#2111) (06bc433a)
- cluster id & sharding terminology (#2104) (a47dc9e6)
- ci: update the dependency list in pre-release WF (#2088) (e85f05b0)
- ci: fix name of discord notify method (aaf10e08)
- update wakuv2 fleet DNS discovery enrtree (89854a96)
- libwaku.nim: unsubscribe -> unsubscribeAll to make it build properly (#2082) (3264a4f5)
- archive: dburl check (#2071) (a27d005f)
- filter discv5 bootstrap nodes by shards (#2073) (d178105d)
- rln-relay: segfault when no params except rln-relay are passed in (#2047) (45fe2d3b)
- sqlite: Properly set user_version to 7 so that the migration procedure is not started (#2031) (aa3e1a66)
Changes
- remove js-node tests as release candidate dependencies (#2123) (ce5fb340)
- added size based retention policy (#2098) (25d6e52e)
- Clarify running instructions (#2038) (12e8b122)
- rln: add more hardcoded memberhips to static group (#2108) (1042cacd)
- Revert lightpush error handling to allow zero peer publish again succeed (#2099) (f05528d4)
- adding NetConfig test suite (#2091) (23b49ca5)
- cbindings: Adding cpp example that integrates the 'libwaku' (#2079) (8455b8dd)
- networkmonitor: refactor setConnectedPeersMetrics, make it partially concurrent, add version (#2080) (c5aa9704)
- resolving DNS IP and publishing it when no extIp is provided (#2030) (7797b2cd)
- Adding -d:postgres flag when creating a Docker image for release and PRs (#2076) (7a376f59)
- Moved external APIs out of node (#2069) (3e72e830)
- bump nim-libp2p, nim-toml-serialization, nim-unicodedb, nim-unittest2, nim-websock, nim-zlib, & nimbus-build-system (#2065) (dc25057a)
- ci: add js-waku as a dependency for pre-release createion (#2022) (28b04000)
- Updating nim-chronicles, nim-chronos, nim-presto, nimcrypto, nim-libp2p, and nim-nat-transversal (#2043) (f617cd97)
- cbindings: Thread-safe communication between the main thread and the Waku Thread (#1978) (72f90663)
- rln-relay: logs, updated submodule, leaves_set metric (#2024) (2e515a06)
- release: update changelog for v0.20.0 release (#2026) (9085b1b3)
- postgres: not loading the libpq library by default & better user feedback (#2028) (e8602021)
- move SubscriptionManager under waku_core (#2025) (563b2b20)
- README: List possible WSL Issue (#1995) (ebe715e9)
- ci: add js-waku test to pre-release workflow (#2017) (e8776fd6)
This release supports the following libp2p protocols:
Protocol | Spec status | Protocol id |
---|---|---|
11/WAKU2-RELAY |
stable |
/vac/waku/relay/2.0.0 |
12/WAKU2-FILTER |
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 |
draft |
/vac/waku/store/2.0.0-beta4 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
Upgrade instructions
- Note that the
--topic
CLI option is being deprecated in favor of a more specific options--pubsub-topic
&--content-topic
. This is the last release supporting the--topic
option. - The size-based retention policy has been tested with SQLite storage and is still on validation phases for Postgres> Note: This is the last release supporting the
--topic
option. It is being deprecated in favor of a more specific options--pubsub-topic
&--content-topic
2023-09-14 v0.20.0
Note: IP address 0.0.0.0 is no longer advertised by a node
Note: Multiple CLI options have been removed in this release, please see Upgrade instructions section for details.
What's Changed
Release highlights:
- RLN is now part of standard release (is no longer EXPERIMENTAL feature)
- Interop tests between nwaku and js-waku are now gating PRs and releases
- Libwaku has been made more threadsafe (1 out of 3 improvements applied.)
- Added autosharding option on various protocol APIs
Features
- rln-relay: removed rln from experimental 🚀 (#2001) (645b0343)
- Rest endoint /health for rln (#2011) (fc6194bb)
- rln_db_inspector: create rln_db_inspector tool (#1999) (ec42e2c7)
- relay: ordered validator execution (#1966) (debc5f19)
- discv5: topic subscriptions update discv5 filter predicate (#1918) (4539dfc7)
- topic subscriptions updates discv5 ENR (#1875) (c369b329)
- rln_keystore_generator: wired to onchain group manager (#1931) (c9b48ea1)
- rln: init rln_keystore_generator (#1925) (3d849541)
- update various protocols to autoshard (#1857) (cf301396)
Bug Fixes
- rln-relay: waku_rln_number_registered_memberships metrics appropriately handled (#2018) (a4e78330)
- prevent IP 0.0.0.0 from being published and update peers with empty ENR data (#1982) (47ae19c1)
- rln-relay: missed roots during sync (#2015) (21604e6b)
- p2p: fix possible connectivity issue (#1996) (7d9d8a3f)
- rln-db-inspector: use valueOr pattern (#2012) (a8095d87)
- tests: relay tests use random port to avoid conflict (#1998) (b991682b)
- ci: incorrect use of braces (#1987) (4ed41457)
- Makefile: invalid path to crate build (#1981) (1a318c29)
- --topic should be ignore when using --pubsub-topic or --content-topic (#1977) (037b1662)
- tests: fix flaky test (#1972) (f262397d)
- rln-relay: deserialization of valid merkle roots (#1973) (d262837e)
- ci: rename tools artifact to prevent conflict (#1971) (26c06b27)
- Makefile: rln was enabled by default (#1964) (9b1d2904)
- rln-relay: modify keystore credentials logic (#1956) (e7b2b88f)
- Makefile: error out if rln-keystore-generator not compiled with rln flag (#1960) (ac258550)
- rln-relay: sync from deployed block number (#1955) (bd3be219)
- rln-relay: window of acceptable roots synced to rln metadata (#1953) (01634f57)
- rln-relay: bump zerokit to v0.3.2 (#1951) (32aa1c5b)
- rln-relay: flush_interval incorrectly set (#1933) (c07d63db)
- rln-relay: RLN DB should be aware of chain and contract address (#1932) (1ae5b5a9)
- rln-relay: waitFor startup, otherwise valid proofs will be marked invalid (#1920) (6c6302f9)
- test: fix flaky rln test (#1923) (0ac8a7f0)
- rln-relay: remove registration capability (#1916) (f08315cd)
- rln-relay: invalid start index being set results in invalid proofs (#1915) (b3bb7a11)
- rln-relay: should error out on rln-relay mount failure (#1904) (8c568cab)
- rln-relay: timeout on macos runners, use fixed version of ganache (#1913) (c9772af0)
- no enr record in chat2 (#1907) (fc604ca5)
- archive: force correct user_version (7) in the SQLite database. (#2031)
Changes
- ci: add js-waku test to pre-release workflow (#2017) (e8776fd6)
- rln-relay: updated docs (#1993) (76e34077)
- ci: execute js-waku integration tests on image build (#2006) (5d976df9)
- rln-relay: add isReady check (#1989) (5638bd06)
- rln-relay: clean up nullifier table every MaxEpochGap (#1994) (483f40c8)
- ci: use commit instead of master for docker image (#1990) (98850192)
- rln-relay: log levels for certain logs (#1986) (97a7c9d0)
- rln-relay: use the only key from keystore if only 1 exists (#1984) (a14c3261)
- ci: enable experimental for the PR image builds (#1976) (1b835b4e)
- rln-relay: confirm that the provided credential is correct using onchain query (#1980) (be48891f)
- api: validate rln message before sending (rest + rpc) (#1968) (05c98864)
- cbindings: Thread-safe libwaku. WakuNode instance created directly from the Waku Thread (#1957) (68e8d9a7)
- add debug log indicating succesful message pushes and also log the message hash (#1965) (e272bec9)
- rln-keystore-generator: log out the membership index upon registration (#1963) (7d53aec1)
- rln-relay: integrate waku rln registry (#1943) (cc9f8d42)
- ci: add a job checking config options and db schema (#1927) (505d1967)
- rln_keystore_generator: generate and persist credentials ([#1928](https://github.com/waku-org/nwaku/iss...