v8.3.2

aldinokemal/go-whatsapp-web-multidevicev8.3.2Feb 27, 2026by aldinokemal

AI Summary

Adds support for multi-contact webhook payloads, fixes display name resolution issues, and improves the representation of media in chat history.

Key Highlights

  • Support for `contacts_array` in webhook payloads
  • Fix for display name resolution preventing internal device IDs from appearing
  • Improved media representation using actual filenames
  • Added `name` field to `/user/info` response

New Features

  • ContactsArrayMessage support in webhooks
  • Fallback logic using clean phone numbers for display names
  • Media representation improvements (actual filename vs generic label)
  • User info name field enhancement

Full Release Notes

## What's New in v8.3.2

šŸ› ļø **Patch Release: ContactsArray Webhook, Display Name Fixes & Media History Improvements**

This release adds support for multi-contact webhook payloads, fixes display name resolution issues, improves media representation in chat history, and updates core dependencies.

---

## ✨ New Features

### Webhook: ContactsArrayMessage Support (#594)
- **New**: When a user shares multiple contacts at once, the webhook now includes a `contacts_array` field with all shared contacts
- **Format**: Each entry contains `displayName` and `vcard` fields — consistent with the existing single `contact` field
- **Display Text**: `BuildEventMessage` now shows a summary like `šŸ‘„ 3 contacts` for multi-contact messages
- **Backward Compatible**: Existing `contact` field for single contacts is unchanged; webhook consumers that don't handle `contacts_array` are unaffected
- **Contributor**: Thanks to @lowprofix for this contribution!

---

## šŸ› Bug Fixes

### Display Name & User Info Resolution (#595, fixes #590)
- **Fix**: Fallback logic now uses clean phone numbers when a push name is unavailable, preventing internal device IDs from appearing as chat names
- **API Enhancement**: Added a `name` field to the `/user/info` response
- **Data Persistence**: The `User` usecase now queries local chat storage to provide push name if the live WhatsApp query returns empty values
- **Sync Improvement**: History sync now proactively creates chat entries when push names are received, ensuring availability for future lookups

### Media Representation in Chat History (#597, fixes #596)
- **Documents**: Now uses the actual filename (e.g., `šŸ“„ report.pdf`) in history when no caption is provided, instead of the generic `šŸ“„ Document` label
- **Documents**: Trims filename used for document representation fallback to avoid whitespace issues
- **Images**: Removed redundant `šŸ–¼ļø ` prefix from user-provided captions to keep history clean
- **Inbound Support**: Enhanced `ExtractMessageTextFromEvent` to extract filename from incoming WhatsApp messages when caption is empty

---

## šŸ”§ Technical Improvements

### Dependency Updates
- **go.mau.fi/whatsmeow**: Updated to latest version
- All Go dependencies kept up-to-date

---

## New Contributors
* @lowprofix made their first contribution in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/594

## What's Changed
* feat: add ContactsArrayMessage support in webhook payloads by @lowprofix in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/594
* fix: resolve display name issues and missing user info names (#590) by @aldinokemal in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/595
* fix: improve media representation in chat history (#596) by @aldinokemal in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/597

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