github aldinokemal/go-whatsapp-web-multidevice v9.3.0

6 hours ago

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)

  • 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)

  • 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)

  • 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)

  • 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

Contributors

Full Changelog: v9.2.2...v9.3.0

Don't miss a new go-whatsapp-web-multidevice release

NewReleases is sending notifications on new releases.