v0.3.0
What's Changed
New features
- Implementation of the following Waku v2 protocols
- Created indexes to
message
table to speedup queries - zerokit is used for RLN
- Allow multiple acceptable merkletree roots to validate RLN proofs
- Credentials management for wakunode and chat2 example
- Lightpush can be used as a client (no need for the Wakunode to mount the Lightpush protocol)
- Allow setting log level and format via flags
- Added DNS Discovery and DiscoveryV5 to C API
- Allow setting the user agent of the WakuNode with
--agent-string
flag - Added
Find
function to retrieve a message from a storenode that matches a criteria - A list of
peerID
to chose can be specified when doing storenode/filter/lightpush/peerexchange requests - Added NTP
Timesource
to obtain the current timestamp - The
--store-message-db-url
flag can be used to specify a database and configuration parameters - Using the
--pprof
flag adds a/debug/pprof
endpoint to the RPC/REST server to obtain profiling data
Fixes
- Update WakuNode ENR if there's an update in the node's listening addresses
- C API can now be compiled in macos M1 architecture
- Setting correct message version while using RPC methods
- Separate error and success responses as per the specification
- Use
mobile.connectPeerID
inconnect_peerid
in c-bindings - Fix symmetric encoding, signatures and pubkeys in c-bindings
- Upgrade dependencies to more recent versions
- Reduce memory usage of RPC server
- Resubscribe to Ethereum websocket connection on disconnects
- Set the TLS minimum version to 1.2 when using secure websockets
- Handle missing
PagingInfo
in a storenode response - Force disconnect if keepAlive loop hasnt been executed recently
- Allow inserting messages into the DB if the sender timestamp is 0
General
- Use of
context.Context
instead ofquit
channels - Execute DiscoveryV5 loop as a separate goroutine
Breaking changes
- Updated store and RLN flags to match nwaku
- Removed --persist-messages. If
--store
is used, tmessages will be persisted - Removed go-waku-rendezvous
- Limited the number of ContentTopics per storenode request to 10
- Refactor of store protocol logic
- Moved
noise
toprotocol
package - Moved payload encoding/decoding functions to
payload
package - Extracted
noise
logic to [go-noise](https://github.com/waku-org/go-noise
Full Changelog: v0.2.2...v0.3.0