## Roadmap for clients using status-go + go-waku | Feature | Status-Go | Desktop | Mobile | Notes | | ------- | -------- | -------- | -------- | -------- | | WakuV2 protocol / transport | ✔️ | n/a | n/a | Support choosing between Waku1 and Waku2 via node config | ✔️ | ✔️ | ✔️ | Content Topics | ✔️ | n/a | n/a | | Bandwith reporting | ✔️ | ✔️ | n/a | Peer stats signal | ✔️ | ✔️ | | | Peer management | ✔️ | n/a | n/a | | Discovery | ✔️ | ✔️^1^ | ^1^ | Currently working with `go-waku` Rendezvous. go-waku also supports DNS Discovery, but we need to add a setting in status-go to enable it | Rendezvous | ✔️ | ✔️^1^ | ^1^ | Desktop uses the `go-waku` test fleet, which supports running rendezvous servers. Mobile will need to add some config keys for using go-waku fleet | Store protocol | ✔️ | ✔️ | | Allows requesting messages from a store node. | Bridge | ✔️ | n/a | n/a | Content topic was modified to match nim-waku bridge. Also, issues on the bridge were identified and fixed | Historic message fetching | ✔️ | ✔️ | | | Light client | ✔️ | ✔️ | | This uses Lightpush + Filter protocol. These protocols specs are still not stable / production ready. Proper peer selection is still needed. **Needs to be discussed with Vac team how this will be implemented.** | Message confirmation | ^?^ | ^?^ | ^?^ | This refers to the `message.sent` / `message.expired` signals that are emitted once a message arrives to a mailserver. **Needs to be discussed with Vac team how this will be implemented.** | Review config items | ^1^ | ^1^ | ^1^ | There's an open [issue](https://github.com/vacp2p/rfc/issues/419) for suggested settings for Waku2. It might make sense to make these settings part of the node config. Also, a lot of config keys from Waku1 are still available in Waku2 and they probably don't make sense, so it might be a good idea to do a general cleanup | Custom store nodes | | | | It should be possible to add custom store nodes and make the mailserver cycle aware of these new nodes (currently it only works with V1) - n/a: not applicable - ^1^: No frontend work required. Only requires modifying node config used when switching between waku versions - ^?^: It's unknown at the moment if this is required - An empty cell means that the task has not been started