v0.7.2
Docker: evoapicloud/evolution-go:0.7.2
π New Features
- Passkey (WebAuthn) pairing β support for linking accounts that the WhatsApp
server locks behind a passkey (the Shortcake / CRSC flow). When the
server demands a passkey, whatsmeow'sPairPasskeyRequestis surfaced through a
new ceremony flow: the backend mints a short-lived ceremony token, and a bundled
browser extension (passkey-helper) runs the WebAuthn assertion on the
web.whatsapp.comorigin and posts it back. Three public endpoints drive it:
GET /passkey-ceremony/{token},POST .../response,POST .../confirm. The
manager detects the passkey stage and shows an "Abrir WhatsApp Web" button.
Confirmation is always manual (never auto-confirm onSkipHandoffUX).
Configure the public API base viaPASSKEY_PUBLIC_URL. Full guide:
docs/wiki/guias-api/passkey-pairing.md. Note: there is no headless bypass β
the ceremony requires the account owner's real authenticator; the extension is
web-only. - Headless license auto-activation β set
EVOLUTION_OPERATOR_EMAILto the
email used in your first manual license registration; on startup the service
silently calls/v1/register/autoand skips the browser flow (falls back to the
manual flow if the email isn't registered yet). - Button message media support β additional media handling for interactive
button messages.
π§ Improvements / CI
- Dropped the whatsmeow fork β now uses official
go.mau.fi/whatsmeow. The
project previously vendored a fork (whatsmeow-libsubmodule) to carry a
PostgreSQL pool patch; upstream rejected that patch in favor ofNewWithDB
(app-side config). Removing the fork also pulled in upstream's native passkey
support. Pinned to the commit that adds passkeys
(v0.0.0-20260630180629-b572e5bcb92b). Thesync-releasesworkflow no longer
re-adds the submodule. - QR pairing consumes
events.QRdirectly instead ofGetQRChannel. The QR
channel auto-confirms passkey onSkipHandoffUXand disconnects the socket when
codes run out β both break an in-flight passkey ceremony. Connecting without it
keeps the socket alive for as long as pairing (QR or passkey) needs. QR rotation
now pauses while a passkey ceremony is active. - Public sync fixes β the release workflow drops the obsolete whatsmeow-lib
step, targetsevolution-foundation/*, and now ships thepasskey-helper
extension to the public repo.
π Bug Fixes
POST /instance/pairreturned an emptyPairingCodeβ the handler
swallowedPairPhoneerrors and returned HTTP 200 withPairingCode: "", and
the client wasn't connected/awaiting-auth beforePairPhone. Now starts the
instance, waits for the websocket, and surfaces real errors (#21).GET /instance/statusreturned 400 after a manual disconnect β now returns
200 with the disconnected status instead of erroring until a container restart
(#20).
π·οΈ Org rename
- Repository references updated from EvolutionAPI to evolution-foundation
(module path, imports, GitHub URLs, submodule URLs).