v9.3.0
AIPentest/CyberStrikeAIv9.3.0Aug 29, 2026by github-actions[bot]
Upgrading?
AI Summary
This release enhances WhatsApp integration by adding newsletter media downloads, exposing poll vote selections in webhooks, and introducing audio played receipts. It also fixes group read receipts to use the original sender and updates the underlying whatsmeow library.
Key Highlights
- Newsletter media download endpoint for images, videos, and documents
- Poll vote selections now decrypted and exposed in webhook payloads
- Audio played receipts via new REST endpoint and MCP action
- Group read receipts now correctly use the original message sender
- Updated whatsmeow dependency to the latest revision
New Features
- GET /newsletter/messages/{server_id}/download endpoint
- Webhook support for poll vote selections
- POST /message/:message_id/played endpoint
- MCP mark_played action
- Group read receipt normalization
Full Release Notes
## What's New in v9.3.0
📬 **Newsletter Media Downloads, Poll Vote Webhooks & Audio Played Receipts**
Version 9.3.0 adds newsletter media downloads by server ID, exposes decrypted poll vote selections in webhooks, and introduces played receipts for incoming audio and voice notes. Group read receipts now use the original message sender, and whatsmeow is updated to the latest revision.
---
## ✨ Features
### Newsletter Media Download ([#818](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/818))
- Adds `GET /newsletter/messages/{server_id}/download?newsletter_id=...` to download image, video, video-note, audio, document, and sticker media from newsletters
- Returns local file metadata and a base-path-aware public URL without exposing WhatsApp media secrets
- Documents the endpoint in OpenAPI and covers validation, target selection, media selection, and REST behavior with regression tests
### Poll Vote Selections in Webhooks ([#816](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/816))
- Decrypts poll vote updates with the pinned whatsmeow client and persists device- and chat-scoped poll definitions from live messages, sent polls, and history sync
- Returns selected option names, lowercase hashes, full option lists, and explicit resolution states while preserving `event: "message"` compatibility
- Handles current poll creation variants plus poll edit/add-option updates, and degrades safely when definitions or original message secrets are unavailable
### Audio Played Receipts ([#813](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/813))
- Adds `POST /message/:message_id/played` to send WhatsApp's played receipt for incoming audio and voice-note messages
- Resolves messages through device-scoped chat storage, verifies the requested chat and audio direction/type, and uses the original participant JID for group receipts
- Adds the equivalent MCP `mark_played` action and documents the REST endpoint in OpenAPI
---
## 🐛 Bug Fixes
### Group Read Receipts Use Original Sender ([#814](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/814))
- Uses the stored original group message sender for `MarkAsRead` instead of the active device JID, so incoming group read receipts reach WhatsApp correctly
- Resolves group messages by their full storage identity `(device_id, chat_jid, message_id)` and normalizes stored sender JIDs, including `@lid` to PN when a mapping is available
- Rejects missing or non-user group senders instead of falling back to the local device JID, while preserving existing direct-chat behavior without requiring chat storage
---
## 🔧 Technical Improvements
### Dependency & Documentation Updates
- Updates whatsmeow to the latest revision
- Syncs the README with the current server capabilities and configuration
---
## What's Changed
* feat(message): add audio played receipts ([#813](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/813)) by @aldinokemal
* docs: sync README with current server by @aldinokemal
* fix(message): use original group sender for read receipts ([#814](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/814)) by @aldinokemal
* feat(webhook): expose poll vote selections ([#816](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/816)) by @aldinokemal
* chore: update whatsmeow to latest by @aldinokemal
* feat(newsletter): add media download endpoint ([#818](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/818)) by @aldinokemal
* chore(release): v9.3.0 by @aldinokemal
## Contributors
- [@aldinokemal](https://github.com/aldinokemal)
**Full Changelog**: https://github.com/aldinokemal/go-whatsapp-web-multidevice/compare/v9.2.2...v9.3.0Related Repositories
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
The world’s fastest framework for building websites.
:cherry_blossom: A command-line fuzzy finder