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 toreceiverTimestamp
and changes its type toREAL
.
- Adds
API
Fixes
2021-06-03 v0.4
This release contains the following:
Features
- Initial
toy-chat
implementation
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
- JSON-RPC Store API: Added an optional time-based query to filter historical messages.
- Nim API: Added
resume
method.
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
- Start of
RLN relay
implementation - Start of
swap
implementation - Start of fault-tolerant
store
implementation - Initial
bridge
implementation between Waku v1 and v2 protocols - Initial
lightpush
implementation - A peer manager for
relay
,filter
,store
andswap
peers - Persistent storage for peers: A node with this feature enabled will now attempt to reconnect to
relay
peers after a restart. It will respect the gossipsub PRUNE backoff period before attempting to do so. --persist-peers
CLI option to persist peers in local storage--persist-messages
CLI option to store historical messages locally--keep-alive
CLI option to maintain a stable connection torelay
peers on idle topics- A CLI chat application (
chat2
) over Waku v2 with bridging to matterbridge
Changes
- Enable
swap
protocol by default and improve logging
General refactoring
- Split out
waku_types
types into the right place; createutils
folder. - Change type of
contentTopic
inContentFilter
tostring
. - Replace sequence of
contentTopics
inContentFilter
with a singlecontentTopic
. - Add
timestamp
field toWakuMessage
. - Ensure CLI config parameters use a consistent naming scheme. Summary of changes here.
Docs
Several clarifications and additions aimed at contributors, including
- information on how to query Status test fleet for node addresses,
- how to view logs, and
- how to update submodules.
Schema
- Add
Message
table to the persistent message store. This table replaces the oldmessages
table. It has two additional columns, namelypubsubTopic
, andversion
.
- 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
andunsubscribe
no longer returns a future (removedasync
designation). HistoryQuery
: AddedpubsubTopic
field. Message history can now be filtered and queried based on thepubsubTopic
.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 onwakunode2
nowawait
instead ofdiscard
dispatchedWakuRelay
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.
- Admin API retrieves information about peers registered on the
- 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
andwakunode2
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!