Docker: evoapicloud/evolution-go:0.7.1
- 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.
- whatsmeow-lib SHA now pinned in the public sync — the
sync-releasesworkflow previously re-cloned whatsmeowmainon 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. - 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.gitignoreto prevent reincidence.
- Postman collection — added
Set Proxyrequest and multipart hints on/send/media; collection file renamed fromEvolution GO.postman_collection (2).jsontoEvolution GO.postman_collection.json. - Interactive messages docs — additional examples and corrections.
Docker: evoapicloud/evolution-go:0.7.0
- 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)
- 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
/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
- 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.
- 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
- Group invite info endpoint —
GET /group/invite-infoto get group details from invite link - Enhanced media sending — GIF playback, video stickers, and transparent sticker support
- Admin revoke — Allow deleting messages from others in groups (admin revoke)
- Version management — Reads version from
VERSIONfile with ldflags fallback - CORS global middleware — Applied before all routes
- Makefile compatibility — Fixed
$(shell)syntax for GNU Make 3.81 (macOS default) - CI/CD cleanup — Removed
developbranch trigger andhomologtag from Docker workflow - README updated — New links, documentation, and hosting info
- Version from VERSION file — Reads version from
VERSIONfile at startup instead of hardcoded value
- Makefile compatibility — Fixed
$(shell)syntax for GNU Make 3.81 (macOS default)
- Update whatsmeow lib
Docker: evoapicloud/evolution-go:0.5.3
- Update context handling in service methods
- Refactored multiple service methods across various packages to include
context.Background()as the first argument in client calls. This change ensures that all client interactions are properly context-aware, allowing for better cancellation and timeout management. - Updated methods in
call_service.go,community_service.go,group_service.go,message_service.go,newsletter_service.go,send_service.go,user_service.go, andwhatsmeow.goto enhance consistency and reliability in handling requests. - This adjustment improves the overall robustness of the API by ensuring that all client calls can leverage context for better control over execution flow and resource management.
- Refactored multiple service methods across various packages to include
Docker: evoapicloud/evolution-go:0.5.2
- SetProxy Endpoint: New endpoint
POST /instance/proxy/{instanceId}to configure proxy for instances- Support for proxy with/without authentication
- Validation of required fields (host, port)
- Automatic cache update via reconnection
- Integrated Swagger documentation
- CheckUser Fallback Logic: Implemented intelligent fallback logic
- If
formatJid=truereturnsIsInWhatsapp=false, automatically retries withformatJid=false - Significant improvement in valid user detection
- Added
RemoteJIDfield to use WhatsApp-validated JID
- If
- LID/WhatsApp JID Swap: Automatic handling of special cases
- When
Sendercomes as@lidandSenderAltcomes as@s.whatsapp.net - Automatic inversion:
SenderandChatreceive@s.whatsapp.net,SenderAltreceives@lid - Detailed logs for tracking swaps
- When
- SendMessage: Standardization of WhatsApp-validated
remoteJIDusage - User Validation: Improvement in phone number validation and formatting
Docker: evoapicloud/evolution-go:0.5.1
- Instance Deletion: Enhance instance deletion and media storage path resolution
- Media Storage: Improvements in media storage and path resolution
Docker: evoapicloud/evolution-go:0.5.0
- Media Storage: Enhance media storage and logging in Whatsmeow event handling
- Retry Logic: Implement retry logic for client connection and message sending
- Media Handling: Enhance media handling in event processing
Docker: evoapicloud/evolution-go:0.4.9
- Connection Handling: Add instance update test scenarios and improve connection handling
- FormatJid Field: Update FormatJid field to pointer type for better handling in message structures
- Dependencies: Update dependencies and fix presence handling in Whatsmeow integration
Docker: evoapicloud/evolution-go:0.4.8
- Audio Duration: Improve audio duration parsing in convertAudioToOpusWithDuration function
Docker: evoapicloud/evolution-go:0.4.7
- Phone Number Formatting: Improve phone number formatting and validation in user service
- Brazilian/Portuguese Numbers: Update Brazilian and Portuguese number formatting in utils
- Media Handling: Enhance media handling in event processing
Docker: evoapicloud/evolution-go:0.4.6
- User Existence Check: Add user existence check configuration and JID validation middleware
Docker: evoapicloud/evolution-go:0.4.5
- Dependencies: Update dependencies and enhance audio conversion functionality
Docker: evoapicloud/evolution-go:0.4.4
- CLAUDE.md: Add CLAUDE.md for project documentation and enhance RabbitMQ connection handling
Docker: evoapicloud/evolution-go:0.4.3
- PostgreSQL Connection: Fix in PostgreSQL connection configuration for session auth
- Controlled configuration of pool, idle, etc.
- Adjustment on top of whatsmeow lib
- User Endpoints: Fix in 'User Info' and 'Check User' endpoints
- Now return with contact's LID information
- Own Message Reactions: Additional 'fromMe' parameter using Chat id
- CreatedAt Field: CreatedAt field added to instances table
- Advanced Settings: Advanced configurations in instance creation
alwaysOnline(still to be implemented)rejectCall- Automatically reject callsmsgRejectCall- Call rejection messagereadMessages- Automatically mark messages as readignoreGroups- Ignore group messagesignoreStatus- Ignore status messages
- Advanced Settings Routes: New routes for get and update of advanced settings
- QR Code Control:
QRCODE_MAX_COUNTvariable to control how many QR codes to generate before timeout - AMQP Events:
AMQP_SPECIFIC_EVENTSvariable to individually select which events to receive in RabbitMQ
- Reconnect Endpoint: Fix in reconnect endpoint
- Sender Info:
SenderandSenderAltno longer come with session id, only the id
- QR Code Generation: Fix to not generate QR code automatically after disconnection or logout
- Base implementation of Evolution API in Go
- WhatsApp integration via whatsmeow
- Instance system
- Basic message sending endpoints
- Webhook support
- RabbitMQ and NATS integration
- Authentication system
- Swagger documentation
- The new
SetProxyendpoint requires admin permissions (AuthAdmin) - The
CheckUserfallback logic is automatic and transparent - LID/WhatsApp JID handling is automatic
- Check PostgreSQL connection settings if using postgres auth
- Review advanced settings configurations if necessary
- Configure
QRCODE_MAX_COUNTif you want to limit QR codes - Configure
AMQP_SPECIFIC_EVENTSfor specific RabbitMQ events
- Docker Hub:
evoapicloud/evolution-go - Documentation: Swagger available at
/swagger/ - GitHub: Evolution API Go
To contribute to the project:
- Fork the repository
- Create a branch for your feature
- Commit your changes
- Open a Pull Request
Last updated: October 2025