Skip to content

v0.1.96

Choose a tag to compare

@ch4r10t33r ch4r10t33r released this 18 Jun 23:01
· 16 commits to main since this release
7e3eb6c

Feature-heavy release: four new protocol areas, expanded discovery/NAT support, and a repository-layout reorg. Public API is additive — existing zig_libp2p.* exports are unchanged. Full cross-impl interop matrix (zig × go-libp2p × rust-libp2p) green.

New protocols

  • Rendezvous /rendezvous/1.0.0 — namespace-scoped peer discovery: client (register / unregister / discover with cookie paging) and server with a registration store. Registrations are bound to the transport peer via signed peer records. (#234, #209)
  • mDNS LAN discovery — _p2p._udp.local multicast (IPv4 + IPv6), dnsaddr TXT ingestion, peer_discovered events, Host auto-registerKnownPeer. Discovered dial targets are restricted to private/LAN ranges by default (allow_public_addrs opt-in). (#229, #230, #207)
  • gossipsub v1.1 peer scoring — per-topic time-in-mesh / delivery / invalid-message scoring with decay and gossip/publish/graylist/PX thresholds + opportunistic graft. Opt-in via peer_scoring_enabled. (#232, #199)

Kademlia DHT

  • Host lifecycle wiring: AutoNAT-driven mode promotion, periodic provider republish, routing-table eviction on disconnect. (#228, #203)
  • Pluggable record validators with longest-prefix matching + an IPNS validator implementing the spec (IpnsEntry protobuf, DAG-CBOR data, Ed25519 signatureV2, monotonic sequence, EOL expiry), verified byte-for-byte against a go/boxo reference record. (#231, #233, #198)

NAT traversal & relay

  • AutoNAT vote aggregation + active probing (sliding-window quorum, real dial-back verification, observed-IP amplification guard). (#226, #206)
  • DCUtR auto-trigger on relayed connections with retry/backoff. (#225, #205)
  • Circuit Relay v2 reservation auto-refresh + /p2p-circuit dial path. (#224, #204)
  • Identify Push auto-triggered on advertisement changes, streamed over the QUIC runtime. (#222, #223, #202)

Repository & docs

  • Repository layout rationalized into core/ · primitives/ · protocols/, QUIC transport split, vendored deps moved to vendor/, build/ helper split + opt-in soak-test. No public-API or import-path changes (@import("zig_libp2p")src/root.zig). (#236)
  • README modernized (libp2p-style) with a spec-coverage matrix; links repointed to the blockblaz org. (#221, #227)

Notes for embedders

  • gossipsub peer scoring and mDNS public-addr acceptance are both opt-in; defaults are unchanged.
  • The layout reorg keeps every existing zig_libp2p.* export; no consumer changes required.