v9.6.0

karpathy/nn-zero-to-herov9.6.0Oct 3, 2026by github-actions[bot]

Upgrading?

AI Summary

This update enhances chat history by preserving reply context, introduces reshareable statuses for text, image, and video, and adds rich link previews to message edits.

Key Highlights

  • Chat history now stores reply relationships (`replied_to_id`) for received, sent, and history-synced messages.
  • API support for reshareable text, image, and video statuses.
  • Rich link previews can be added when editing messages.
  • Bug fixes for WhatsApp Business messages rendering and stale QR codes.

Breaking Changes

  • Metadata previously discarded in reply context needs reingestion by clients.
  • Edits and partial replays preserve known context, which may change existing message history behavior.

New Features

  • Reply context in chat history (MCP and API support)
  • Reshareable text, image, and video statuses
  • Rich link previews in message edits
  • Fixed WhatsApp Business message rendering in storage and webhooks
  • Fixed reliable QR login refreshes

Full Release Notes

## What's New in v9.6.0

šŸ’¬ **Reply Context, Reshareable Statuses & Rich Link Edits**

Version 9.6.0 keeps reply relationships in stored chat history, lets API-sent statuses opt into resharing, and adds rich link previews to message edits. It also fixes stale login QR codes, missing WhatsApp Business messages, and phone numbers in iPhone-shared contacts, with an updated whatsmeow dependency.

---

## ✨ Features

### Reply Context in Chat History ([#863](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/863))
- `GET /chat/{chat_jid}/messages` now returns an optional `context_metadata` JSON string containing `replied_to_id`; the same message response is available through MCP
- Reply IDs are stored for received, sent, and history-synced messages, including supported ephemeral and view-once wrappers
- Edits and partial replays preserve known context, while context-bearing replays can fill older rows; metadata previously discarded needs reingestion
- Adds migration 49 while preserving the existing migration history and device/chat isolation; webhook payloads are unchanged

### Reshareable Text, Image and Video Statuses ([#862](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/862))
- `/send/message`, `/send/image` and `/send/video` accept `allow_reshare: true` for `phone=status@broadcast`, enabling WhatsApp's reshare eligibility flag
- MCP `whatsapp_send` accepts the same option for text, image and video, and scheduled sends retain it
- Omitting the flag keeps existing behavior; enabling it for a non-status recipient is rejected

### Rich Link Previews in Message Edits ([#861](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/861))
- `POST /message/{message_id}/update` and the MCP edit action accept an optional `link` field to send the edit with a title, description and thumbnail
- The link is appended when it is not already present, and stored text/history retain the actual sent URL
- Edits without `link` keep their existing plain-text behavior

---

## šŸ› Bug Fixes

### Reliable QR Login Refreshes ([#856](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/856))
- QR codes no longer become stale while the login dialog remains open
- Fresh clients isolate unpaired-device QR attempts, per-device locks serialize concurrent logins, and events from replaced clients cannot disrupt the current session

### WhatsApp Business Messages in Storage, Webhooks and Chatwoot ([#857](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/857))
- Templates, interactive messages, buttons, lists, products, orders and selection replies now receive consistent text rendering, so business-only chats no longer appear blank
- Webhooks expose structured `template`, `buttons`, `product` and `selection` details alongside the message body
- History sync preserves supported wrapped message content and media; Chatwoot formatting no longer turns URL parameters or `snake_case` identifiers into italics

### Phone Numbers in iPhone-Shared Contacts ([#858](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/858))
- Group-prefixed and case-insensitive vCard `TEL` properties are recognized, restoring phone numbers in contact webhooks, stored summaries and Chatwoot
- Similarly named properties such as `TELEX` are no longer mistaken for telephone numbers

---

## šŸ”§ Technical Improvements

### Dependency Updates
- Updates whatsmeow to `v0.0.0-20260929112325-8b41cfe6d9c4`

---

## What's Changed
* feat(chatstorage): persist reply context across live and history messages ([#863](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/863)) by @aldinokemal, carrying forward @lucaslorentz's work in [#648](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/648)
* feat(send): allow resharing status posts ([#862](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/862)) by @aldinokemal
* feat(message): keep rich link preview when editing a message ([#861](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/861)) by @samihalawa
* fix(utils): read grouped TEL properties when extracting the vCard phone ([#858](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/858)) by @ElioBonfim
* fix(message): store and render WhatsApp Business messages ([#857](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/857)) by @aldinokemal, @Kizuno18 and @shukrilabs
* fix(login): QR code goes stale while the login dialog stays open ([#856](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/856)) by @aldinokemal
* chore: update whatsmeow to latest by @aldinokemal
* chore(release): v9.6.0 ([62e319d](https://github.com/aldinokemal/go-whatsapp-web-multidevice/commit/62e319d55cc13d800a9859bfc83eb90bbddf4ef0)) by Codex

## Contributors
- [@aldinokemal](https://github.com/aldinokemal)
- [@ElioBonfim](https://github.com/ElioBonfim)
- [@Kizuno18](https://github.com/Kizuno18)
- [@lucaslorentz](https://github.com/lucaslorentz)
- [@samihalawa](https://github.com/samihalawa)
- [@shukrilabs](https://github.com/shukrilabs)

**Full Changelog**: https://github.com/aldinokemal/go-whatsapp-web-multidevice/compare/v9.5.0...v9.6.0

Related Repositories