Skip to content

Commit 877eef7

Browse files
committed
release: v0.6.1
0 parents  commit 877eef7

File tree

118 files changed

+46315
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+46315
-0
lines changed

.dockerignore

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Git
2+
.git
3+
.gitignore
4+
5+
# Documentation
6+
README.md
7+
# docs/ - Mantido porque docs/docs.go é necessário para o build (gerado pelo swagger)
8+
docs/wiki/
9+
10+
# Logs
11+
logs/
12+
13+
# IDE
14+
.vscode/
15+
.idea/
16+
17+
# OS
18+
.DS_Store
19+
Thumbs.db
20+
21+
# Build artifacts
22+
server
23+
build/
24+
25+
# Docker
26+
Dockerfile
27+
.dockerignore
28+
docker/
29+
30+
# Scripts
31+
*.sh
32+
Makefile
33+
34+
# Test files
35+
*_test.go
36+
*.test
37+
38+
# Manager/dist é necessário - serve arquivos estáticos do frontend React
39+
# Não excluir - precisa estar na imagem final para ser acessado via /manager
40+
41+
# Keep these important files/folders for build:
42+
# - whatsmeow/ (nossa versão local modificada)
43+
# - go.mod, go.sum (dependências)
44+
# - pkg/, cmd/ (código fonte necessário para compilar)
45+
# - docs/docs.go (gerado pelo swagger, necessário para build)
46+
47+
# IMPORTANT: O código-fonte (pkg/, cmd/, etc.) é necessário no stage de build
48+
# mas NÃO é copiado para a imagem final - apenas o executável compilado vai.

