Releases: waku-org/nwaku
v0.20.0-rc.0
Generated at Mon Sep 11 14:59:40 UTC 2023
Features
- rln-relay: removed rln from experimental 🚀 (#2001) (645b0343)
- Rest endoint /health for rln (#2011) (fc6194bb)
- rln_db_inspector: create rln_db_inspector tool (#1999) (ec42e2c7)
- relay: ordered validator execution (#1966) (debc5f19)
- discv5: topic subscriptions update discv5 filter predicate (#1918) (4539dfc7)
- topic subscriptions updates discv5 ENR (#1875) (c369b329)
- rln_keystore_generator: wired to onchain group manager (#1931) (c9b48ea1)
- rln: init rln_keystore_generator (#1925) (3d849541)
- update various protocols to autoshard (#1857) (cf301396)
Bug Fixes
- rln-relay: waku_rln_number_registered_memberships metrics appropriately handled (#2018) (a4e78330)
- prevent IP 0.0.0.0 from being published and update peers with empty ENR data (#1982) (47ae19c1)
- rln-relay: missed roots during sync (#2015) (21604e6b)
- p2p: fix possible connectivity issue (#1996) (7d9d8a3f)
- rln-db-inspector: use valueOr pattern (#2012) (a8095d87)
- tests: relay tests use random port to avoid conflict (#1998) (b991682b)
- ci: incorrect use of braces (#1987) (4ed41457)
- Makefile: invalid path to crate build (#1981) (1a318c29)
- --topic should be ignore when using --pubsub-topic or --content-topic (#1977) (037b1662)
- tests: fix flaky test (#1972) (f262397d)
- rln-relay: deserialization of valid merkle roots (#1973) (d262837e)
- ci: rename tools artifact to prevent conflict (#1971) (26c06b27)
- Makefile: rln was enabled by default (#1964) (9b1d2904)
- rln-relay: modify keystore credentials logic (#1956) (e7b2b88f)
- Makefile: error out if rln-keystore-generator not compiled with rln flag (#1960) (ac258550)
- rln-relay: sync from deployed block number (#1955) (bd3be219)
- rln-relay: window of acceptable roots synced to rln metadata (#1953) (01634f57)
- rln-relay: bump zerokit to v0.3.2 (#1951) (32aa1c5b)
- rln-relay: flush_interval incorrectly set (#1933) (c07d63db)
- rln-relay: RLN DB should be aware of chain and contract address (#1932) (1ae5b5a9)
- rln-relay: waitFor startup, otherwise valid proofs will be marked invalid (#1920) (6c6302f9)
- test: fix flaky rln test (#1923) (0ac8a7f0)
- rln-relay: remove registration capability (#1916) (f08315cd)
- rln-relay: invalid start index being set results in invalid proofs (#1915) (b3bb7a11)
- rln-relay: should error out on rln-relay mount failure (#1904) (8c568cab)
- rln-relay: timeout on macos runners, use fixed version of ganache (#1913) (c9772af0)
- no enr record in chat2 (#1907) (fc604ca5)
Changes
- ci: add js-waku test to pre-release workflow (#2017) (e8776fd6)
- rln-relay: updated docs (#1993) (76e34077)
- ci: execute js-waku integration tests on image build (#2006) (5d976df9)
- rln-relay: add isReady check (#1989) (5638bd06)
- rln-relay: clean up nullifier table every MaxEpochGap (#1994) (483f40c8)
- ci: use commit instead of master for docker image (#1990) (98850192)
- rln-relay: log levels for certain logs (#1986) (97a7c9d0)
- rln-relay: use the only key from keystore if only 1 exists (#1984) (a14c3261)
- ci: enable experimental for the PR image builds (#1976) (1b835b4e)
- rln-relay: confirm that the provided credential is correct using onchain query (#1980) (be48891f)
- api: validate rln message before sending (rest + rpc) (#1968) (05c98864)
- cbindings: Thread-safe libwaku. WakuNode instance created directly from the Waku Thread (#1957) (68e8d9a7)
- add debug log indicating succesful message pushes and also log the message hash (#1965) (e272bec9)
- rln-keystore-generator: log out the membership index upon registration (#1963) (7d53aec1)
- rln-relay: integrate waku rln registry (#1943) (cc9f8d42)
- ci: add a job checking config options and db schema (#1927) (505d1967)
- rln_keystore_generator: generate and persist credentials (#1928) (07945a37)
- rln-relay: rename keystore application to waku-rln-relay (#1924) (8239b455)
- rln: remove old and add new rln metric (#1926) (56c228f8)
- rln: run rln in all relay pubsubtopics + remove cli flags (#1917) ([af95b57](https://github.com/waku-org/nwaku/c...
2023-08-16 v0.19.0
Note that the
--topic
CLI option is being deprecated in favor a more specific option--pubsub-topic
.
The Waku v1 implementation has been removed from this repository and can be found in a separate Waku Legacy repository.
What's Changed
Release highlights:
- Improved connection management, including management for non-relay peers and limiting the number of connections from a single IP
- Postgres support has been added as a backend for archive module
- RLN initialization optimizations
- Update to the latest nim-libp2p
- Removed Waku v1 and also references to
v2
from the current version - Basic implementation of Autosharding for the Waku Network
- REST API implementation for Filter protocol
Features
- ci: add docker image builds per PR (#1881) (84f94d5d)
- Rest API interface for legacy (v1) filter service. (#1851) (08ff6672)
- autosharding content topics in config (#1856) (afb93e29)
- autosharding core algorithm (#1854) (bbff1ac1)
- cbindings: tiny waku relay example in Python (#1793) (0b2cfae5)
- rln-relay: close db connection appropriately (#1858) (76c73b62)
- enable TcpNoDelay (#1470) (08f3bba3)
- limit relay connections below max conns (#1813) (17b24cde)
- postgres: integration of postgres in wakunode2 (#1808) (88b7481f)
- discovery peer filtering for relay shard (#1804) (a4da87bb)
- rln-relay: resume onchain sync from persisted tree db (#1805) (bbded9ee)
- rln-relay: metadata ffi api (#1803) (045f07c6)
Bug Fixes
- bring back default topic in config (#1902) (d5d2243c)
- ci: only add comment on PR and do not duplicate it (#1908) (b785b6ba)
- ci: add mising OS arch option to image build (#1905) (2575f3c4)
- wakucanary: add missing return on timeout (#1901) (7dce0b9e)
- fixes out of bounds crash when waku2 is not set (#1895) (03363f1b)
- wakucanary: add enr record to builder (#1882) (831a093f)
- check nil before calling clearTimer (#1869) (2fc48842)
- rln-relay: mark duplicated messages as spam (#1867) (4756ccc1)
- ci: do not depend on number of procesors with job name (#1863) (c560af11)
- libp2p: Updating nim-libp2p to fix the
wss
connectivity issue (#1848) (1d3410c7) - rln-relay: chunk event fetching (#1830) (e4d9ee1f)
- discv5: Fixing issue that prevented the wakunode2 from starting (#1829) (3aefade6)
- sanity-check the docker image start (ae05f0a8)
- ci: fix broken test with wrong import (#1820) (4573e8c5)
- temporary fix to disable default experimental builds on fleets (#1810) (e9028618)
- rln-relay: tree race condition upon initialization (#1807) (f8e270fb)
- fix mac docker build alpine version (#1801) (fce845bb)
- rln-relay: flaky static group manager test (#1798) (0e9ecbd6)
Changes
- remove references to v2 (#1898) (b9d5d28a)
- submodules: use zerokit v0.3.1 only (#1886) (311f5ea0)
- remove Waku v1 and wakubridge code (#1874) (ab344a9d)
- cbindings: libwaku - run waku node in a secondary working thread (#1865) (069c1ad2)
- update docs link (#1850) (d2b6075b)
- changelog: release notes for v0.19.0 (#1861) (32c1276f)
- rln-relay: verify proofs based on bandwidth usage (#1844) (3fe4522a)
- rln-relay: bump zerokit (#1838) (4f0bdf9a)
- bump nim-libp2p to 224f92e (661638da)
- refactor: Move record creation & fix libwaku compilation (#1833) (97d3b9f7)
- discv5 re-org clean-up (#1823) (cf46fb7c)
- networking: disconnect due to colocation ip in conn handler (#1821) (e12c979c)
- rln-relay: bump zerokit for version fix (#1822) (add294a9)
- move discv5 out of node. (#1818) (62d36530)
- archive: Moving waku archive logic from app.nim to the archive module (#1817) (52894a82)
- add peer manager config to builder (#1816) (71c4ac16)
- discv5 re-org setup (#1815) (44f9d8dc)
- databases: Creation of the databases folder to keep the logic for sqlite and postgres (#1811) (a44d4bfb)
- deps: bump libp2p & websock (#1800) (f6e89c31)
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 has been removed from this repository and can be found in a separate Waku Legacy repository.
Upgrade instructions
- The
--topic
CLI option is being depreaced in favour of two more spefici options--pubsub-topic
and--content-topic
. The--topic
option will be available for next 2 releases with a deprecat...
v0.19.0-rc.1
Generated at Fri Aug 11 16:20:39 UTC 2023
Features
- ci: add docker image builds per PR (#1881) (84f94d5d)
- Rest API interface for legacy (v1) filter service. (#1851) (08ff6672)
- autosharding content topics in config (#1856) (afb93e29)
- autosharding core algorithm (#1854) (bbff1ac1)
- cbindings: tiny waku relay example in Python (#1793) (0b2cfae5)
- rln-relay: close db connection appropriately (#1858) (76c73b62)
- enable TcpNoDelay (#1470) (08f3bba3)
- limit relay connections below max conns (#1813) (17b24cde)
- postgres: integration of postgres in wakunode2 (#1808) (88b7481f)
- discovery peer filtering for relay shard (#1804) (a4da87bb)
- rln-relay: resume onchain sync from persisted tree db (#1805) (bbded9ee)
- rln-relay: metadata ffi api (#1803) (045f07c6)
Bug Fixes
- bring back default topic in config (#1902) (d5d2243c)
- ci: only add comment on PR and do not duplicate it (#1908) (b785b6ba)
- ci: add mising OS arch option to image build (#1905) (2575f3c4)
- wakucanary: add missing return on timeout (#1901) (7dce0b9e)
- fixes out of bounds crash when waku2 is not set (#1895) (03363f1b)
- wakucanary: add enr record to builder (#1882) (831a093f)
- check nil before calling clearTimer (#1869) (2fc48842)
- rln-relay: mark duplicated messages as spam (#1867) (4756ccc1)
- ci: do not depend on number of procesors with job name (#1863) (c560af11)
- libp2p: Updating nim-libp2p to fix the
wss
connectivity issue (#1848) (1d3410c7) - rln-relay: chunk event fetching (#1830) (e4d9ee1f)
- discv5: Fixing issue that prevented the wakunode2 from starting (#1829) (3aefade6)
- sanity-check the docker image start (ae05f0a8)
- ci: fix broken test with wrong import (#1820) (4573e8c5)
- temporary fix to disable default experimental builds on fleets (#1810) (e9028618)
- rln-relay: tree race condition upon initialization (#1807) (f8e270fb)
- fix mac docker build alpine version (#1801) (fce845bb)
- rln-relay: flaky static group manager test (#1798) (0e9ecbd6)
Changes
- remove references to v2 (#1898) (b9d5d28a)
- submodules: use zerokit v0.3.1 only (#1886) (311f5ea0)
- remove Waku v1 and wakubridge code (#1874) (ab344a9d)
- cbindings: libwaku - run waku node in a secondary working thread (#1865) (069c1ad2)
- update docs link (#1850) (d2b6075b)
- changelog: release notes for v0.19.0 (#1861) (32c1276f)
- rln-relay: verify proofs based on bandwidth usage (#1844) (3fe4522a)
- rln-relay: bump zerokit (#1838) (4f0bdf9a)
- bump nim-libp2p to 224f92e (661638da)
- refactor: Move record creation & fix libwaku compilation (#1833) (97d3b9f7)
- discv5 re-org clean-up (#1823) (cf46fb7c)
- networking: disconnect due to colocation ip in conn handler (#1821) (e12c979c)
- rln-relay: bump zerokit for version fix (#1822) (add294a9)
- move discv5 out of node. (#1818) (62d36530)
- archive: Moving waku archive logic from app.nim to the archive module (#1817) (52894a82)
- add peer manager config to builder (#1816) (71c4ac16)
- discv5 re-org setup (#1815) (44f9d8dc)
- databases: Creation of the databases folder to keep the logic for sqlite and postgres (#1811) (a44d4bfb)
- deps: bump libp2p & websock (#1800) (f6e89c31)
v0.19.0-rc.0
Generated at Sat Jul 15 11:06:59 UTC 2023
Features
- limit relay connections below max conns (#1813) (17b24cde)
- postgres: integration of postgres in wakunode2 (#1808) (88b7481f)
- discovery peer filtering for relay shard (#1804) (a4da87bb)
- rln-relay: resume onchain sync from persisted tree db (#1805) (bbded9ee)
- rln-relay: metadata ffi api (#1803) (045f07c6)
Bug Fixes
- libp2p: Updating nim-libp2p to fix the
wss
connectivity issue (#1848) (1d3410c7) - rln-relay: chunk event fetching (#1830) (e4d9ee1f)
- discv5: Fixing issue that prevented the wakunode2 from starting (#1829) (3aefade6)
- sanity-check the docker image start (ae05f0a8)
- ci: fix broken test with wrong import (#1820) (4573e8c5)
- temporary fix to disable default experimental builds on fleets (#1810) (e9028618)
- rln-relay: tree race condition upon initialization (#1807) (f8e270fb)
- fix mac docker build alpine version (#1801) (fce845bb)
- rln-relay: flaky static group manager test (#1798) (0e9ecbd6)
Changes
- rln-relay: verify proofs based on bandwidth usage (#1844) (3fe4522a)
- rln-relay: bump zerokit (#1838) (4f0bdf9a)
- bump nim-libp2p to 224f92e (661638da)
- refactor: Move record creation & fix libwaku compilation (#1833) (97d3b9f7)
- discv5 re-org clean-up (#1823) (cf46fb7c)
- networking: disconnect due to colocation ip in conn handler (#1821) (e12c979c)
- rln-relay: bump zerokit for version fix (#1822) (add294a9)
- move discv5 out of node. (#1818) (62d36530)
- archive: Moving waku archive logic from app.nim to the archive module (#1817) (52894a82)
- add peer manager config to builder (#1816) (71c4ac16)
- discv5 re-org setup (#1815) (44f9d8dc)
- databases: Creation of the databases folder to keep the logic for sqlite and postgres (#1811) (a44d4bfb)
- deps: bump libp2p & websock (#1800) (f6e89c31)
2023-06-14 v0.18.0
Note that there is a new naming scheme for release artifacts.
What's Changed
Release highlights:
- Support for Gossipsub scoring
- Rendezvous discovery protocol enabled by default with relay
- Initial support for postgresql as Store backend
- Atomic operations for insertions and deletions included in rln-relay
Features
- postgres: complete implementation of driver and apply more tests (#1785) (5fc5770d)
- postgres: adding a postgres async pool to make the db interactions asynchronous (#1779) (cb2e3d86)
- rln-relay: pass in index to keystore credentials (#1777) (a00aa8cc)
- networking: integrate gossipsub scoring (#1769) (34a92631)
- discv5: added find random nodes with predicate (#1762) (#1763) (21737c7c)
- wakunode2: enable libp2p rendezvous protocol by default (#1770) (835a409d)
- postgresql: align previous work's PR#1590 changes into master (#1764) (7df6f4c8)
- networking: prune peers from same ip beyond collocation limit (#1765) (047d1cf0)
- ci: add nightly builds (#1758) (473af70a)
- postgresql: 1st commit to async sql (waku_archive/driver...) (#1755) (59ca03a8)
- ci: add release-notes target (#1734) (ceb54b18)
- rln-relay: use new atomic_operation ffi api (#1733) (611e9539)
Bug Fixes
- ci: enforce basic CPU instruction set to prevent CI issues (#1759) (35520bd0)
- test: wait more for gossip (#1753) (0fce3d83)
- rln-relay: keystore usage (#1750) (36266b43)
- ci: fix flaky test for dos topic (#1747) (46e231d0)
- rln-relay: trace log (#1743) (5eae60e8)
- ci: make experimental default to true in fleet deployment (#1742) (b148c305)
Changes
- rln: bump zerokit (#1787) (9c04b59b)
- ci: extend and rename nightly workflow to support RC builds (#1784) (96074071)
- rln-relay: pass in the path to the tree db (#1782) (dba84248)
- rln-relay: update tree_config (#1781) (ba8ec704)
- ci: properly set os and architecture for nightly and release (#1780) (44bcf0f2)
- ci: remove add-to-project workflow (#1778) (a9505892)
- ci: add experimental builds to nightly (#1761) (ffac7761)
- px: close px streams after resp is sent (#1746) (3c2d2891)
- docs: fix docs and mark some as deprecated (#1754) (b51fb616)
- makefile: unify where chronicles_log_level is set (#1748) (39902dc2)
- rln-relay: docs and config update for testnet 3 (#1738) (bb9d231b)
- rln-relay: update metrics dashboard (#1745) (0ced2195)
- rln-relay: updated metrics for testnet 3 (#1744) (62578746)
- networking: set and use target outbound connections + prune (#1739) (87f694a8)
- proper use of setupNat (#1740) (665484c1)
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
There is a new naming scheme for release artifacts - nwaku-${ARCHITECTURE}-${OS}-${VERSION}.tar.gz
. If you use any automation to download latest release, you may need to update it.
The --topics
config option has been deprecated to unify the configuration style. It is still available in this release but will be removed in the next one. The new option --topic
is introduced, which can be used repeatedly to achieve the same behavior.
v0.18.0-rc.0
Generated at Fri Jun 9 20:28:18 UTC 2023
Features
- postgres: complete implementation of driver and apply more tests (#1785) (5fc5770d)
- postgres: Adding a postgres async pool to make the db interactions asynchronous (#1779) (cb2e3d86)
- rln-relay: pass in index to keystore credentials (#1777) (a00aa8cc)
- networking: integrate gossipsub scoring (#1769) (34a92631)
- discv5: added find random nodes with predicate (#1762) (#1763) (21737c7c)
- wakunode2: enable libp2p rendezvous protocol by default (#1770) (835a409d)
- postgresql: align Andrea's PR#1590 changes into master (#1764) (7df6f4c8)
- networking: prune peers from same ip beyond colocation limit (#1765) (047d1cf0)
- ci: add nightly builds (#1758) (473af70a)
- postgresql: 1st commit to async sql (waku_archive/driver...) (#1755) (59ca03a8)
- add release-notes target (#1734) (ceb54b18)
- rln-relay: use new atomic_operation ffi api (#1733) (611e9539)
Bug Fixes
- ci: enforce basic CPU instruction set to prevent CI issues (#1759) (35520bd0)
- test: wait more for gossip (#1753) (0fce3d83)
- rln-relay: keystore usage (#1750) (36266b43)
- fix flaky test for dos topic (#1747) (46e231d0)
- rln-relay: trace log (#1743) (5eae60e8)
- ci: make experimental default to true in fleet deployment (#1742) (b148c305)
Changes
- rln: bump zerokit (#1787) (9c04b59b)
- libp2p: update nim-libp2p (#1786)" (#1788) (613974c1)
- ci: extend and rename nightly workflow to support RC builds (#1784) (96074071)
- rln-relay: pass in the path to the tree db (#1782) (dba84248)
- libp2p: update nim-libp2p (#1786) (93e09b8b)
- rln-relay: update tree_config (#1781) (ba8ec704)
- ci: properly set os and architecture for nightly and release (#1780) (44bcf0f2)
- remove add-to-project workflow (#1778) (a9505892)
- ci: add experimental builds to nightly (#1761) (ffac7761)
- px: close px streams after resp is sent (#1746) (3c2d2891)
- docs: fix docs and mark some as deprecated (#1754) (b51fb616)
- makefile: unify where chronicles_log_level is set (#1748) (39902dc2)
- rln-relay: docs and config update for testnet 3 (#1738) (bb9d231b)
- rln-relay: update metrics dashboard (#1745) (0ced2195)
- rln-relay: updated metrics for testnet 3 (#1744) (62578746)
- networking: set and use target outbound connections + prune (#1739) (87f694a8)
- proper use of setupNat (#1740) (665484c1)
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 ...
2023-03-15 v0.16.0
This release does not include upgrade instructions if upgrading from
v0.15.0
or later. To upgrade from an older version, please refer to past release notes.
Release highlights:
- a fix for an issue that prevented the node from generating high-resolution (up to nanosecond) timestamps
- introduction of an application-defined
meta
attribute to the Waku Message. This can be quite valuable for network-wide deduplication, deterministic hashing, validity checking and other planned improvements to the protocol - many optimizations in RLN implementation and its underlying dependencies
Features
- Integrated a new group manager for RLN-protected relay 1496
- Added application-defined meta attribute to Waku Message according to RFC 14/WAKU2-MESSAGE 1581
- Implemented deterministic hashing scheme for Waku Messages according to RFC 14/WAKU2-MESSAGE 1586
Changes
- Upgraded nim-sqlite3-abi to the latest version 1565
- Better validation of protocol buffers 1563
- Improved underlying Zerokit performance and FFI 1571
- Node peer ID now logged with relay trace logging 1574
- Continued refactoring of several protocol implementations to improve maintainability and readability
- Refactored and cleaned up peer manager 1539
- Removed unused and legacy websocket submodule 1580 1582
- Use base64 URL-safe encoding for noise 1569
- Various general improvements to RLN implementation 1585 1587
- Started on implementation for new and improved filter protocol 1584
- Updated pubsub and content topic namespacing to reflect latest changes in RFC 23/WAKU2-TOPICS 1589
- Unified internal peer data models 1597
- Improved internal implementation of Waku ENR encoding and decoding 1598 1599
- Underlying dependency for RLN implementation now loaded as a static library 1578
Fixes
- Fixed internally generated timestamps to allow higher resolution than seconds 1570
- Fixed padded base64 usage for encoding and decoding payloads on the JSON RPC API 1572
- Fixed incorrect relative module imports 1591
- Fixed RLN relay erroneously storing messages from multiple apps 1594
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.
2022-02-15 v0.15.0
NB: this release contains breaking changes in the JSON-RPC Relay API. It also changes how nwaku nodes compute GossipSub message IDs, which affects interoperability with previous versions. See the Upgrade Instructions under the release notes for more.
Release highlights:
- Relay connectivity is now maintained by a management loop that selects from the peerstore
- Ability to manually specify
multiaddrs
for the nwaku node to advertise - Two important fixes related to historical message queries:
- fixed archive bug that resulted in duplicate messages in store query response
- fixed query page size limit not being respected
Features
- New connectivity loop to maintain relay connectivity from peerstore 1482 1462
- Support for manually specifying
multiaddrs
to advertise 1509 1512 - Added dynamic keystore for membership credential storage and management 1466
Changes
- Abstracted RLN relay group management into its own API 1465
- Prune peers from peerstore when exceeding capacity 1513
- Removed Kilic submodule 1517
- Continued refactoring of several protocol implementations to improve maintainability and readability
- Refactored and improved JSON RPC API
- Added safe default values for peer-store-capacity 1525
- Improvements in regular CI test reliability and repeatability
- Improved archive query performance 1510
- Added better e2e trace logging for relay messages 1526
- Relay RPC API now encodes message payloads in base64 572 1555
Fixes
- Fixed Waku archive queries returning duplicate messages due to incorrect reordering 1511
- Fixed Admin RPC API crashing on returning peer with no multiaddresses 1507
- Fixed page size limit not being respected in store query responses 1520
- Fixed nwaku subscribing to default pubsub topic even if not configured 1548
- Fixed underlying issue causing node to incorrectly report it's unreachable 1518 1546
- Fixed Relay RPC API not adhering to RFC 1139
- Fixed message IDs in nwaku diverging from those in go-waku 1556
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.
Upgrade instructions
NB: this release contains important changes in (a) the JSON-RPC Relay API and (b) how nodes compute gossipsub message IDs.
(a) if you use the JSON-RPC Relay API, note the corrections/improvements documented in RFC 16/WAKU2-RPC:
- posting messages, e.g. via
post_waku_v2_relay_v1_message
, now takes aWakuMessage
object. - retrieving (getting) messages, e.g. via
get_waku_v2_relay_v1_messages
also returns aWakuMessage
object. - the
WakuMessage
object'spayload
is now abase64
data string - the
WakuMessage
object has aversion
field
(b) nwaku now computes gossipsub message IDs slightly differently. Although this should not affect the operation of your node in isolation, it will affect the amount of unnecessary duplication in the network if yourv0.15.0
or later node is connected to nodes running an older version of nwaku. In other words, if you run a fleet of connected nodes in the same network or you're connected to an existing fleet, it is recommended to upgrade your nodes as soon as possible. Mixing pre-v0.15.0
and post-v0.15.0
nodes in the same network is not recommended.
2023-01-16 v0.14.0
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.
- Added support for an
- 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
- Added instructions for running nwaku with docker compose.
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.