2022-06-15 v0.10
Release highlights:
- Support for key exchange using Noise handshakes.
- Support for a SQLite-only historical message
store
. This allows for cheaper, longer-term historical message storage on disk rather than in memory. - Several fixes for native WebSockets, including slow or hanging connections and connections dropping unexpectedly due to timeouts.
- A fix for a memory leak in nodes running a local SQLite database.
Features
- Support for
35/WAKU2-NOISE
handshakes as key exchange protocols. - Support for TOML config files via
--config-file=<path/to/config.toml>
. - Support for
--version
command. This prints the current tagged version (or compiled commit hash, if not on a version). - Support for running
store
protocol from afilter
client, storing only the filtered messages. - Start of an HTTP REST API implementation.
- Support for a memory-efficient SQLite-only
store
configuration.
Changes
- Added index on
receiverTimestamp
in the SQLitestore
to improve query performance. - GossipSub Peer Exchange is now disabled by default. This is a more secure option.
- Progress towards dynamic group management for the
17/WAKU-RLN-RELAY
implementation. - Nodes with
--keep-alive
enabled now sends more regular pings to keep connections more reliably alive. - Disabled
swap
protocol by default. - Reduced unnecessary and confusing logging, especially during startup.
- Added discv5 UDP port to the node's main discoverable ENR.
Fixes
- The in-memory
store
now checks the validity of message timestamps before storing. - Fixed underlying bug that caused connection leaks in the HTTP client.
- Fixed Docker image compilation to use the correct external variable for compile-time flags (
NIMFLAGS
instead ofNIM_PARAMS
). - Fixed issue where
--dns4-domain-name
caused an unhandled exception if no external port was available. - Avoids unnecessarily calling DB migration if a
--db-path
is set but nothing is persisted in the DB. This led to a misleading warning log. - Fixed underlying issues that caused WebSocket connections to hang.
- Fixed underlying issue that caused WebSocket connections to time out after 10 mins.
- Fixed memory leak in nodes that implements a SQLite database.
Docs
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 |
13/WAKU2-STORE |
draft |
/vac/waku/store/2.0.0-beta4 |
18/WAKU2-SWAP |
draft |
/vac/waku/swap/2.0.0-beta1 |
19/WAKU2-LIGHTPUSH |
draft |
/vac/waku/lightpush/2.0.0-beta1 |
The Waku v1 implementation is stable but not under active development.