Skip to content

2023-03-15 v0.16.0

Compare
Choose a tag to compare
@jm-clius jm-clius released this 15 Mar 10:58
· 844 commits to master since this release
v0.16.0
03f0de3

This release does not include upgrade instructions if upgrading from v0.15.0 or later. To upgrade from an older version, please refer to past release notes.

Release highlights:

  • a fix for an issue that prevented the node from generating high-resolution (up to nanosecond) timestamps
  • introduction of an application-defined meta attribute to the Waku Message. This can be quite valuable for network-wide deduplication, deterministic hashing, validity checking and other planned improvements to the protocol
  • many optimizations in RLN implementation and its underlying dependencies

Features

  • Integrated a new group manager for RLN-protected relay 1496
  • Added application-defined meta attribute to Waku Message according to RFC 14/WAKU2-MESSAGE 1581
  • Implemented deterministic hashing scheme for Waku Messages according to RFC 14/WAKU2-MESSAGE 1586

Changes

  • Upgraded nim-sqlite3-abi to the latest version 1565
  • Better validation of protocol buffers 1563
  • Improved underlying Zerokit performance and FFI 1571
  • Node peer ID now logged with relay trace logging 1574
  • Continued refactoring of several protocol implementations to improve maintainability and readability
  • Refactored and cleaned up peer manager 1539
  • Removed unused and legacy websocket submodule 1580 1582
  • Use base64 URL-safe encoding for noise 1569
  • Various general improvements to RLN implementation 1585 1587
  • Started on implementation for new and improved filter protocol 1584
  • Updated pubsub and content topic namespacing to reflect latest changes in RFC 23/WAKU2-TOPICS 1589
  • Unified internal peer data models 1597
  • Improved internal implementation of Waku ENR encoding and decoding 1598 1599
  • Underlying dependency for RLN implementation now loaded as a static library 1578

Fixes

  • Fixed internally generated timestamps to allow higher resolution than seconds 1570
  • Fixed padded base64 usage for encoding and decoding payloads on the JSON RPC API 1572
  • Fixed incorrect relative module imports 1591
  • Fixed RLN relay erroneously storing messages from multiple apps 1594

This release supports the following libp2p protocols:

Protocol Spec status Protocol id
11/WAKU2-RELAY stable /vac/waku/relay/2.0.0
12/WAKU2-FILTER draft /vac/waku/filter/2.0.0-beta1
13/WAKU2-STORE draft /vac/waku/store/2.0.0-beta4
18/WAKU2-SWAP draft /vac/waku/swap/2.0.0-beta1
19/WAKU2-LIGHTPUSH draft /vac/waku/lightpush/2.0.0-beta1

The Waku v1 implementation is stable but not under active development.