v9.5.0

bytebot-ai/bytebotv9.5.0Sep 25, 2026by github-actions[bot]

Upgrading?

AI Summary

WhatsApp Web update adding scheduled message sends, mentions in captions, and referral metadata exposure.

Key Highlights

  • Every send endpoint now supports scheduling messages for later or recurring cadence.
  • Mentions (@phone) can now be added to image, file, and video captions.
  • Referral metadata is now exposed in chat message APIs.

New Features

  • Scheduled and recurring message sends with management routes
  • Mentions in image, file, and video captions
  • Referral metadata in chat messages
  • MCP tool updates for scheduling and chat
  • Quoted replies show pre-edit text
  • Sticker conversion support for ffmpeg 9

Full Release Notes

## What's New in v9.5.0

ā° **Scheduled & Recurring Sends, Caption Mentions & Referral Metadata**

Version 9.5.0 lets every send endpoint schedule a message for later or on a recurring cadence, adds mentions to image, file and video captions, and exposes Click-to-WhatsApp referral metadata in chat messages. Quoted replies, outgoing chat naming, sticker conversion on ffmpeg 9, and MCP query output all get fixes, and whatsmeow is updated to the latest revision.

---

## ✨ Features

### Scheduled and Recurring Message Sends ([#852](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/852))
- Every send endpoint and `POST /message/{message_id}/forward` can schedule instead of sending: set `scheduled_at` (RFC3339) and `timezone` (IANA), optionally `recurrence` (`once`/`daily`/`weekly`/`monthly`), `weekdays`, `day_of_month`, `end_at`, and `occurrence_limit`
- A durable worker backed by a new `scheduled_sends` table sends due jobs, retries transient errors with backoff, waits for offline devices, and never resends an interrupted one-time send
- Adds management routes: `GET /send/schedules`, `GET /send/schedules/{schedule_id}`, and `POST /send/schedules/{schedule_id}/pause|resume|cancel`
- Adds the MCP `whatsapp_schedule` tool, lets `whatsapp_send` accept the scheduling args, and reports `scheduled_sends: true` in `/app/info`
- Recurrence is DST-safe, and `time/tzdata` is embedded so Windows binaries can load IANA zones

### Mentions in Image, File and Video Captions ([#853](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/853))
- `/send/image`, `/send/file` and `/send/video` now turn `@phone` in the caption into a real mention
- Accept the same `mentions` list as `/send/message`, including ghost mentions and `@everyone`
- MCP `whatsapp_send` passes `mentions` for `image`, `video` and `document`

### Referral Metadata in Chat Messages ([#829](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/829))
- `GET /chat/{chat_jid}/messages` now returns `referral_metadata` (Meta Ads / Click-to-WhatsApp attribution), which was already stored but never exposed
- Documented in the `ChatMessage` OpenAPI schema and available through the MCP `whatsapp_chat` messages action

---

## šŸ› Bug Fixes

### Quoted Replies Show Pre-Edit Text ([#820](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/820))
- `UpdateMessage` now writes API edits to chat storage and records edit history, so replies quote the edited text
- Sent messages store the sender without the device suffix, so the quoted participant resolves on the recipient's client

### Peer Name Preserved for Outgoing Messages ([#824](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/824))
- Messages sent from the primary phone no longer rename the peer's chat to your own push name

### Sticker Conversion on ffmpeg 9 ([#847](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/847))
- Drops the `-vsync` flag that ffmpeg 9 removed, so PNG and JPG stickers convert again; the command still works on older ffmpeg versions

### MCP Query Results Visible to Text-Only Clients ([#849](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/849))
- `whatsapp_chat` and `whatsapp_group` query actions now put the JSON result in text content as well as `StructuredContent`, so text-preferring clients and agents can see chat JIDs, senders and message bodies

---

## šŸ”§ Technical Improvements

### Dependency Updates
- Updates whatsmeow to the latest revision

---

## What's Changed
* feat(send): support mentions in image, file and video captions ([#853](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/853)) by @aldinokemal
* chore: update whatsmeow to latest by @aldinokemal
* feat: expose referral metadata in chat messages ([#829](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/829)) by @Kizuno18 and @juliomuhlbauer
* fix(chat): preserve peer name for outgoing messages ([#824](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/824)) by @hamedyosefian
* fix(message,send): quoted replies show pre-edit text and an unresolvable participant ([#820](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/820)) by @alenphilipgeorge
* feat(schedule): scheduled and recurring message sends ([#852](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/852)) by @aldinokemal
* fix(send): drop -vsync from sticker WebP conversion for ffmpeg 9 ([#847](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/847)) by @MalikD2004
* fix(mcp): serialize query results into text content for backwards compatibility ([#849](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/849)) by @edosulai
* chore(release): v9.5.0 by @aldinokemal

## Contributors
- [@aldinokemal](https://github.com/aldinokemal)
- [@alenphilipgeorge](https://github.com/alenphilipgeorge)
- [@edosulai](https://github.com/edosulai)
- [@hamedyosefian](https://github.com/hamedyosefian)
- [@juliomuhlbauer](https://github.com/juliomuhlbauer)
- [@Kizuno18](https://github.com/Kizuno18)
- [@MalikD2004](https://github.com/MalikD2004)

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

Related Repositories