2023-05-17 v0.17.0
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
- ci: remove target flag from docker command (#1725) (d822cdc5)
- wakunode2 config. adding new 'topic' config parameter. (#1727) (2ec9809c)
- streams was used instead of connections (#1722) (b9e0763e)
- change filter request default behaviour to ping (#1721) (7c39be9a)
- rln-relay: handle invalid deletes (#1717) (81dffee8)
- fix filter v2 proto fields (#1716) (68a39c65)
- unstable peers in mesh (#1710) (703c3ab5)
- networkmonitor: break import dependency with wakunode2 app (043feacd)
- import nimchronos instead heartbeat (#1695) (7d12adf6)
- rest: change rest server result error type to string (d5ef9331)
- rln-relay: scope of getEvents (#1672) (b62193e5)
- logs: fix log reporting wrong ok connected peers (#1675) (1a885b96)
- move canBeConnected to PeerManager and check for potential overflow (#1670) (d5c2770c)
- wrap untracked protocol handler exceptions (9e1432c9)
- wakunode2: made setup nat return errors (1cfb251b)
- fixed multiple bare except warnings (caf78249)
- bump libp2p with traffic metrics fix (#1642) (0ef46673)
- rln-relay: buildscript bad cp (#1636) (bd9857c1)
- wakunode2: fix main warnings and drop swap support (f95147f5)
- rln-relay: on chain registration (#1627) (b1bafda2)
- connect instead of dialing relay peers (#1622) (85f33a8e)
- fix hash size greater than 32 (#1621) (c42ac16f)
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
--topicsconfig 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--topicis introduced, which can be use repeatedly to achieve the same behaviour.