Skip to content

v0.7.0

Latest

Choose a tag to compare

@DavidsonGomes DavidsonGomes released this 17 Apr 18:43
· 17 commits to main since this release

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 cache β€” fetchWhatsAppWebVersion 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
  • 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-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: