v0.2.0
🚀 whatsapp-rust v0.2.0
The first stable release of whatsapp-rust - a high-performance, async Rust library for the WhatsApp Web API.
Since v0.1.0-alpha, we've merged 96 commits bringing significant improvements to stability, performance, and features.
✨ New Features
- Pair Code Authentication - Link devices using phone number + pair code
- MEX Request/Response Handling - Enterprise messaging support (#203)
- Contact Module - Check phone numbers on WhatsApp, fetch user info (#186)
- Group Management - Query group metadata and participants
- LID/PN Mapping - Support for new WhatsApp identifier system (#181)
- History Sync - Improved app state and message history sync (#169)
- Device Registry - Base key tracking for retry collision detection (#196)
- SKDM Tracking - Sender Key Distribution Message tracking per device (#170)
- Reporting - Privacy-preserving reporting token generation (#187)
- Modular Architecture - Pluggable transport and HTTP client layers
🔧 Improvements & Fixes
- Enhanced error handling with retry receipts for session issues (#171)
- Better self-sent message handling with LID support
- Improved ciphertext version range support (#166)
- Reduced unwraps across the codebase (#190)
- Optimized buffer handling with
std::mem::take(#191) - Performance improvements in encryption and protocol handling (#164)
- Streamlined InfoQuery construction (#198)
- Simplified storage trait interface (#204)
🏗️ Architecture
- Modular design - Swappable storage, transport, and HTTP clients
- Runtime agnostic - Works with Tokio, async-std, or WASM
- SQLite included - Default storage backend with concurrency control (#127)
- no_std core - Platform-agnostic
wacorefor embedded use
🙏 Acknowledgements
Inspired by whatsmeow (Go) and Baileys (TypeScript).
Full Changelog: v0.1.0-alpha...v0.2.0