| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Pre-release candidate for 2.4.0. Built from develop (commit 5624bda). Not merged to main. Use for validation only; do not deploy to production without further testing.
Estabilização sobre 2.4.0-rc1. Sem mudanças de banco nem de contrato HTTP — apenas fixes em fluxos do Baileys/WhatsApp e Evolution Channel, suporte nativo a GIF e um caminho opcional de auto-ativação headless da licença.
WhatsApp — bypass de validação onWhatsApp para contatos @lid (#2544). Após a migração para LID (Linked Identity) do WhatsApp, contatos cujo JID termina em @lid retornavam exists: false no onWhatsApp da Baileys, fazendo sendMessageWithTyping e sendPresence lançarem BadRequestException. O bypass que já existia para @broadcast foi estendido para incluir @lid.
WhatsApp — quoted agora é propagado em sendWhatsAppAudio (#2516, corrige #2485). Envios de áudio com payload quoted deixavam de chegar como resposta encadeada — o áudio caía como mensagem solta. Corrigido nos dois caminhos do audioWhatsapp (encoded e direct).
Instance API — instanceName agora é trimado na criação (#2546, corrige #2543). Nomes com espaços inicial/final eram persistidos no banco mas, ao serem chamados via URL (DELETE /instance/delete/:name), os espaços eram normalizados, gerando 404 por mismatch. Aplicado .trim() no início de createInstance.
Evolution Channel — instâncias deixam de ficar travadas em close (#2420, corrige #2419). Como o Evolution Channel é webhook-only (passivo), a instância deveria estar sempre open. Agora, no boot do monitor e na criação da instância, connectToWhatsapp() é chamado para instâncias EVOLUTION e o connectionStatus é persistido como open no banco.
WhatsApp — suporte nativo a GIF sem conversão para vídeo (#2540). DTO e schema de envio de mídia agora aceitam gifPlayback (boolean) e gifAttribution (0/1/2), propagados para a Baileys. Backward-compat preservado: default segue gifPlayback: false quando o cliente não envia o campo.
Licensing — auto-ativação headless via EVOLUTION_OPERATOR_EMAIL. Quando a env EVOLUTION_OPERATOR_EMAIL está configurada, o initializeRuntime chama silenciosamente o endpoint /v1/register/auto do licensing server no boot, persiste a api_key retornada e ativa a instância — pulando o fluxo de registro pelo browser. Pré-requisito: o e-mail precisa ter sido registrado uma vez previamente no licensing server. Em qualquer falha (e-mail desconhecido, servidor inacessível, key suspensa) o sistema faz fallback não-fatal para o fluxo de registro manual no /manager.
Histórico técnico: CHANGELOG.md
Pre-release candidate for 2.4.0. Built from develop (commit af4db31). Not merged to main. Use for validation only; do not deploy to production without further testing.
Starting with v2.4.0, every Evolution API instance must be activated against the
Evolution Foundation licensing server before serving API traffic. Until activation,
all business endpoints return:
HTTP 503 Service Unavailable
{
"error": "service not activated",
"code": "LICENSE_REQUIRED",
"register_url": "https://<your-host>/manager/login",
"instance_id": "<uuid>",
"docs_url": "https://docs.evolutionfoundation.com.br/licensing",
"message": "..."
}
The following routes always remain public so the operator can recover:
/license/status, /license/register, /license/activate, /manager/**,
/health, /server/ok, /ws, static assets.
Pull the new version and install dependencies:
git pull
npm installApply the new migration (creates the RuntimeConfig table). Required:
npm run db:deployIf you skip this step, the server now fails fast with a clear error
asking you to run db:deploy.
Start the service. There are three activation paths:
Already have a valid licensing key? Set it as AUTHENTICATION_API_KEY
in your .env and restart. The bootstrap step will validate the key with
the licensing server, persist it, and activate the instance automatically.
First-time activation via the manager UI? Open
https://<your-host>/manager/login. The manager detects that the
instance is unlicensed and redirects you to the registration page on
the licensing server. After you complete the form, you are sent back
to /manager/license/callback?code=..., the manager exchanges the code,
and the dashboard becomes accessible.
Calling the API from code (n8n, Make, custom scripts) without a valid
license? Every request will receive 503 LICENSE_REQUIRED with the
register_url field pointing to the manager. Open it in a browser to
activate.
The embedded manager (served at /manager) was rebuilt from the ground up
on Tailwind v4 + the new @evoapi/design-system, using the same
visual language as the rest of the Evolution Foundation product line.
Every screen was refactored — no surface remains untouched.
Highlights:
The new bundle is shipped pre-built under manager/dist/. The manager
source repository moved to evolution-foundation/evolution-manager-v2
(private) — the previous in-repo submodule was dropped.
WhatsApp Business Meta Templates: Add update and delete endpoints for Meta templates
Events API: Add isLatest and progress to messages.set event
N8N Integration: Add quotedMessage to payload in sendMessageToBot
WebSocket: Add wildcard "*" to allow all hosts to connect via websocket
Pix Support: Handle interactive button message for pix
Baileys Message Processor: Fix incoming message events not working after reconnection
Baileys Authentication: Resolve "waiting for message" state after reconnection
OnWhatsapp Cache: Prevent unique constraint errors and optimize database writes
Proxy Integration: Fix "Media upload failed on all hosts" error when using proxy
WhatsApp Business API: Fix base64, filename and caption handling
Chat Service: Fix fetchChats and message panel errors
Contact Filtering: Apply where filters correctly in findContacts endpoint
Chatwoot and Baileys Integration: Multiple integration improvements
Baileys Message Loss: Prevent message loss from WhatsApp stub placeholders
Database Contacts: Respect DATABASE_SAVE_DATA_CONTACTS in contact updates
Prisma/PostgreSQL: Add unique constraint to Chat model
MinIO Upload: Handle messageContextInfo in media upload to prevent MinIO errors
Typebot: Fix message routing for @lid JIDs
Message Filtering: Unify remoteJid filtering using OR with remoteJidAlt
@lid Integration: Multiple fixes for @lid problems, message events and chatwoot errors
Chatwoot Contacts: Fix contact duplication error on import
Chatwoot Service: Fix async handling in update_last_seen method
Metrics Access: Fix IP validation including x-forwarded-for
Baileys: Updated to version 7.0.0-rc.9
AWS SDK: Updated packages to version 3.936.0
Full Changelog: 2.3.5...2.3.6
Full Changelog: 2.3.4...2.3.5
Kafka Integration: Added Apache Kafka event integration for real-time event streaming
Evolution Manager v2 Open Source: Evolution Manager v2 is now available as open source
EvolutionBot Enhancements: Improved EvolutionBot functionality and message handling
MySQL Schema: Fixed invalid default value errors for createdAt fields in Evoai and EvoaiSetting models
Prisma Schema Validation: Fixed instanceName field error in message creation
Media Message Processing: Enhanced media handling across chatbot services
Evolution Manager v2 Linting: Resolved ESLint configuration conflicts
Chatbot Services: Streamlined media message handling across all chatbot integrations
Database Operations: Improved data consistency and validation
Full Changelog: 2.3.3...2.3.4
Full Changelog: 2.3.2...2.3.3
Full Changelog: 2.3.1...2.3.2
Full Changelog: 2.3.0...2.3.1
| Back | FazBrowse Home | New Git URL |