Skip to content

v0.7.2

Latest

Choose a tag to compare

@DavidsonGomes DavidsonGomes released this 03 Jul 01:56

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's PairPasskeyRequest is 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.com origin 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 on SkipHandoffUX).
    Configure the public API base via PASSKEY_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_EMAIL to the
    email used in your first manual license registration; on startup the service
    silently calls /v1/register/auto and 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-lib submodule) to carry a
    PostgreSQL pool patch; upstream rejected that patch in favor of NewWithDB
    (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). The sync-releases workflow no longer
    re-adds the submodule.
  • QR pairing consumes events.QR directly instead of GetQRChannel. The QR
    channel auto-confirms passkey on SkipHandoffUX and 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, targets evolution-foundation/*, and now ships the passkey-helper
    extension to the public repo.

πŸ› Bug Fixes

  • POST /instance/pair returned an empty PairingCode β€” the handler
    swallowed PairPhone errors and returned HTTP 200 with PairingCode: "", and
    the client wasn't connected/awaiting-auth before PairPhone. Now starts the
    instance, waits for the websocket, and surfaces real errors (#21).
  • GET /instance/status returned 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).