shsp_implementations 1.2.0
shsp_implementations: ^1.2.0 copied to clipboard
Complete implementation of Single HandShake Protocol (SHSP) - provides UDP sockets, handshake logic, and utilities for peer-to-peer networking.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.2.0 - 2026-02-22 #
Added #
GZipCodec,LZ4Codec,ZstdCodeccompression implementations- Pluggable compression codec system in ShspSocket
- Support for custom compression algorithms via
ICompressionCodecinterface - Compression tests (14 new tests covering all codecs)
Changed #
- Updated dependencies: shsp_interfaces ^1.2.0, archive ^3.6.1
- ShspSocket now accepts optional compression codec parameter (defaults to GZip)
- Data messages (0x00) are now transparently compressed/decompressed
- Protocol messages (0x01-0x04) remain uncompressed for minimal overhead
Improved #
- UDP bandwidth efficiency through automatic data message compression
- Real-time communication support with low-latency compression codecs
1.1.0 - 2026-02-09 #
Added #
- Complete callback handler integration in ShspSocket, ShspPeer, and ShspInstance
- Enhanced callback management with proper lifecycle handling
Changed #
- Updated dependencies: shsp_types ^1.1.0, shsp_interfaces ^1.1.0
- Refactored callback routing for improved consistency and reliability
- Enhanced callback handler in peer and instance management
Fixed #
- Resolved callback execution flow in socket and peer instances
- Fixed callback routing between peer and instance handlers
- Improved callback handler consistency across components
1.0.7 - 2026-02-08 #
Changed #
- Updated dependencies: shsp_types ^1.0.7, shsp_interfaces ^1.0.7 (from ^1.0.5)
- Consolidated callback handler integration
- Version synchronization across all packages in monorepo
Fixed #
- Finalized callback handler implementation across all components
- Ensured consistency in callback management patterns
1.0.6 - 2026-02-05 #
Added #
- Callback handler get and set methods
- Enhanced callback management capabilities
- Improved callback lifecycle management
Changed #
- Refactored callback handler to use callback_handler package
- Enhanced ShspInstance callback support
- Improved ShspSocket callback management
Fixed #
- Fixed callback execution and state management
- Resolved issues in message callback mapping
1.0.5 - 2026-01-30 #
Changed #
- Updated dependencies to latest versions (json_annotation ^4.10.0, lints ^6.0.0, test ^1.29.0, meta ^1.18.1)
- Improved code quality with stricter linting rules
- Removed unnecessary library declaration
- Added curly braces to all if statements for better code consistency
Fixed #
- Fixed static analysis warnings (unused fields, flow control structure braces)
- Fixed deprecated API usage warnings
- Fixed documentation HTML comment syntax
1.0.1 - 2026-01-11 #
Fixed #
- Fixed dependencies to use hosted sources instead of path references
- Removed unused imports from
shsp_instance.dart - Fixed null comparison in
keep_alive_timer.dart - Improved function type syntax for callbacks
- Prepared package for Pub.dev publication
Changed #
- Updated all factory methods with comprehensive documentation
- Added detailed README section on creating SHSP objects
1.0.0 - 2026-01-08 #
Added #
- Initial release of SHSP Implementations package
ShspSocketcomplete UDP socket implementation with callback managementShspPeerfor peer connection managementShspInstancefor protocol instance managementShspcore protocol implementation- Handshake implementations:
HandshakeIpfor IP-based handshakesHandshakeOwnershipfor ownership verificationHandshakeTimefor time-based handshakes
- Utility classes:
CallbackMapfor managing multiple callbacksMessageCallbackMapfor message-specific callbacksAddressUtilityfor address formattingConcatUtilityfor data concatenationRawShspSocketfor low-level socket operations
Features #
- Complete Single HandShake Protocol implementation
- UDP-based peer-to-peer networking
- Callback-driven asynchronous communication
- Built-in handshake mechanisms for secure connections
- Comprehensive error handling and logging
- Support for IPv4 and IPv6
- Integration with STUN protocol for NAT traversal
- Cryptographic utilities for secure communications