Merge branch 'main' into chore01

This commit is contained in:
Manu Sheel Gupta
2025-09-24 22:40:38 +05:30
committed by GitHub
119 changed files with 16551 additions and 520 deletions

View File

@ -0,0 +1,12 @@
Added experimental WebSocket transport support with basic WS and WSS functionality. This includes:
- WebSocket transport implementation with trio-websocket backend
- Support for both WS (WebSocket) and WSS (WebSocket Secure) protocols
- Basic connection management and stream handling
- TLS configuration support for WSS connections
- Multiaddr parsing for WebSocket addresses
- Integration with libp2p host and peer discovery
**Note**: This is experimental functionality. Advanced features like proxy support,
interop testing, and production examples are still in development. See
https://github.com/libp2p/py-libp2p/discussions/937 for the complete roadmap of missing features.

View File

@ -0,0 +1 @@
Add QUIC transport support for faster, more efficient peer-to-peer connections with native stream multiplexing.

View File

@ -0,0 +1 @@
Fixed message id type inconsistency in handle ihave and message id parsing improvement in handle iwant in pubsub module.

View File

@ -0,0 +1,2 @@
Updated all example scripts and core modules to use secure loopback addresses instead of wildcard addresses for network binding.
The `get_wildcard_address` function and related logic now utilize all available interfaces safely, improving security and consistency across the codebase.

View File

@ -0,0 +1 @@
Exposed timeout method in muxer multistream and updated all the usage. Added testcases to verify that timeout value is passed correctly

View File

@ -0,0 +1,6 @@
enhancement: Add write lock to `YamuxStream` to prevent concurrent write race conditions
- Implements ReadWriteLock for `YamuxStream` write operations
- Prevents data corruption from concurrent write operations
- Read operations remain lock-free due to existing `Yamux` architecture
- Resolves race conditions identified in Issue #793

View File

@ -0,0 +1,11 @@
Replace magic numbers with named constants and enums for clarity and maintainability
**Key Changes:**
- **Introduced type-safe enums** for better code clarity:
- `RelayRole(Flag)` enum with HOP, STOP, CLIENT roles supporting bitwise combinations (e.g., `RelayRole.HOP | RelayRole.STOP`)
- `ReservationStatus(Enum)` for reservation lifecycle management (ACTIVE, EXPIRED, REJECTED)
- **Replaced magic numbers with named constants** throughout the codebase, improving code maintainability and eliminating hardcoded timeout values (15s, 30s, 10s) with descriptive constant names
- **Added comprehensive timeout configuration system** with new `TimeoutConfig` dataclass supporting component-specific timeouts (discovery, protocol, DCUtR)
- **Enhanced configurability** of `RelayDiscovery`, `CircuitV2Protocol`, and `DCUtRProtocol` constructors with optional timeout parameters
- **Improved architecture consistency** with clean configuration flow across all circuit relay components
**Backward Compatibility:** All changes maintain full backward compatibility. Existing code continues to work unchanged while new timeout configuration options are available for users who need them.

View File

@ -0,0 +1 @@
Fix multiaddr dependency to use the last py-multiaddr commit hash to resolve installation issues

View File

@ -0,0 +1 @@
Updated multiaddr dependency from git repository to pip package version 0.0.11.

View File

@ -0,0 +1 @@
Fixed Windows CI/CD tests to use correct Python version instead of hardcoded Python 3.11. test 2