.env.example

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
SERVER_PORT=8080
2+
3+
POSTGRES_AUTH_DB=postgresql://postgres:root@localhost:5432/evogo_auth?sslmode=disable
4+
POSTGRES_USERS_DB=postgresql://postgres:root@localhost:5432/evogo_users?sslmode=disable
5+
DATABASE_SAVE_MESSAGES=false
6+
CLIENT_NAME=evolution
7+
8+
GLOBAL_API_KEY=429683C4C977415CAAFCCE10F7D57E11
9+
10+
WADEBUG=DEBUG
11+
LOGTYPE=console
12+
WEBHOOKFILES=true
13+
14+
CONNECT_ON_STARTUP=true
15+
16+
OS_NAME=Evolution GO
17+
18+
AMQP_URL=amqp://admin:admin@localhost:5672/default
19+
AMQP_GLOBAL_ENABLED=false
20+
21+
WEBHOOK_URL=https://webhook.site/2e6af2fa-6b04-497f-b4a1-13a905728d83
22+
23+
# Minio Configuration
24+
MINIO_ENABLED=true
25+
MINIO_ENDPOINT=localhost:9000
26+
MINIO_ACCESS_KEY=minioadmin
27+
MINIO_SECRET_KEY=minioadmin
28+
MINIO_BUCKET=evolution-media
29+
MINIO_USE_SSL=false
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Build and Publish Docker Image
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- "*.*.*"
9+
10+
jobs:
11+
build_deploy:
12+
name: Build and Deploy
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
packages: write
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Docker meta
22+
id: meta
23+
uses: docker/metadata-action@v5
24+
with:
25+
images: evoapicloud/evolution-go
26+
tags: |
27+
type=ref,event=branch
28+
type=semver,pattern={{version}}
29+
type=raw,value=latest,enable={{is_default_branch}}
30+
31+
- name: Set up QEMU
32+
uses: docker/setup-qemu-action@v3
33+
34+
- name: Set up Docker Buildx
35+
uses: docker/setup-buildx-action@v3
36+
37+
- name: Login to Docker Hub
38+
uses: docker/login-action@v3
39+
with:
40+
username: ${{ secrets.DOCKER_USERNAME }}
41+
password: ${{ secrets.DOCKER_PASSWORD }}
42+
43+
- name: Build and push
44+
id: docker_build
45+
uses: docker/build-push-action@v5
46+
with:
47+
platforms: linux/amd64,linux/arm64
48+
push: true
49+
tags: ${{ steps.meta.outputs.tags }}
50+
labels: ${{ steps.meta.outputs.labels }}
51+
cache-from: type=gha
52+
cache-to: type=gha,mode=max
53+
54+
- name: Image digest
55+
run: echo ${{ steps.docker_build.outputs.digest }}

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.env
2+
logs/*
3+
build/
4+
*.prof
5+
coverage.*
6+
.air.toml
7+
.idea/
8+
.vscode/
9+
.DS_Store
10+
.cursorrules

CHANGELOG.md

Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
# Evolution GO - Changelog
2+
3+
## v0.6.1
4+
5+
### 🆕 New Features
6+
- **Group invite info endpoint**`GET /group/invite-info` to get group details from invite link
7+
- **Enhanced media sending** — GIF playback, video stickers, and transparent sticker support
8+
9+
### 🐛 Bug Fixes
10+
- **Admin revoke** — Allow deleting messages from others in groups (admin revoke)
11+
12+
### 🔧 Improvements
13+
- **Version management** — Reads version from `VERSION` file with ldflags fallback
14+
- **CORS global middleware** — Applied before all routes
15+
- **Makefile compatibility** — Fixed `$(shell)` syntax for GNU Make 3.81 (macOS default)
16+
- **CI/CD cleanup** — Removed `develop` branch trigger and `homolog` tag from Docker workflow
17+
- **README updated** — New links, documentation, and hosting info
18+
19+
## v0.6.0
20+
21+
### 🆕 New Features
22+
- **Version from VERSION file** — Reads version from `VERSION` file at startup instead of hardcoded value
23+
24+
### 🔧 Improvements
25+
- **Makefile compatibility** — Fixed `$(shell)` syntax for GNU Make 3.81 (macOS default)
26+
27+
## v0.5.4
28+
29+
### 🔧 Improvements
30+
- **Update whatsmeow lib**
31+
32+
## v0.5.3
33+
34+
**Docker:** `evoapicloud/evolution-go:0.5.3`
35+
36+
### 🔧 Improvements
37+
38+
- **Update context handling in service methods**
39+
- 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.
40+
- Updated methods in `call_service.go`, `community_service.go`, `group_service.go`, `message_service.go`, `newsletter_service.go`, `send_service.go`, `user_service.go`, and `whatsmeow.go` to enhance consistency and reliability in handling requests.
41+
- 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.
42+
43+
## v0.5.2
44+
45+
**Docker:** `evoapicloud/evolution-go:0.5.2`
46+
47+
### 🆕 New Features
48+
- **SetProxy Endpoint**: New endpoint `POST /instance/proxy/{instanceId}` to configure proxy for instances
49+
- Support for proxy with/without authentication
50+
- Validation of required fields (host, port)
51+
- Automatic cache update via reconnection
52+
- Integrated Swagger documentation
53+
54+
### 🔧 Improvements
55+
- **CheckUser Fallback Logic**: Implemented intelligent fallback logic
56+
- If `formatJid=true` returns `IsInWhatsapp=false`, automatically retries with `formatJid=false`
57+
- Significant improvement in valid user detection
58+
- Added `RemoteJID` field to use WhatsApp-validated JID
59+
- **LID/WhatsApp JID Swap**: Automatic handling of special cases
60+
- When `Sender` comes as `@lid` and `SenderAlt` comes as `@s.whatsapp.net`
61+
- Automatic inversion: `Sender` and `Chat` receive `@s.whatsapp.net`, `SenderAlt` receives `@lid`
62+
- Detailed logs for tracking swaps
63+
64+
### 🐛 Bug Fixes
65+
- **SendMessage**: Standardization of WhatsApp-validated `remoteJID` usage
66+
- **User Validation**: Improvement in phone number validation and formatting
67+
68+
---
69+
70+
## v0.5.1
71+
72+
**Docker:** `evoapicloud/evolution-go:0.5.1`
73+
74+
### 🔧 Improvements
75+
- **Instance Deletion**: Enhance instance deletion and media storage path resolution
76+
- **Media Storage**: Improvements in media storage and path resolution
77+
78+
---
79+
80+
## v0.5.0
81+
82+
**Docker:** `evoapicloud/evolution-go:0.5.0`
83+
84+
### 🔧 Improvements
85+
- **Media Storage**: Enhance media storage and logging in Whatsmeow event handling
86+
- **Retry Logic**: Implement retry logic for client connection and message sending
87+
- **Media Handling**: Enhance media handling in event processing
88+
89+
---
90+
91+
## v0.4.9
92+
93+
**Docker:** `evoapicloud/evolution-go:0.4.9`
94+
95+
### 🔧 Improvements
96+
- **Connection Handling**: Add instance update test scenarios and improve connection handling
97+
- **FormatJid Field**: Update FormatJid field to pointer type for better handling in message structures
98+
- **Dependencies**: Update dependencies and fix presence handling in Whatsmeow integration
99+
100+
---
101+
102+
## v0.4.8
103+
104+
**Docker:** `evoapicloud/evolution-go:0.4.8`
105+
106+
### 🔧 Improvements
107+
- **Audio Duration**: Improve audio duration parsing in convertAudioToOpusWithDuration function
108+
109+
---
110+
111+
## v0.4.7
112+
113+
**Docker:** `evoapicloud/evolution-go:0.4.7`
114+
115+
### 🔧 Improvements
116+
- **Phone Number Formatting**: Improve phone number formatting and validation in user service
117+
- **Brazilian/Portuguese Numbers**: Update Brazilian and Portuguese number formatting in utils
118+
119+
### 🆕 New Features
120+
- **Media Handling**: Enhance media handling in event processing
121+
122+
---
123+
124+
## v0.4.6
125+
126+
**Docker:** `evoapicloud/evolution-go:0.4.6`
127+
128+
### 🆕 New Features
129+
- **User Existence Check**: Add user existence check configuration and JID validation middleware
130+
131+
---
132+
133+
## v0.4.5
134+
135+
**Docker:** `evoapicloud/evolution-go:0.4.5`
136+
137+
### 🔧 Improvements
138+
- **Dependencies**: Update dependencies and enhance audio conversion functionality
139+
140+
---
141+
142+
## v0.4.4
143+
144+
**Docker:** `evoapicloud/evolution-go:0.4.4`
145+
146+
### 🆕 New Features
147+
- **CLAUDE.md**: Add CLAUDE.md for project documentation and enhance RabbitMQ connection handling
148+
149+
---
150+
151+
## v0.4.3
152+
153+
**Docker:** `evoapicloud/evolution-go:0.4.3`
154+
155+
### 🔧 Improvements
156+
- **PostgreSQL Connection**: Fix in PostgreSQL connection configuration for session auth
157+
- Controlled configuration of pool, idle, etc.
158+
- Adjustment on top of whatsmeow lib
159+
- **User Endpoints**: Fix in 'User Info' and 'Check User' endpoints
160+
- Now return with contact's LID information
161+
162+
---
163+
164+
## v0.3.0
165+
166+
### 🆕 New Features
167+
- **Own Message Reactions**: Additional 'fromMe' parameter using Chat id
168+
- **CreatedAt Field**: CreatedAt field added to instances table
169+
170+
---
171+
172+
## v0.2.0
173+
174+
### 🆕 New Features
175+
- **Advanced Settings**: Advanced configurations in instance creation
176+
- `alwaysOnline` (still to be implemented)
177+
- `rejectCall` - Automatically reject calls
178+
- `msgRejectCall` - Call rejection message
179+
- `readMessages` - Automatically mark messages as read
180+
- `ignoreGroups` - Ignore group messages
181+
- `ignoreStatus` - Ignore status messages
182+
- **Advanced Settings Routes**: New routes for get and update of advanced settings
183+
- **QR Code Control**: `QRCODE_MAX_COUNT` variable to control how many QR codes to generate before timeout
184+
- **AMQP Events**: `AMQP_SPECIFIC_EVENTS` variable to individually select which events to receive in RabbitMQ
185+
186+
### 🔧 Improvements
187+
- **Reconnect Endpoint**: Fix in reconnect endpoint
188+
- **Sender Info**: `Sender` and `SenderAlt` no longer come with session id, only the id
189+
190+
### 🐛 Bug Fixes
191+
- **QR Code Generation**: Fix to not generate QR code automatically after disconnection or logout
192+
193+
---
194+
195+
## v0.1.0
196+
197+
### 🆕 Initial Features
198+
- Base implementation of Evolution API in Go
199+
- WhatsApp integration via whatsmeow
200+
- Instance system
201+
- Basic message sending endpoints
202+
- Webhook support
203+
- RabbitMQ and NATS integration
204+
- Authentication system
205+
- Swagger documentation
206+
207+
---
208+
209+
## 📋 Migration Notes
210+
211+
### v0.5.2
212+
- The new `SetProxy` endpoint requires admin permissions (`AuthAdmin`)
213+
- The `CheckUser` fallback logic is automatic and transparent
214+
- LID/WhatsApp JID handling is automatic
215+
216+
### v0.4.3
217+
- Check PostgreSQL connection settings if using postgres auth
218+
219+
### v0.2.0
220+
- Review advanced settings configurations if necessary
221+
- Configure `QRCODE_MAX_COUNT` if you want to limit QR codes
222+
- Configure `AMQP_SPECIFIC_EVENTS` for specific RabbitMQ events
223+
224+
---
225+
226+
## 🔗 Useful Links
227+
228+
- **Docker Hub**: `evoapicloud/evolution-go`
229+
- **Documentation**: Swagger available at `/swagger/`
230+
- **GitHub**: [Evolution API Go](https://github.com/EvolutionAPI/evolution-go)
231+
232+
---
233+
234+
## 🤝 Contributing
235+
236+
To contribute to the project:
237+
1. Fork the repository
238+
2. Create a branch for your feature
239+
3. Commit your changes
240+
4. Open a Pull Request
241+
242+
---
243+
244+
*Last updated: October 2025*
245+

0 commit comments

Comments
 (0)