v8.6.0
supertone-oss-archive/supertonicv8.6.0May 24, 2026by aldinokemal
AI Summary
WhatsApp Web Multidevice v8.6.0 persists message edits and reactions, forwards label appstate events to webhooks, and adds pure-Go SQLite builds for ARM support.
Key Highlights
- Persisted message edit history in a new table
- Persisted chat message reactions
- Forwarded WhatsApp label appstate events to webhooks
- Added pure-Go SQLite support for ARMv6/ARMv7 cross-compilation
New Features
- Message edit and reaction storage
- Label webhook forwarding
- Pure-Go SQLite with tuned pragmas for microSD cards
- Phone number storage in contact messages
Full Release Notes
## What's New in v8.6.0 ๐ **Minor Release: Message Edit History, Message Reactions, Label Webhooks & Pure-Go SQLite Builds** This release persists WhatsApp message edits and reactions into chat history, forwards label appstate events to webhooks, adds pure-Go SQLite builds for easy ARMv6/ARMv7 cross-compilation, and ships several reliability fixes around message sending and chat list scoping. --- ## โจ New Features ### Persist WhatsApp Message Edit History (#679) - New `message_edits` table tracks every `MESSAGE_EDIT` event as an append-only history - The original message content is updated in-place while previous revisions remain queryable - Existing edit webhook payload behavior is preserved ### Persist Chat Message Reactions - New reaction storage with migration and chat/search hydration - Inbound and history-sync reaction events are persisted separately from messages - Reactions exposed in chat responses and documented in OpenAPI, with regression coverage ### Forward WhatsApp Label Appstate Events to Webhooks (#659) - Label edits and chatโlabel association changes are now forwarded to configured webhooks - Reuses existing webhook forwarding, event filtering, and LID normalization behavior - Payloads include label metadata, label state, `chat_id`, and `chat_lid` when applicable ### Pure-Go SQLite Support via Build Tags (#677) - New `pkg/sqlite` abstraction switches between CGO-based `mattn/go-sqlite3` (default) and pure-Go `modernc.org/sqlite` (with `-tags purego`) - Enables easy cross-compilation for Raspberry Pi (ARMv6/ARMv7) and other platforms without a C toolchain - Pure-Go path applies tuned pragmas (`busy_timeout=30s`, WAL, `synchronous=NORMAL`) to prevent `SQLITE_BUSY` on slow MicroSD cards - Default build behavior is unchanged โ fully backward compatible - README includes a Raspberry Pi cross-compilation guide ### Phone Number in Contact Messages (#646) - Outgoing contact messages now store name + phone number together in saved content - Contact message text extraction includes the phone number from the vCard - Added unit tests for proto and event contact text formatting - Closes #645 ### Gowa Favicon (#672) - Web client now shows the Gowa favicon in the browser tab using the existing `gowa.svg` asset --- ## ๐ Bug Fixes ### API-Sent Messages Missing from Chat List (#683, PR #687) - `wrapSendMessage` previously used `context.Background()` for async storage, which dropped the device instance attached by `ContextWithDevice` - This caused rows to be stored with an empty `device_id` while queries used the logged-in JID โ a device scoping mismatch surfacing as `total_messages=0` - Fix uses `context.WithoutCancel(ctx)` so device context survives after the HTTP request completes - `StoreSentMessageWithContext` now returns an explicit error when `device_id` cannot be resolved (no more silent bad data) - `deviceChatStorage.StoreSentMessageWithContext` injects device scope when context lacks one (defense in depth) - Note: messages previously stored with empty `device_id` will not appear until re-sent or re-synced via history ### Mitigate WhatsApp Server Error 463 on Send - Privacy token storage is kept on the primary WhatsApp database while the optional keys cache is used only for encryption and session data - WhatsApp server error 463 is mapped to a `WA_REACHOUT_TIMELOCK` response so API callers get actionable retry guidance - Documented safer `DB_KEYS_URI` usage with regression coverage for the store and send-error behavior --- ## ๐ง Technical Improvements ### CI / Docker - Publish the `latest` Docker manifest on each release ### Dependency Updates - `go.mau.fi/whatsmeow`: updated to latest - All Go dependencies kept up-to-date --- ## What's Changed * Add Gowa favicon by @juliomuhlbauer in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/672 * Add pure-go sqlite support with build tags for easy armv6/armv7 cross-compilation by @danihidayatx in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/677 * Forward WhatsApp label appstate events to webhooks by @zayedadel in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/659 * fix: API-sent messages missing from chat message list (#683) by @aldinokemal in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/687 * feat: persist whatsapp message edit history by @juliomuhlbauer in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/679 * Show phone number when sending a contact in messages by @juliomuhlbauer in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/646 * feat: persist chat message reactions by @aldinokemal * fix: mitigate WhatsApp 463 send failures by @aldinokemal * ci: publish latest docker manifest on release by @aldinokemal * chore: upgrade version by @aldinokemal ## New Contributors * @danihidayatx made their first contribution in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/677 * @zayedadel made their first contribution in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/659 **Full Changelog**: https://github.com/aldinokemal/go-whatsapp-web-multidevice/compare/v8.5.1...v8.6.0