nwaku/CHANGELOG.md

9.0 KiB

Changelog

Next

This release contains the following:

Features

Changes

  • Enables db migration for the message store.
  • The resume Nim API eliminates duplicates messages before storing them.
  • Updates the resume Nim API to fetch historical messages in sequence of pages.
  • Support for stable version of relay protocol, with protocol ID /vac/waku/relay/2.0.0
  • Support for multiple protocol IDs - now matches any protocol that adds postfix to stable ID.

General refactoring

Docs

  • Adds the database migration tutorial.

Schema

  • Updates the Message table of the persistent message store:
    • Adds senderTimestamp column.
    • Renames the timestamp column to receiverTimestamp and changes its type to REAL.

API

Fixes

2021-06-03 v0.4

This release contains the following:

Features

Changes

  • The toy-chat application can now perform lightpush and request content-filtered messages from remote peers.
  • The toy-chat application now uses default content topic /toy-chat/2/huilong/proto
  • Improve toy-chat briding to matterbridge
  • Improve swap logging and enable soft mode by default
  • Content topics are no longer in a redundant nested structure
  • Improve error handling

API

Fixes

  • Connections between nodes no longer become unstable due to keep-alive errors if mesh grows large
  • Re-enable lightpush tests and fix Windows CI failure

The Waku v2 suite of protocols are still in a raw/draft state. This release supports the following libp2p protocols:

Protocol Spec status Protocol id
17/WAKU-RLN raw /vac/waku/waku-rln-relay/2.0.0-alpha1
11/WAKU2-RELAY draft /vac/waku/relay/2.0.0-beta2
12/WAKU2-FILTER draft /vac/waku/filter/2.0.0-beta1
13/WAKU2-STORE draft /vac/waku/store/2.0.0-beta3
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.

2021-05-11 v0.3

This release contains the following:

Features

Changes

  • Enable swap protocol by default and improve logging

General refactoring

  • Split out waku_types types into the right place; create utils folder.
  • Change type of contentTopic in ContentFilter to string.
  • Replace sequence of contentTopics in ContentFilter with a single contentTopic.
  • Add timestamp field to WakuMessage.
  • Ensure CLI config parameters use a consistent naming scheme. Summary of changes here.

Docs

Several clarifications and additions aimed at contributors, including

Schema

  • Add Message table to the persistent message store. This table replaces the old messages table. It has two additional columns, namely
    • pubsubTopic, and
    • version.
  • Add Peer table for persistent peer storage.

API

  • JSON-RPC Admin API: Added a post method to connect to peers on an ad-hoc basis.
  • Nim API: PubSub topic subscribe and unsubscribe no longer returns a future (removed async designation).
  • HistoryQuery: Added pubsubTopic field. Message history can now be filtered and queried based on the pubsubTopic.
  • HistoryQuery: Added support for querying a time window by specifying start and end times.

Fixes

  • Running nodes can now be shut down gracefully
  • Content filtering now works on any PubSub topic and not just the waku default.
  • Nodes can now mount protocols without supporting relay as a capability

The Waku v2 suite of protocols are still in a raw/draft state. This release supports the following libp2p protocols:

Protocol Spec status Protocol id
17/WAKU-RLN raw /vac/waku/waku-rln-relay/2.0.0-alpha1
18/WAKU2-SWAP raw /vac/waku/swap/2.0.0-alpha1
19/WAKU2-LIGHTPUSH raw /vac/waku/lightpush/2.0.0-alpha1
11/WAKU2-RELAY draft /vac/waku/relay/2.0.0-beta2
12/WAKU2-FILTER draft /vac/waku/filter/2.0.0-beta1
13/WAKU2-STORE draft /vac/waku/store/2.0.0-beta3

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

2021-01-05 v0.2

This release contains the following changes:

  • Calls to publish a message on wakunode2 now await instead of discard dispatched WakuRelay procedures.
  • StrictNoSign enabled.
  • Add JSON-RPC API for external access to wakunode2 functionality:
    • Admin API retrieves information about peers registered on the wakunode2.
    • Debug API exposes debug information about a wakunode2.
    • Filter API saves bandwidth by allowing light nodes to filter for specific content.
    • Private API enables symmetric or asymmetric cryptography to encrypt/decrypt message payloads.
    • Relay API allows basic pub/sub functionality.
    • Store API retrieves historical messages.
  • Add tutorial on how to use JSON-RPC API.
  • Refactor: Move waku_filter protocol into its own module.

The Waku v2 implementation, and most protocols it consist of, are still in a draft/beta state. The Waku v1 implementation is stable but not under active development.

2020-11-30 v0.1

Initial beta release.

This release contains:

  • A Nim implementation of the Waku v1 protocol.
  • A Nim implementation of the Waku v2 protocol.
  • CLI applications wakunode and wakunode2 that allows you to run a Waku v1 or v2 node.
  • Examples of Waku v1 and v2 usage.
  • Various tests of above.

Currenty the Waku v2 implementation, and most protocols it consist of, are in a draft/beta state. The Waku v1 implementation is stable but not under active development.

Feedback welcome!