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_editstable tracks everyMESSAGE_EDITevent 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, andchat_lidwhen applicable
Pure-Go SQLite Support via Build Tags (#677)
- New
pkg/sqliteabstraction switches between CGO-basedmattn/go-sqlite3(default) and pure-Gomodernc.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 preventSQLITE_BUSYon 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.svgasset
π Bug Fixes
API-Sent Messages Missing from Chat List (#683, PR #687)
wrapSendMessagepreviously usedcontext.Background()for async storage, which dropped the device instance attached byContextWithDevice- This caused rows to be stored with an empty
device_idwhile queries used the logged-in JID β a device scoping mismatch surfacing astotal_messages=0 - Fix uses
context.WithoutCancel(ctx)so device context survives after the HTTP request completes StoreSentMessageWithContextnow returns an explicit error whendevice_idcannot be resolved (no more silent bad data)deviceChatStorage.StoreSentMessageWithContextinjects device scope when context lacks one (defense in depth)- Note: messages previously stored with empty
device_idwill 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_TIMELOCKresponse so API callers get actionable retry guidance - Documented safer
DB_KEYS_URIusage with regression coverage for the store and send-error behavior
π§ Technical Improvements
CI / Docker
- Publish the
latestDocker 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 #672
- Add pure-go sqlite support with build tags for easy armv6/armv7 cross-compilation by @danihidayatx in #677
- Forward WhatsApp label appstate events to webhooks by @zayedadel in #659
- fix: API-sent messages missing from chat message list (#683) by @aldinokemal in #687
- feat: persist whatsapp message edit history by @juliomuhlbauer in #679
- Show phone number when sending a contact in messages by @juliomuhlbauer in #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 #677
- @zayedadel made their first contribution in #659
Full Changelog: v8.5.1...v8.6.0