Skip to content

Release 0.8.0

Compare
Choose a tag to compare
@D4nte D4nte released this 15 Jul 03:54
3a3e718

Added

  • WakuRelay.deleteObserver to allow removal of observers, useful when a React component add observers when mounting and needs to delete it when unmounting.
  • Keep alive feature that pings host regularly, reducing the chance of connections being dropped due to idle.
    Can be disabled or default frequency (10s) can be changed when calling Waku.create.
  • New lib/utils module for easy, dependency-less hex/bytes conversions.
  • New peers and randomPeer methods on WakuStore and WakuLightPush to have a better idea of available peers;
    Note that it does not check whether Waku node is currently connected to said peers.
  • Enable passing decryption private keys to WakuStore.queryHistory.
  • Test: Introduce testing in browser environment (Chrome) using Karma.
  • Add support for Waku Message version 1: Asymmetric encryption, symmetric encryption, and signature of the data.

Changed

  • Breaking: Auto select peer if none provided for store and light push protocols.
  • Upgrade to [email protected] and [email protected] to avoid TextEncoder errors in ReactJS tests.
  • Disable keep alive by default as latest nim-waku release does not support ping protocol.
  • Breaking: Optional parameters for WakuMessage.fromBytes and WakuMessage.fromUtf8String are now passed in a single Options object.
  • Breaking: WakuMessage static functions are now async to allow for encryption and decryption.
  • Breaking: WakuMessage constructor is now private, from* and decode* function should be used.
  • WakuMessage version 1 is partially supported, enabling asymmetrical encryption and signature of messages;
    this can be done by passing keys to WakuMessage.from* and WakuMessage.decode* methods.
  • Examples (eth-dm): Use Waku Message version 1 encryption scheme instead of eth-crypto.
  • Examples (eth-dm): Use Protobuf for direct messages instead of JSON (#214).

Fixed

  • Disable keepAlive if set to 0.