Skip to content

2023-01-16 v0.14.0

Compare
Choose a tag to compare
@jm-clius jm-clius released this 16 Jan 10:17
· 1031 commits to master since this release
v0.14.0
2df6cb1

This release does not come with upgrade instructions if upgrading from v0.13.0 or later. If upgrading from any older versions of nwaku, please see the Upgrade Instructions for the v0.13.0 release

Release highlights:

  • An important fix for the Waku message archive returning inconsistent responses to history queries.
  • Support for AutoNAT and libp2p Circuit Relay that allows, among other things, for NAT hole punching.
  • Support for structured logging in JSON format.
  • A fix for an underlying file descriptor leak that affected websocket connections.

Features

  • Support for AutoNAT
  • Support for libp2p Circuit Relay (server only)
  • New Waku Archive implementation. This allows easy addition of drivers for different technologies to store historical messages.
  • Support for structured logging and specifying log format.
  • Node now keeps track of its external reachability.

Changes

  • Zerokit RLN library now statically linked.
  • Use extended key generation in Zerokit API to comply with 32/RLN.
  • Re-enable root validation in 17/WAKU-RLN-RELAY implementation.
  • Network monitoring tool now supports DNS discovery.
  • Added dashboard for network monitoring.
  • Continued refactoring of several protocol implementations to improve maintainability and readability.
  • Removed swap integration from store protocol.
  • Peerstore now consolidated with libp2p peerstore.
  • Peerstore now also tracks peer direction.
  • SIGSEGV signals are now handled and logged properly.
  • Waku v2 no longer imports libraries from Waku v1.
  • Improved build and CI processes:
    • Added support for an EXPERIMENTAL compiler flag.
    • Simplified project Makefile.
    • Split Dockerfile into production and experimental stages.
    • Removed obsolete simulation libraries from build.
  • Improved parallellisation (and therefore processing time) when dialing several peers simultaneously.
  • Waku Archive now responds with error to historical queries containing more than 10 content topics.

Fixes

  • Fixed support for optional fields in several protocol rpc codecs. #1393 #1395 #1396
  • Fixed clients with --store=false not installing Store Client JSON-RPC API handlers. #1382
  • Fixed SQLite driver returning inconsistent responses to store queries. #1415
  • Fixed peer exchange discv5 loop starting before discv5 has started. #1407
  • Fixed wakubridge test timing. #1429
  • Fixed bug in Noise module types equating T_ss incorrectly to "se" and not "ss". #1432
  • Fixed Ctrl-C quitting resulting in unreleased resources and exit failures. #1416
  • Fixed CI workflows not cloning repo on startup. #1454 #1455
  • Fixed Admin API peer connection not returning error response if peer can't be connected. #1476
  • Fixed underlying file descriptor leak. #1483

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.