Skip to content

v0.3.0

Compare
Choose a tag to compare
@richard-ramos richard-ramos released this 21 Dec 20:08
· 647 commits to master since this release

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 in connect_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 of quit 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 to protocol 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