v8.5.0
ChangemakerStudios/Papercut-SMTPv8.5.0May 5, 2026by aldinokemal
AI Summary
This minor release enhances contact webhooks with structured phone numbers, persists incoming messages to chat history, and fixes newsletter subscriber counts. It also includes code modernization and dependency updates.
Key Highlights
- Contact webhook payloads now include a structured `phone_number` field.
- Incoming contact messages are now persisted in chat storage instead of being dropped.
- Newsletter subscriber counts are now correctly populated in the subscribed-list response.
- Codebase modernized to Go 1.18+ idiomatic style with `any` instead of `interface{}`.
New Features
- Structured phone number on contact webhooks
- Persist incoming contact messages in chat storage
- Fix newsletter subscriber counts
Full Release Notes
## What's New in v8.5.0
š **Minor Release: Contact Webhooks, Chat History for Contact Messages & Newsletter Subscriber Counts**
This release enriches the contact webhook payload with a structured `phone_number` field, persists incoming contact messages into chat history, and fixes newsletter subscriber counts that were missing from the subscribed-list response.
---
## ⨠New Features
### Structured `phone_number` on Contact Webhooks (#656)
- Contact webhook payloads now include a structured `phone_number` field for both single contacts and multi-contact shares
- Original `vcard` field is preserved for backward compatibility
- Chatwoot forwarding path updated to understand the structured payload
### Persist Incoming Contact Messages in Chat Storage (#654)
- Incoming `ContactMessage` events are now serialized into chat history instead of being dropped when the message has no text or media
- The phone number embedded in the vCard is preserved in stored content
- Added test coverage for `ContactMessage` parsing
---
## š Bug Fixes
### Newsletter Subscriber Counts (#660)
- Enrich subscribed newsletter metadata with detail fetches so `subscribers_count` is populated when WhatsApp omits it from the subscribed-list response
- Base subscribed newsletter list remains the source of truth
- Falls back to the original newsletter metadata if a detail fetch fails
- Fixes #658
---
## š§ Technical Improvements
### Code Modernization
- Remove dead code across the codebase
- Modernize `interface{}` to `any` for Go 1.18+ idiomatic style
### Dependency Updates
- `go.mau.fi/whatsmeow`: updated to latest (multiple passes)
- All Go dependencies kept up-to-date
---
## What's Changed
- fix: enrich newsletter subscriber counts by @aldinokemal in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/660
- Add phone number to contact webhook payload by @juliomuhlbauer in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/656
- Persist incoming contact messages in chatstorage by @juliomuhlbauer in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/654
- chore: remove dead code and modernize interface{} to any by @aldinokemal
- chore: update whatsmeow to latest by @aldinokemal
## New Contributors
- @juliomuhlbauer made their first contribution in https://github.com/aldinokemal/go-whatsapp-web-multidevice/pull/656
**Full Changelog**: https://github.com/aldinokemal/go-whatsapp-web-multidevice/compare/v8.4.0...v8.5.0