v0.3.0
What's Changed
New features
- Implementation of the following Waku v2 protocols
- Created indexes to
messagetable 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-stringflag - Added
Findfunction to retrieve a message from a storenode that matches a criteria - A list of
peerIDto chose can be specified when doing storenode/filter/lightpush/peerexchange requests - Added NTP
Timesourceto obtain the current timestamp - The
--store-message-db-urlflag can be used to specify a database and configuration parameters - Using the
--pprofflag adds a/debug/pprofendpoint 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.connectPeerIDinconnect_peeridin 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
PagingInfoin 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.Contextinstead ofquitchannels - Execute DiscoveryV5 loop as a separate goroutine
Breaking changes
- Updated store and RLN flags to match nwaku
- Removed --persist-messages. If
--storeis 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
noisetoprotocolpackage - Moved payload encoding/decoding functions to
payloadpackage - Extracted
noiselogic to [go-noise](https://github.com/waku-org/go-noise
Full Changelog: v0.2.2...v0.3.0