v9.3.0
karpathy/nn-zero-to-herov9.3.0Aug 29, 2026by github-actions[bot]
Upgrading?
AI Summary
Feature release adding newsletter media downloads, poll vote webhooks, and audio played receipts.
Key Highlights
- Newsletter media can now be downloaded by server ID.
- Poll vote selections are decrypted and exposed in webhooks.
- Audio and voice note played receipts are now available.
New Features
- Newsletter media download endpoint.
- Poll vote selections in webhooks with full option lists.
- Audio played receipt endpoint.
- Group read receipts now use the original message sender.
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
rasbt/LLMs-from-scratchā
107,048
Implement a ChatGPT-like LLM in PyTorch from scratch, step by step
lyogavin/airllmā
40,162
AirLLM 2.8T LLM inference with single 4GB GPU
NirDiamant/RAG_Techniquesā
29,958
This repository showcases various advanced techniques for Retrieval-Augmented Generation (RAG) systems. Each technique has a detailed notebook tutorial.
microsoft/OmniParserā
25,539
A simple screen parsing tool towards pure vision based GUI agent
NirDiamant/GenAI_Agentsā
24,655
50+ tutorials and implementations for Generative AI Agent techniques, from basic conversational bots to complex multi-agent systems.