Merge remote-tracking branch 'origin/main' into fix_multiselect_negotiate_type

This commit is contained in:
unniznd
2025-08-25 21:07:49 +05:30
51 changed files with 2927 additions and 86 deletions

View File

@ -0,0 +1 @@
Make TProtocol as Optional[TProtocol] to keep types consistent in py-libp2p/libp2p/protocol_muxer/multiselect.py

View File

@ -0,0 +1 @@
Added Thin Waist address validation utilities (with support for interface enumeration, optimal binding, and wildcard expansion).

View File

@ -0,0 +1,7 @@
Add Thin Waist address validation utilities and integrate into echo example
- Add ``libp2p/utils/address_validation.py`` with dynamic interface discovery
- Implement ``get_available_interfaces()``, ``get_optimal_binding_address()``, and ``expand_wildcard_address()``
- Update echo example to use dynamic address discovery instead of hardcoded wildcard
- Add safe fallbacks for environments lacking Thin Waist support
- Temporarily disable IPv6 support due to libp2p handshake issues (TODO: re-enable when resolved)

View File

@ -0,0 +1 @@
Added `Random Walk` peer discovery module that enables random peer exploration for improved peer discovery.

View File

@ -0,0 +1,6 @@
Implement closed_stream notification in MyNotifee
- Add notify_closed_stream method to swarm notification system for proper stream lifecycle management
- Integrate remove_stream hook in SwarmConn to enable stream closure notifications
- Add comprehensive tests for closed_stream functionality in test_notify.py
- Enable stream lifecycle integration for proper cleanup and resource management

View File

@ -0,0 +1 @@
Fix kbucket splitting in routing table when full. Routing table now maintains multiple kbuckets and properly distributes peers as specified by the Kademlia DHT protocol.

View File

@ -0,0 +1 @@
Improved PubsubNotifee integration tests and added failure scenario coverage.

View File

@ -0,0 +1 @@
Fix type for gossipsub_message_id for consistency and security

View File

@ -0,0 +1,5 @@
Fix multi-address listening bug in swarm.listen()
- Fix early return in swarm.listen() that prevented listening on all addresses
- Add comprehensive tests for multi-address listening functionality
- Ensure all available interfaces are properly bound and connectable