Skip to content

Releases: waku-org/js-waku

Release 0.12.2

21 Sep 05:40
e3dce12

Choose a tag to compare

Fixed

  • hot fix: Error: Bootstrap requires a list of peer addresses error when using bootstrap: true in Waku.create.

Release 0.13.0

16 Sep 05:14
6bd114f

Choose a tag to compare

Changed

Release 0.12.1

16 Sep 05:40
def38b4

Choose a tag to compare

Changed

  • hot fix: Connects to a limited number of bootstrap nodes, defaults to 1.

Release 0.12.0

02 Sep 10:01
3bf7e22

Choose a tag to compare

Added

  • Examples (eth-pm): Encrypt Public Key Messages using symmetric encryption.
  • Guides: Encrypt messages using Waku Message Version 1.
  • Allow passing decryption keys in hex string format.
  • Allow passing decryption keys to WakuStore instance to avoid having to pass them at every queryHistory call.
  • Allow passing decryption keys to Waku instance to avoid having to pass them to both WakuRelay and WakuStore.
  • Waku.waitForConnectedPeer helper to ensure that we are connected to Waku peers when using the bootstrap option.

Changed

  • Breaking: Moved startTime and endTime for history queries to a timeFilter property as both or neither must be passed; passing only one parameter is not supported.
  • Renamed and promote the usage of generateSymmetricKey() to generate random symmetric keys.
  • Improved errors thrown by WakuStore.queryHistory.

Fixed

  • Buffer concat error when using symmetric encryption in the browser.

Release 0.11.0

20 Aug 03:48
8fce1ad

Choose a tag to compare

Added

  • Examples: New Ethereum Private Message Using Wallet Encryption Web App
    example that demonstrates the usage of eth_encrypt API (available on Metamask) and EIP-712 for typed structured data signing.
  • New bootstrap option for Waku.create to easily connect to Waku nodes upon start up.
  • Support for startTime and endTime in Store queries to filter by time window as per 21/WAKU2-FTSTORE.

Changed

  • Renamed discover.getStatusFleetNodes to discovery.getBootstrapNodes;
    Changed the API to allow retrieval of bootstrap nodes from other sources.
  • Examples: Renamed eth-dm to eth-pm; "Direct Message" can lead to confusion with "Direct Connection" that
    refers to low latency network connections.
  • Examples (eth-pm): Use sign typed data EIP-712 instead of personal sign.
  • Upgraded dependencies to remove warning at installation.
  • Breaking: Moved DefaultPubSubTopic to waku.ts and fixed the casing.
  • Breaking: Rename all pubsubTopic occurrences to pubSubTopic, across all interfaces.

Removed

  • Examples (cli-chat): The focus of this library is Web environment;
    Several examples now cover usage of Waku Relay and Waku Store making cli-chat example obsolete;
    web-chat POC should be preferred to use the TOY-CHAT protocol.
  • ChatMessage has been moved from js-waku to web-chat example;
    it is a type used for the TOY-CHAT protocol;
    js-waku users should not build on top if this toy protocol and instead design message data structures appropriate to their use case.
  • Unused dependencies & scripts.

Release 0.10.0

06 Aug 06:52
70c58c8

Choose a tag to compare

Added

  • Relay and ReactJS guides and examples
    (#56).

Changed

  • Breaking: The WakuMessage APIs have been changed to move contentTopic out of the optional parameters.

Removed

  • Examples (web-chat): Remove broken /fleet command.
  • Breaking: Removed DefaultContentTopic as developers must choose a content topic for their app;
    recommendations for content topic can be found at https://rfc.vac.dev/spec/23/.

Fixed

  • WakuMessage.payloadAsUtf8 returning garbage on utf-8 non-ascii characters.
  • ChatMessage.payloadAsUtf8 returning garbage on utf-8 non-ascii characters.

[0.9.0] - 2021-07-26

Changed

  • Breaking: Store Response Protobuf changed to align with nim-waku v0.5
    (nim-waku#676).

Release 0.9.0

26 Jul 10:23
c35fe74

Choose a tag to compare

Changed

  • Breaking: Store Response Protobuf changed to align with nim-waku v0.5
    (nim-waku#676).

Release 0.8.1

16 Jul 02:15
0753184

Choose a tag to compare

Added

  • Examples (web-chat): New /fleet command to switch connection between Status prod and test fleets.
  • Export generatePrivateKey and getPublicKey directly from the root.
  • Usage of the encryption and signature APIs to the readme.

Changed

  • Breaking: Renamed WakuRelay.(add|delete)PrivateDecryptionKey to WakuRelay.(add|delete)DecryptionKey to make it clearer that it accepts both symmetric keys and asymmetric private keys.

Fix

  • Align WakuMessage readme example with actual code behaviour.

Release 0.8.0

15 Jul 03:54
3a3e718

Choose a tag to compare

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.

Release 0.7.0

15 Jun 05:50
6ed7445

Choose a tag to compare

Changed

  • Test: Upgrade nim-waku node to v0.4.
  • Waku Light Push upgraded to 2.0.0-beta1.
  • Examples (web chat): Catch error if chat message decoding fails.
  • Examples (web chat): Do not send message if shift/alt/ctrl is pressed, enabling multiline messages.