v9.0.1
abus-aikorea/voice-prov9.0.1Aug 9, 2026by aldinokemal
AI Summary
Adds sender display names and fixes webhook reliability issues including Content-Length and device ID handling.
Key Highlights
- Sender display names are now added to chat history and webhooks.
- Webhook requests now include Content-Length headers instead of chunked encoding.
- Device webhook configurations now use the generated device ID.
- Temporary image files are prefixed with UUIDs to prevent overwrites.
New Features
- Sender display names
- Webhook Content-Length headers
- Device ID webhook configuration
- UUID-prefixed temporary files
- Undecryptable message diagnostics
Full Release Notes
## What's New in v9.0.1 š ļø **Maintenance Release: Sender Names, Reliable Webhooks & URL Fixes** This release adds sender display names across chat history, reactions, and webhook payloads, while fixing several reliability issues around generated URLs, device webhook setup, webhook delivery, concurrent image sends, and LID JID formatting. It also improves diagnostics for undecryptable messages, documents device pairing responses more clearly, and refreshes WhatsApp protocol dependencies. --- ## ⨠New Features ### Sender Display Names (#782) - Adds `sender_display_name` to chat history messages, nested reactions, and sender-bearing webhook payloads - Resolves names dynamically using the best available contact information while preserving the existing raw sender fields and legacy `from_name` behavior - Uses per-response caching to avoid repeated lookups and requires no database migration or backfill --- ## š Bug Fixes ### Generated URLs Preserve Non-Default Ports (#781) - QR-code and downloaded-media URLs now retain the request port when the service is accessed through a non-default port - Replaces Fiber's hostname-only value with the complete request host while preserving existing proxy behavior ### Webhook Configuration Uses the Generated Device ID (#785) - Creating a device without supplying `device_id` now saves its webhook configuration against the ID generated for the new device - Prevents a misleading 500 response after the device slot was already created and ensures the requested webhook settings are persisted ### Webhook Requests Include Content-Length - Webhook bodies are now attached when the HTTP request is created, producing a `Content-Length` header instead of chunked transfer encoding - Fixes empty request bodies on receivers that do not reliably expose chunked payloads, including some PHP deployments behind nginx/FPM - Retry attempts now replay the original request body safely ### Concurrent Image Sends Use Unique Temporary Files - Temporary image files are prefixed with a UUID so simultaneous sends of identically named files cannot overwrite or delete each other's working files ### LID JIDs Drop Device Suffixes - `FormatJID` now normalizes device-specific suffixes for `@lid` addresses as well as standard WhatsApp JIDs --- ## š§ Technical Improvements ### Undecryptable Message Diagnostics - Undecryptable incoming messages are now logged at warning level with sender and failure details instead of being silently dropped - No webhook or stored message is emitted because these events contain no plaintext payload ### Device Login OpenAPI Documentation - Clarifies the device QR and pairing-code login endpoint descriptions and error responses - Adds explicit success schemas for device login and pairing-code responses ### Dependency & Documentation Updates - Refreshes `go.mau.fi/whatsmeow` to recent snapshots throughout the release cycle - Corrects a stale configuration comment around `viper.IsSet` --- ## What's Changed * fix: send webhooks with Content-Length instead of chunked by @aldinokemal * fix: strip device suffix from `@lid` JIDs in `FormatJID` by @aldinokemal * fix: log undecryptable messages instead of dropping them silently by @aldinokemal * fix: prefix send-image temp files with a UUID by @aldinokemal * docs: correct stale `viper.IsSet` comment by @aldinokemal * fix: keep the request port in generated URLs (#779) by @aldinokemal in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/781 * feat: add sender display names by @aldinokemal in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/782 * feat: update device login endpoints in OpenAPI spec by @aldinokemal * fix: save device webhook config against the generated device ID by @alkadoHs in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/785 * chore: update whatsmeow to latest by @aldinokemal ## New Contributors * @alkadoHs made their first contribution in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/785 **Full Changelog**: https://github.com/aldinokemal/go-whatsapp-web-multidevice/compare/v9.0.0...v9.0.1