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