Docker: evoapicloud/evolution-go:0.7.0
🆕 New Features
- Multi-platform interactive messages — Buttons, lists and carousel working on Android, iOS and WhatsApp Web/Desktop
- SendButton: removed
ViewOnceMessagewrapper that blocked rendering on iOS and WhatsApp Web;FooterandHeaderare now conditional - SendList: migrated from
InteractiveMessage/NativeFlowMessageto legacyListMessage(native protobuf) for broad compatibility - SendCarousel: new endpoint
POST /send/carouselwith cards (image, text, footer, buttons) and automatic JPEG thumbnail generation for instant image loading whatsmeow-lib: addedbiznode forInteractiveMessageand pinnedproduct_listtype on thebiznode forListMessage
- SendButton: removed
- Base64 media support on
/send/media— Theurlfield onPOST /send/medianow also accepts base64-encoded media. When the value does not start withhttp://orhttps://, it is treated as base64 and decoded; reuses the existingSendMediaFileflow - WhatsApp status endpoints — new
POST /send/status/textandPOST /send/status/mediapublish text/image/video status tostatus@broadcast. Media endpoint supports both JSON (with URL) and multipart/form-data (file upload). Thanks @Eduardo-gato (#15) - Webhook routing for GROUP / NEWSLETTER — when the primary
MESSAGE/SEND_MESSAGE/READ_RECEIPTsubscription is absent, events from@g.uschats are forwarded toGROUPsubscribers and events from@newsletterchats toNEWSLETTERsubscribers. Thanks @oismaelash (#18)
🔧 Improvements
- Proxy protocol — new optional
protocolfield (andPROXY_PROTOCOLenv) supportinghttp,https,socks5. Replaces the hardcoded SOCKS5 dialer withclient.SetProxyAddress, fixing HTTP-proxy QR pairing (#12). Thanks @TBDevMaster (#13) - WhatsApp Web version cache —
fetchWhatsAppWebVersionnow caches the result for 1 hour with a mutex instead of issuing one request per instance startup. Thanks @VitorS0uza (#24) - Manager flicker fix — instance page no longer replaces the list with skeleton cards on every 5s polling cycle (
hasLoadedflag). Thanks @TBDevMaster (#14), closes #11 WEBHOOKFILES→WEBHOOK_FILES—.env.example, docker-compose and docs aligned with the env var the runtime actually reads. Thanks @VitorS0uza (#22)- Dependency cleanup — removed unused
github.com/EvolutionAPI/evo-gatefromgo.mod - whatsmeow-lib bumped to
0923702fb - Telemetry removed — dropped legacy
pkg/telemetry
🐛 Bug Fixes
/message/edit— was silently ignored because the edit payload usedConversationwhile the original message was sent asExtendedTextMessage. WhatsApp requires matching types; now the edit usesExtendedTextMessageand the response returns the actual server timestamp instead of the zero value. Closes #16- Sticker upload to S3/MinIO — when
webp.Decodeorpng.Encodefailed, the whole media pipeline aborted and the sticker was lost from the webhook. Now we log a warning and keep the raw.webpbytes so the sticker still reaches the bucket. Closes #5 - Multipart
/send/media— the binary-upload branch silently droppedmentionAll,mentionedJidandquoted. These fields now parse from the form (withmentionedJidaccepting repeated or comma-separated values) and reach the send service. Closes #2
⚠️ Breaking changes
- Proxy — previously all proxies were forced through SOCKS5. If you run SOCKS5 on a non-standard port (anything outside 1080/2080/42000-43000), set
PROXY_PROTOCOL=socks5in the env or pass"protocol": "socks5"in the proxy body explicitly — otherwise the new protocol inference will fall back to HTTP.
📝 Docs
- README — updated WhatsApp support number and issue templates
- Interactive messages guide — new
docs/wiki/guias-api/api-interactive.md - Proxy docs — environment variables, configuration guide and API reference updated with the new
protocolfield
🙏 Community contributors
Big thanks to everyone who sent PRs and issues that shaped this release:
- @moothz (#7, #8, #9)
- @VitorS0uza (#22, #24)
- @TBDevMaster (#13, #14)
- @Eduardo-gato (#15)
- @oismaelash (#18)
- @brunobeise (#16)
- @GleisonOliveiraAds (#5)
- @ruben18salazar3 (#2)
- @wendell-sr (#11)