github EvolutionAPI/evolution-go 0.7.0
v0.7.0

7 hours ago

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 ViewOnceMessage wrapper that blocked rendering on iOS and WhatsApp Web; Footer and Header are now conditional
    • SendList: migrated from InteractiveMessage/NativeFlowMessage to legacy ListMessage (native protobuf) for broad compatibility
    • SendCarousel: new endpoint POST /send/carousel with cards (image, text, footer, buttons) and automatic JPEG thumbnail generation for instant image loading
    • whatsmeow-lib: added biz node for InteractiveMessage and pinned product_list type on the biz node for ListMessage
  • Base64 media support on /send/media — The url field on POST /send/media now also accepts base64-encoded media. When the value does not start with http:// or https://, it is treated as base64 and decoded; reuses the existing SendMediaFile flow
  • WhatsApp status endpoints — new POST /send/status/text and POST /send/status/media publish text/image/video status to status@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_RECEIPT subscription is absent, events from @g.us chats are forwarded to GROUP subscribers and events from @newsletter chats to NEWSLETTER subscribers. Thanks @oismaelash (#18)

🔧 Improvements

  • Proxy protocol — new optional protocol field (and PROXY_PROTOCOL env) supporting http, https, socks5. Replaces the hardcoded SOCKS5 dialer with client.SetProxyAddress, fixing HTTP-proxy QR pairing (#12). Thanks @TBDevMaster (#13)
  • WhatsApp Web version cachefetchWhatsAppWebVersion now 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 (hasLoaded flag). Thanks @TBDevMaster (#14), closes #11
  • WEBHOOKFILESWEBHOOK_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-gate from go.mod
  • whatsmeow-lib bumped to 0923702fb
  • Telemetry removed — dropped legacy pkg/telemetry

🐛 Bug Fixes

  • /message/edit — was silently ignored because the edit payload used Conversation while the original message was sent as ExtendedTextMessage. WhatsApp requires matching types; now the edit uses ExtendedTextMessage and the response returns the actual server timestamp instead of the zero value. Closes #16
  • Sticker upload to S3/MinIO — when webp.Decode or png.Encode failed, the whole media pipeline aborted and the sticker was lost from the webhook. Now we log a warning and keep the raw .webp bytes so the sticker still reaches the bucket. Closes #5
  • Multipart /send/media — the binary-upload branch silently dropped mentionAll, mentionedJid and quoted. These fields now parse from the form (with mentionedJid accepting 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=socks5 in 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 protocol field

🙏 Community contributors

Big thanks to everyone who sent PRs and issues that shaped this release:

Don't miss a new evolution-go release

NewReleases is sending notifications on new releases.