Releases: waku-org/js-waku
Releases · waku-org/js-waku
Release 0.12.2
Fixed
- hot fix:
Error: Bootstrap requires a list of peer addresseserror when usingbootstrap: trueinWaku.create.
Release 0.13.0
Changed
- Upgrade libp2p libraries: @chainsafe/[email protected], [email protected], [email protected].
- Connects to a limited number of bootstrap nodes, defaults to 1.
Release 0.12.1
Changed
- hot fix: Connects to a limited number of bootstrap nodes, defaults to 1.
Release 0.12.0
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
WakuStoreinstance to avoid having to pass them at everyqueryHistorycall. - Allow passing decryption keys to
Wakuinstance to avoid having to pass them to bothWakuRelayandWakuStore. Waku.waitForConnectedPeerhelper to ensure that we are connected to Waku peers when using the bootstrap option.
Changed
- Breaking: Moved
startTimeandendTimefor history queries to atimeFilterproperty 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
Added
- Examples: New Ethereum Private Message Using Wallet Encryption Web App
example that demonstrates the usage ofeth_encryptAPI (available on Metamask) and EIP-712 for typed structured data signing. - New
bootstrapoption forWaku.createto easily connect to Waku nodes upon start up. - Support for
startTimeandendTimein Store queries to filter by time window as per 21/WAKU2-FTSTORE.
Changed
- Renamed
discover.getStatusFleetNodestodiscovery.getBootstrapNodes;
Changed the API to allow retrieval of bootstrap nodes from other sources. - Examples: Renamed
eth-dmtoeth-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
DefaultPubSubTopictowaku.tsand fixed the casing. - Breaking: Rename all
pubsubTopicoccurrences topubSubTopic, 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. ChatMessagehas 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
Added
- Relay and ReactJS guides and examples
(#56).
Changed
- Breaking: The
WakuMessageAPIs have been changed to movecontentTopicout of the optional parameters.
Removed
- Examples (web-chat): Remove broken
/fleetcommand. - Breaking: Removed
DefaultContentTopicas 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.payloadAsUtf8returning garbage on utf-8 non-ascii characters.ChatMessage.payloadAsUtf8returning 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
Changed
- Breaking: Store Response Protobuf changed to align with nim-waku v0.5
(nim-waku#676).
Release 0.8.1
Added
- Examples (web-chat): New
/fleetcommand to switch connection between Status prod and test fleets. - Export
generatePrivateKeyandgetPublicKeydirectly from the root. - Usage of the encryption and signature APIs to the readme.
Changed
- Breaking: Renamed
WakuRelay.(add|delete)PrivateDecryptionKeytoWakuRelay.(add|delete)DecryptionKeyto make it clearer that it accepts both symmetric keys and asymmetric private keys.
Fix
- Align
WakuMessagereadme example with actual code behaviour.
Release 0.8.0
Added
WakuRelay.deleteObserverto 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 callingWaku.create. - New
lib/utilsmodule for easy, dependency-less hex/bytes conversions. - New
peersandrandomPeermethods onWakuStoreandWakuLightPushto 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 avoidTextEncodererrors in ReactJS tests. - Disable keep alive by default as latest nim-waku release does not support ping protocol.
- Breaking: Optional parameters for
WakuMessage.fromBytesandWakuMessage.fromUtf8Stringare now passed in a singleOptionsobject. - Breaking:
WakuMessagestatic functions are now async to allow for encryption and decryption. - Breaking:
WakuMessageconstructor is now private,from*anddecode*function should be used. WakuMessageversion 1 is partially supported, enabling asymmetrical encryption and signature of messages;
this can be done by passing keys toWakuMessage.from*andWakuMessage.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
keepAliveif set to0.
Release 0.7.0
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.