Repository navigation
What's Changed
- feat(examples): Add P2P Calc, EtherCalc-powered collaborative spreadsheet example using py-libp2p by @seetadev in #1382
- fix(tcp): re-enable stale IPv6 listen/dial integration test by @yashksaini-coder in #1375
- fix: stabilize identify integration tests under parallel xdist load by @acul71 in #1378
- refactor(pubsub-test): predicate-based readiness in subscribed_mesh fixture by @yashksaini-coder in #1315
- Prometheus metrics for libp2p protocols by @lla-dane in #1199
- fix(bootstrap): unconditionally support websocket, quic, and tcp multiaddrs by @sumanjeet0012 in #1392
- fix(quic): resolve double-start race condition in QUICConnection lifecycle by @sumanjeet0012 in #1393
- fix(pubsub): replay recent messages once a peer's outbound stream is registered by @gmelodie in #1398
- fix(kad-dht): don't dial ourselves on FIND_NODE, and return the target per the spec exception by @gmelodie in #1387
- build(deps): bump fast-uri from 3.1.2 to 3.1.4 in /examples/request_response/synapse_sidecar by @dependabot[bot] in #1410
- fix typo: recieved -> received by @SAY-5 in #1330
- build(deps): bump ws and viem in /examples/request_response/synapse_sidecar by @dependabot[bot] in #1412
- Audit and comprehensive stability improvements in
py-libp2pby @sumanjeet0012 in #1411 - fix(pubsub): disconnect hygiene and once-per-subscription mcache replay by @gmelodie in #1407
- mDNS Discovery: Spec Compliance, IPv6 Support, and Bug Fixes by @sumanjeet0012 in #1420
- Bootstrap: Spec Compliance and bug fixes by @sumanjeet0012 in #1418
- build(deps): bump fast-uri from 3.1.4 to 3.1.5 in /examples/request_response/synapse_sidecar by @dependabot[bot] in #1427
- test(pubsub): de-flake test_gossip_gate_filters_peers (#1401) by @yashksaini-coder in #1402
- feat(kad_dht): enforce IP subnet diversity in k-buckets (#1383) by @yashksaini-coder in #1399
- test(timed_cache): de-flake test_expiry_removal (#1408) by @yashksaini-coder in #1409
- test(timed_cache): de-flake sibling expiry waits (#1428) by @acul71 in #1429
- feat(kad-dht): add RoutingTableDiagnostics for routing health inspection by @bhuvan-somisetty in #1332
- test(quic): join nurseries instead of sleeping in listener race tests by @yashksaini-coder in #1431
- refactor(webrtc): deduplicate _varint.py — use libp2p.utils.varint by @yashksaini-coder in #1395
- fix(webrtc): harden /sdp HTTP server against memory-amplification DoS by @yashksaini-coder in #1396
- feat(webrtc): add UdpMux for shared-port WebRTC-Direct inbound dispatch by @yashksaini-coder in #1397
- fix: bound varint-prefixed DHT and Rendezvous message sizes by @acul71 in #1439
- test(pubsub): de-flake identify-aware publish waits by @acul71 in #1444
- fix: allow reading buffered mplex data after remote reset by @acul71 in #1445
- Health monitoring (continues closed PR #915) by @acul71 in #1203
- test(kad-dht): wait for routing-table readiness by @acul71 in #1457
- fix: networking stack hardening — DHT spec compliance, QUIC/bitswap leaks, connmgr bugs by @sumanjeet0012 in #1426
- test(relay): de-flake circuit-v2 message-routing test with readiness polls by @yashksaini-coder in #1443
- feat(webrtc): STUN-dispatch WebRTC-Direct listener (v1) + v1 dialer, /sdp harness opt-in by @yashksaini-coder in #1449
- ci: install webrtc extra in tox so WebRTC tests run in CI by @yashksaini-coder in #1446
- fix(webrtc): wire the WebRTC-Direct inbound path; spec Noise roles; real loopback test by @yashksaini-coder in #1447
- feat(webrtc): run aiortc RTCPeerConnection over UdpMux (attach_muxed_connection) by @yashksaini-coder in #1448
- fix(varint): reject truncated and over-long varints by @yashksaini-coder in #1441
- feat(kad_dht): configurable subnet-diversity limits + table-wide IP-group cap by @yashksaini-coder in #1442
- fix(varint): reject 10-byte terminator overflow and align error types by @acul71 in #1462
- test(kad_dht): cover the per-query FIND_NODE timeout against a silent peer by @yashksaini-coder in #1435
- fix: migrate ControlIHave/ControlIWant messageIDs to bytes by @barnabasbusa in #1146
- fix(tcp): wrap ProtocolLookupError on dial + #391 regression tests by @acul71 in #1465
- fix(peerstore): load persisted keypairs on restore by @acul71 in #1467
- fix(network): wrap ConnectionResetError in RawConnError for read/write by @acul71 in #1469
- feat(webrtc): WebRTC-Direct v2 flow (libp2p/specs#715) — listener accepts v2, dialer opt-in by @yashksaini-coder in #1459
- fix(anyio): event-driven cancel for Windows lifecycle flake by @acul71 in #1473
- feat(health): /ipfs/ping/1.0.0 probe, docs, real-network tests, and GUI (#1453) by @acul71 in #1455
- fix(pubsub): event-driven mesh GRAFT on peer subscription by @acul71 in #1475
- feat(host): addrs_factory and DisableIdentifyAddressDiscovery by @acul71 in #1477
- docs(examples): extend announce_addrs for addrs_factory and disable discovery by @acul71 in #1479
- docs(filecoin): add protocol support matrix and pubsub compatibility snapshot by @acul71 in #1480
- docs(filecoin): add network parity audit and interop matrix by @acul71 in #1484
- fix(relay): new HOP stream for CONNECT after RESERVE (hole-punch interop) by @acul71 in #1476
- test(interop): go-libp2p WebRTC-Direct interop tests by @yashksaini-coder in #1471
- feat(filecoin): capture negotiated transport/security/muxer metadata by @acul71 in #1488
- test(pubsub): de-flake gossipsub direct-peer waits (#1491) by @acul71 in #1492
- test(pubsub): replace trio.sleep readiness waits with event-driven helpers by @acul71 in #1494
- fix(webrtc): complete go->py WebRTC-Direct inbound dials (#1470) by @yashksaini-coder in #1495
- fix(swarm): close connections on shutdown so their sockets are released by @yashksaini-coder in #1486
- chore(deps): bump github.com/pion/stun/v3 from 3.1.1 to 3.1.5 in /tests/interop/go_libp2p/webrtc_direct by @dependabot[bot] in #1489
- chore(deps): bump fast-uri from 3.1.5 to 3.1.7 in /examples/request_response/synapse_sidecar by @dependabot[bot] in #1464
- Revert #1464: undo fast-uri bump merged with failing CI by @acul71 in #1496
- fix(mplex): close secured connection on shutdown so its socket is released by @yashksaini-coder in #1497
- fix(host): make BasicHost.close() stop services and tear down tests by @acul71 in #1499
- fix: include nim-libp2p interop tests in pyrefly (#1145) by @acul71 in #1500
- fix(webrtc): harden /sdp harness bind on Windows + event-driven WebRTC tests (#1501) by @acul71 in #1502
- fix: improve mplex warning logs and QUIC/Mplex type annotations by @acul71 in #1503
- test(pubsub): de-flake test_fanout_maintenance (#1504) by @acul71 in #1505
- feat: add DHT Peer-ID chat example (issue #880) by @acul71 in #1506
- feat(webtransport): HTTP/3-camouflaged WebTransport transport (#1507) by @acul71 in #1508
- fix(webtransport): mint Chrome-compatible self-signed certs by @acul71 in #1515
- fix: quiet host.run/close on expected connection teardown by @acul71 in #1517
- fix(interop): unindent listener Redis publish after host.run by @acul71 in #1519
- docs(webrtc): STUN listener vs /sdp harness, and v1/v2 dial guidance by @yashksaini-coder in #1513
- fix: bound remote pubsub subscriptions to prevent memory exhaustion by @acul71 in #1350
- chore(deps): raise pycryptodome and pynacl minimums (#654) by @acul71 in #1524
- chore(deps): bump github.com/pion/stun/v3 from 3.1.1 to 3.1.5 in /tests/interop/go_libp2p/webtransport by @dependabot[bot] in #1509
- chore(deps): bump github.com/pion/dtls/v3 from 3.1.2 to 3.1.4 in /tests/interop/go_libp2p/webtransport by @dependabot[bot] in #1510
- fix(quic): preserve half-close FIN for request/response streams by @acul71 in #1522
- fix(quic): send-side write backpressure for honest throughput by @acul71 in #1523
- Feat/persist peer identity 312 by @Smartdevs17 in #1185
- fix(mplex/tls): unblock teardown when SecureSession EOF is quiet-exited by @acul71 in #1527
- fix(quic): improve honest throughput via event loop, MTU wiring, CC knobs by @acul71 in #1529
- fix(mplex): enforce MaxMessageSize and go-mplex flow control by @acul71 in #1525
- fix(quic): ignore late inbound FIN-only events (#1530) by @acul71 in #1531
- fix: clear residual ResourceWarnings and enable CI guard by @acul71 in #1533
- test(examples): reap echo subprocess cleanly in test_echo_thin_waist (fixes #1541) by @yashksaini-coder in #1542
- refactor(identify): strip /p2p via decapsulate_code(P_P2P) (refs #1223) by @yashksaini-coder in #1539
- fix(rendezvous): strip /p2p suffix from REGISTER addrs by @sumanjeet0012 in #1536
- fix(relay): circuit relay v2 + DCUtR spec compliance for go/rust interop by @sumanjeet0012 in #1538
- Fix bumpversion sync to v0.7.0 by @sumanjeet0012 in #1547
New Contributors
- @gmelodie made their first contribution in #1398
- @SAY-5 made their first contribution in #1330
- @bhuvan-somisetty made their first contribution in #1332
- @barnabasbusa made their first contribution in #1146
- @Smartdevs17 made their first contribution in #1185
Full Changelog: v0.7.0...v0.8.0