Skip to content

Releases: EvolutionAPI/evolution-go

v0.7.1

24 Apr 23:36

Choose a tag to compare

Docker: evoapicloud/evolution-go:0.7.1

🆕 New Features

  • Test-send modal in Manager — new modal in the embedded manager UI to test message sending directly from the panel, covering text, media and interactive message types. Useful for validating an instance right after pairing without leaving the manager.

🔧 Improvements / CI

  • whatsmeow-lib SHA now pinned in the public sync — the sync-releases workflow previously re-cloned whatsmeow main on every run, so the SHA listed in the CHANGELOG could drift from what the public repos actually built against. The workflow now captures the SHA from the dev submodule and checks out that exact commit in the target, restoring release reproducibility.
  • Docker :latest tag gated to stable releases — the shared publish_docker_image.yml template was previously tagging :latest from both stable and beta builds, so each beta push overwrote the stable :latest with obfuscated beta code. :latest now only moves forward on non-beta releases.
  • Repository cleanup — dropped tracked binaries (evolution-go, build/server), IDE config (.idea/) and scratch files (DIFF-COMPLETO.txt, API-INTERACTIVE-DOCS.txt, carousel-sender.html). Expanded .gitignore to prevent reincidence.

📝 Docs

  • Postman collection — added Set Proxy request and multipart hints on /send/media; collection file renamed from Evolution GO.postman_collection (2).json to Evolution GO.postman_collection.json.
  • Interactive messages docs — additional examples and corrections.

v0.7.0

17 Apr 18:43

Choose a tag to compare

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: