Skip to content

2023-05-17 v0.17.0

Compare
Choose a tag to compare
@vpavlin vpavlin released this 17 May 14:52
· 868 commits to master since this release
c4370b3

Note that the --topics config item has been deprecated and support will be dropped in future releases. To configure support for multiple pubsub topics, use the new --topic parameter repeatedly.

What's Changed

Release highlights:

  • New REST API for Waku Store protocol.
  • New Filter protocol implentation. See 12/WAKU2-FILTER.
  • Initial C bindings support.
  • Support for Heaptrack to investigate memory utilization (tutorial).

Features

  • cbindings: first commit - waku relay (#1632) (#1714) (2defbd23)
  • example using filter and lightpush (#1720) (8987d4a3)
  • configure protected topics via cli (#1696) (16b44523)
  • mem-analysis: Adding Dockerfile_with_heaptrack (#1681) (9b9172ab)
  • add metrics with msg size histogram (#1697) (67e96ba8)
  • curate peers shared over px protocol (#1671) (14305c61)
  • enr: added support for relay shards field (96162536)
  • add tools maket target and build tools in CI (#1668) (d5979e94)
  • integrate new filter protocol, other improvements (#1637) (418efca2)
  • rest-api-store: new rest api to retrieve store waku messages (#1611) (#1630) (b2acb54d)
  • node: added waku node builder type (e931fa5d)
  • dos protected topic relay msgs based on meta field (#1614) (c26dcb2b)
  • further filter improvements (#1617) (d920b973)
  • common: added extensible implementation of the enr typed record (ac56e1dc)
  • rln-relay: fetch release from zerokit ci, or build (#1603) (179be681)
  • filter-v2: new filter protocol increment - message handling and clients (#1600) (be446b98)

Fixes

Changes

  • ci: cache all of submodules/deps to speed up build time (#1731) (4394c69d)
  • rln-relay: update args to contract (#1724) (b277ce10)
  • rln-relay: use new config for ffi (#1718) (44c54312)
  • adding new tutorial on how to handle heaptrack with nim waku (#1719) (4b59e472)
  • add timestamp and ephemeral for opt-in dos validator (#1713) (3e0a693d)
  • add test vectors dos protection validator (#1711) (eaa162ee)
  • add validator for dos protec metrics and move to app (#1704) (3e146869)
  • use QUICK_AND_DIRTY_COMPILER flag for CI (#1708) (21510425)
  • move networkmonitor and wakucanary to apps directory (209579b0)
  • wakunode2: flatten and simplify app setup (#1705) (ce92fc1a)
  • wakunode2: split setup logic into app module (c8081c88)
  • add payload bytes to trace log (#1703) (c6d291d3)
  • refactor flaky test with while (#1698) (dca0e9b2)
  • core: move peers utils module to waku_core (e041e043)
  • decouple test2 target from testcommon (91baa232)
  • core: move utils time module to waku_core (93b0c071)
  • add deprecation notice to utils module. move heartbeat to common (e8dceb2a)
  • core: rename waku_message module to waku_core (c9b6b230)
  • flatten waku v2 protocols folder (d7b72ac7)
  • fix test failing intermittently (#1679) (8d213e85)
  • networking: get relay number of connections from protocol conns/streams (#1609) (73cbafa6)
  • allow to call store api endpoints without a storenode (#1575) (#1647) (0b4a2e68)
  • bump container image versions to v0.16.0 in quickstart (#1640) (5c33d9d1)
  • node: remove deprecated constructor and extend testlib with builder (9dadc1f5)
  • do not mount relay more than once (#1650) (5d853b86)
  • pointed all waku node imports to the barrel import (e8448dfd)
  • node: added waku_node barrel import and split config module (13942888)
  • remove deprecated enr record init method (0627b4f8)
  • deps: upgrade nim-chronos and nim-presto to latest version (7c229ece)
  • remove waku swap protocol (2b5fd2a2)
  • deps: upgrade nim-confutils to latest version (67fa736d)
  • rln-relay: gracefully handle chain forks (#1623) (00a3812b)
  • bump nim-libp2p 53b060f (#1633) (11ff93c2)
  • added testcommon target to makefile (048ca45d)
  • increase meta size to 64 bytes + tests (#1629) (1f793756)
  • enr: move waku enr multiaddr to typedrecord and builder extensions (2ffd2f80)
  • enr: added waku2 capabilities accessor (157724d9)
  • rln-relay: reduce exports (#1615) (2f3ba3d6)
  • add dash between target and version (#1613) (24d62791)
  • release: added regression checking and clarifications (#1610) (b495dd7b)

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
/vac/waku/filter-subscribe/2.0.0-beta1
/vac/waku/filter-push/2.0.0-beta1
13/WAKU2-STORE draft /vac/waku/store/2.0.0-beta4
19/WAKU2-LIGHTPUSH draft /vac/waku/lightpush/2.0.0-beta1

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

Upgrade instructions

  • The --topics config option has been deprecated to unify the configuration style. It still available in this and will be in next release, but will be removed after that. The new option --topic is introduced, which can be use repeatedly to achieve the same behaviour.