v8.3.1

aldinokemal/go-whatsapp-web-multidevicev8.3.1Feb 23, 2026by aldinokemal

AI Summary

Patch release fixing missing media captions in webhook payloads, resolving device context injection for MCP handlers, updating Go dependencies, and bumping the release workflow to Go 1.25.

Key Highlights

  • Webhook payloads now include captions from media messages (images, videos, documents, PTVs)
  • Resolved 'device identification required' error in MCP handlers with ContextWithDefaultDevice helper
  • Updated Go version to 1.25 in release workflow
  • Updated go.mau.fi/whatsmeow and other Go dependencies

New Features

  • ExtractMediaCaption helper utility for extracting captions from media message types
  • ContextWithDefaultDevice helper for MCP handlers
  • Media captions included in webhook payloads (backward compatible)

Full Release Notes

## What's New in v8.3.1

šŸ› ļø **Patch Release: Webhook Caption Fix, MCP Device Context & Dependency Updates**

This release fixes missing media captions in webhook payloads, resolves device context injection for MCP handlers, updates Go dependencies, and bumps the release workflow to Go 1.25.

---

## šŸ› Bug Fixes

### Webhook: Include Media Captions in Payloads (#586)
- **Fix**: Webhook payloads now include captions from media messages (images, videos, documents, PTVs)
- **New Utility**: `ExtractMediaCaption` helper to extract captions from various media message types
- **Body Field**: `body` field in webhook payload is now populated from media captions when no text conversation is present
- **Backward Compatible**: `buildAutoDownloadPayload` returns string path (no caption) or map with `path` + `caption` (when caption exists)
- **Tests**: Added unit tests for media caption extraction in webhook payloads
- **Docs**: Updated `docs/webhook-payload.md` with new caption behavior

### MCP: Inject Device Context in Handlers (#583, #582)
- **Fix**: Resolved "device identification required" error in MCP handlers
- **New Helper**: `ContextWithDefaultDevice` in `src/ui/mcp/helpers/context.go` resolves and injects the default WhatsApp device into context
- **Applied To**: All MCP handler methods in `group.go`, `query.go`, and `send.go`

---

## šŸ”§ Technical Improvements

### Dependency Updates
- **go.mau.fi/whatsmeow**: Updated to latest version (7ae702b1eed4)
- **github.com/vektah/gqlparser/v2**: v2.5.31 → v2.5.32
- **golang.org/x/exp**: Updated to v0.0.0-20260218203240
- All Go dependencies kept up-to-date

### Build & CI
- **Go Version**: Updated release workflow from Go 1.24 to Go 1.25 for improved compatibility and performance

---

## What's Changed
* fix: include media captions in webhook payloads and inject device context in MCP handlers by @aldinokemal
* chore: update Go dependencies (whatsmeow + others) by @aldinokemal
* chore: update Go version in release workflow to 1.25 by @aldinokemal

**Full Changelog**: https://github.com/aldinokemal/go-whatsapp-web-multidevice/compare/v8.3.0...v8.3.1