Roadmap Preview

2025Q3

  • Webtransport (HTTP3)
    • Continue implementation; may defer remaining work to Q4 depending on bandwidth.
    • HTTP3 Finalized
    • HTTP3 demands a complete working stack before anything functions - no partial implementation, this makes it non trivial and time consuming
  • Gossipsub 2.0
    • May continue depending on remaining gaps contingent on prior quarter’s outcomes.
  • Kad-DHT
    • Continue implementation; may defer remaining work to Q4 depending on bandwidth.
  • Autonat V2
    • Implement according to specs
  • Maintenance
    • Debug and fix flaky QA tests as well as continue giving support to QA team
    • Remove go-libp2p-daemon usage in examples/tests
    • (This is in addition to other maintenance tasks).
  • Mix-core in nim-libp2p as Prototype / Unstable state
    • Usable in PoCs or experiments
    • Rough edges and minor issues expected, not recommended for production
    • API and internal structure subject to changes
  • Mix specs in libp2p/specs
    • Upstream initial mix design and rationale to libp2p/spec as proposal or draft PR

2025Q4

  • WebTransport (finalized)
    • Complete implementation of WebTransport protocol
    • Support WebTransport as a transport option within nim-libp2p
  • Kad-DHT
    • May continue depending on remaining gaps contingent on prior quarter’s outcomes.
  • Cross-compilation for mobile
    • Enable nim-libp2p builds for arm64/aarch64 targeting Android/iOS
    • Needed for integration into Status App.
  • C-bindings
    • Expose stable C API surface for LogosCore and other external consumers.
  • Connection abstraction refactor
    • The current implementation of nim-libp2p includes abstractions that are difficult to understand, which makes development and collaboration more challenging. Refactoring the codebase would improve clarity, allowing contributors to grasp the code more easily. Additionally, a more streamlined implementation would enhance maintainability, leading to more efficient troubleshooting and debugging.
  • IPv6 support
    • Full handling of /ip6/… multiaddresses
  • Mix-core in nim-libp2p as Done state
    • core protocol logic stable;
    • no blocking issues
    • Issues (if any) are around API polish
  • Maintenance
    • evaluate whether to keep using nim-protobuf-serialization or migrate to minprotobuf
    • (This is in addition to other maintenance tasks).

2026Q1 and beyond

  • Unix Domain Socket transport (/unix//tmp/foo)
  • Performance & scale
    • Profiling and memory audit: guide future optimizations by identifying bottlenecks and alloc hotspots
    • Implement zero-copy buffers between layes (transport / protocol / muxer / network libraries)
  • Connection management
    • enforce upper bounds on total open connections to prevent fd exhaustion, trim connections to a lower bound
    • tag connections with metadata
    • support protected connections (don’t trim them under pressure)
    • implement exponential dial backoff to avoid peer hammering
  • Modular Gossipsub
    • Pluggable GossipSub scoring
    • TODO

Uncategorized

The following items are not part of our current roadmap. They haven’t been requested by any consumer of nim-libp2p, so they do not have any prioritization status. Still, they are recorded here potential future consideration.

  • bluetooth transport
    • ble exploration by berty.
    • Low-power proximity-based connections over BLE, mostly relevant in mobile/offline-first contexts.
    • Not part of libp2p spec rn but has been explored in the ecosystem.
  • tls secure transport
    • spec.
    • Reuse standard TLS instead of Noise for encryption/auth.
  • webrtc-direct
    • spec.
    • Connects peers via WebRTC datachannels without signaling servers.
    • Useful for browser-to-native or p2p-web setups.
    • Available in js/go.
  • mdns discovery
    • spec
    • local network peer discovery using multicast DNS.
    • Simplifies peer bootstrapping in LANs.
    • Trivial in theory, might depend on whether there are multicast DNS libraries in nim or having to implement one
  • wasm support
    • compile nim-libp2p to a wasm library for embedding in browser environments.
    • no spec, but precedent exists in js-libp2p and rust efforts.
  • native nim impl of Quic