Skip to content

2022-10-06 v0.12.0

Compare
Choose a tag to compare
@jm-clius jm-clius released this 06 Oct 16:32
· 1190 commits to master since this release
v0.12.0
a9fa3a2

Release highlights:

  • The performance and stability of the message store has improved dramatically. Query durations, even for long-term stores, have improved by more than a factor of 10.
  • Support for Waku Peer Exchange - a discovery method for resource-restricted nodes.
  • Messages can now be marked as "ephemeral" to prevent them from being stored.
  • Zerokit is now the default implementation for spam-protected relay with RLN.

The full list of changes is below.

Features

Changes

  • 17/WAKU-RLN-RELAY implementation now handles on-chain transaction errors.
  • 17/WAKU-RLN-RELAY implementation now validates the Merkle tree root against a window of acceptable roots.
  • Added metrics for 17/WAKU-RLN-RELAY implementation.
  • Continued refactoring of several protocol implementations to improve maintainability and readability.
  • Cleaned up nwaku imports and dependencies.
  • Refactored and organised nwaku unit tests.
  • Nwaku now periodically logs node metrics by default.
  • Further improvements to the store implementation:
    • Better logging and query traceability.
    • More useful metrics to measure query and insertion time.
    • Reworked indexing for faster inserts and queries.
    • Reworked data model to use a simple, single timestamp for indexing, ordering and querying.
    • Improved retention policy management with periodic execution.
    • Run sqlite database vacuum at node start.
    • Improved logging when migrating the database to a newer version.
  • relay no longer auto-mounted on all nwaku nodes.
  • The most complete node ENR now included in response to API requests for node info().
  • Updated Grafana dashboards included with nwaku.
  • Github CI test execution now skipped for doc-only changes.

Fixes

  • Fixed nwaku unnecessary sleep when no dynamic bootstrap nodes retrieved.
  • Fixed 12/WAKU2-FILTER not working from browser-based clients due to nwaku peer manager failing to reuse existing connection.
  • Waku Message payload now correctly encoded as base64 in the Relay REST API.
  • Fixed handling of bindParam(uint32) in sqlite.
  • chat2 application now correctly selects a random store node on startup.
  • Fixed macos builds failing due to an unsupported dependency.
  • Fixed nwaku not reconnecting to previously discovered nodes after losing connection.
  • Fixed nwaku failing to start switch transports with external IP configuration.
  • Fixed SIGSEGV crash when attempting to start nwaku store without db-path configuration.

Docs

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.