Skip to content

Releases: waku-org/nwaku

Release v0.26.0

11 Mar 15:05
v0.26.0
5beef0c
Compare
Choose a tag to compare

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

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

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

14 Feb 14:50
5e7e843
Compare
Choose a tag to compare

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 peers

This 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

23 Jan 14:32
v0.24.0
7fc8e32
Compare
Choose a tag to compare

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

20 Dec 17:19
v0.23.0
7574f7e
Compare
Choose a tag to compare

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

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

15 Nov 14:14
v0.22.0
0cb7ea9
Compare
Choose a tag to compare

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 the id attribute

Features

Bug Fixes

Changes

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

09 Nov 14:43
v0.21.3
43e040e
Compare
Choose a tag to compare

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

07 Nov 15:09
v0.21.2
81f8095
Compare
Choose a tag to compare

v0.21.2 (2023-11-07)

This patch release addresses the following issue:

  • Inability to send RLN messages through the REST API

Bug Fixes

  • rest: fix bug in rest api when sending rln message (#2169) (33decd7a)

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

26 Oct 09:37
v0.21.1
e248643
Compare
Choose a tag to compare

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

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

18 Oct 15:27
v0.21.0
86af8fb
Compare
Choose a tag to compare

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

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

14 Sep 14:57
v0.20.0
57e511f
Compare
Choose a tag to compare

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

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...
Read more