github.com/openclaw/wacli
v0.17.1
#526 most downloaded on Go modules
openclaw/wacli
What this package is like to depend on
Last release 9 days ago
14 Aug 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 17 of 17 stable releases
Nothing withdrawn
no release was ever pulled
3 months old
67 releases · first in 2026
67 releases in the last 12 months
see the full history below
Release timeline
67 releases · May 2026 to Aug 2026Releases
latest 60 of 67-
v0.17.114 Aug 2026Release notes
Open source →v0.17.1 - 2026-08-14
Fixed
- Auth: stop with an actionable error when WhatsApp requires unsupported passkey pairing instead of silently rotating unusable QR codes. (#355 - thanks @Avg8888)
- Sync: normalize resolvable LIDs in message, receipt, and chat-presence webhook payloads to match stored identities. (#352 - thanks @hchittanuru3)
Release notes
Open source →Fixed
- Auth: stop with an actionable error when WhatsApp requires unsupported passkey pairing instead of silently rotating unusable QR codes. (#355 - thanks @Avg8888)
- Sync: normalize resolvable LIDs in message, receipt, and chat-presence webhook payloads to match stored identities. (#352 - thanks @hchittanuru3)
-
v0.17.1-0.20260814082644-3360a574ae0f14 Aug 2026 pre-releaseNothing published for this version
-
v0.17.013 Aug 2026Release notes
Open source →v0.17.0 - 2026-08-13
Highlight: group identities are finally stable — resolvable LIDs are
normalized everywhere they appear, and existing stores are repaired on upgrade.Fixed
- Sync: normalize resolvable LIDs in group owners, participants, and quoted senders, including historical store repair. (#348 - thanks @hchittanuru3)
Added
- Messages: expose persisted edited state consistently in list, search, show, and context JSON output. (#347 - thanks @dvainrub)
- Sync: identify unhandled payload types when content extraction produces a placeholder, with bounded diagnostics during history replay. (#344 - thanks @dvainrub)
Chore
- Dependencies: update
whatsmeowfor current socket headers, LID history tokens, status queries, and group creation behavior.
Release notes
Open source →Highlight: group identities are finally stable — resolvable LIDs are normalized everywhere they appear, and existing stores are repaired on upgrade.
Fixed
- Sync: normalize resolvable LIDs in group owners, participants, and quoted senders, including historical store repair. (#348 - thanks @hchittanuru3)
Added
- Messages: expose persisted edited state consistently in list, search, show, and context JSON output. (#347 - thanks @dvainrub)
- Sync: identify unhandled payload types when content extraction produces a placeholder, with bounded diagnostics during history replay. (#344 - thanks @dvainrub)
Chore
- Dependencies: update
whatsmeowfor current socket headers, LID history tokens, status queries, and group creation behavior.
-
v0.16.1-0.20260810065356-f775ea6db82b10 Aug 2026 pre-releaseNothing published for this version
-
v0.16.1-0.20260809034221-489f590b979f09 Aug 2026 pre-releaseNothing published for this version
-
v0.16.005 Aug 2026Release notes
Open source →0.16.0 - 2026-08-02
Added
- Locations: send native WhatsApp location pins and retain incoming static or live coordinates in local history with full purge, cleanup, and identity-migration lifecycle support. (#338 - thanks @0xlucuma)
Fixed
- Groups: preserve message-derived chat activity when refreshing group metadata so
chats listordering is not replaced by refresh time. (#340 - thanks @goutamadwant)
Chore
- Dependencies: update
go-sqlite3,whatsmeow, database tooling, gRPC, WebAssembly, telemetry, and supporting Go modules.
Release notes
Open source →Added
- Locations: send native WhatsApp location pins and retain incoming static or live coordinates in local history with full purge, cleanup, and identity-migration lifecycle support. (#338 - thanks @0xlucuma)
Fixed
- Groups: preserve message-derived chat activity when refreshing group metadata so
chats listordering is not replaced by refresh time. (#340 - thanks @goutamadwant)
Chore
- Dependencies: update
go-sqlite3,whatsmeow, database tooling, gRPC, WebAssembly, telemetry, and supporting Go modules.
-
v0.15.3-0.20260803025757-addc8fa2d28e03 Aug 2026 pre-releaseNothing published for this version
-
v0.15.203 Aug 2026Release notes
Open source →0.15.2 - 2026-08-02
Added
- Contacts: add
contacts check <phone> [phone...]to query live whether numbers are registered on WhatsApp, with JSON output for scripting; per-numberrespondeddistinguishes a server non-answer from a confirmed "not registered". (#331)
Fixed
- Send: surface local history failures after a delivered file, voice, or status send as a
store_warning(stderr warning plus JSON field) instead of silently diverging local history, while keeping the delivered message id so scripts do not retry an already-sent message. (#328 - thanks @SebTardif) - Send: extend the
store_warningpartial-success contract to every remaining send surface — text, sticker, reactions, polls, poll votes, button/list selections, and message forwarding — including sends delegated to a runningsync --followprocess.
Docs
- README: align the project overview, install paths, quickstart, and command map with the shared documentation standard.
Release notes
Open source →Added
- Contacts: add
contacts check <phone> [phone...]to query live whether numbers are registered on WhatsApp, with JSON output for scripting; per-numberrespondeddistinguishes a server non-answer from a confirmed "not registered". (#331)
Fixed
- Send: surface local history failures after a delivered file, voice, or status send as a
store_warning(stderr warning plus JSON field) instead of silently diverging local history, while keeping the delivered message id so scripts do not retry an already-sent message. (#328 - thanks @SebTardif) - Send: extend the
store_warningpartial-success contract to every remaining send surface — text, sticker, reactions, polls, poll votes, button/list selections, and message forwarding — including sends delegated to a runningsync --followprocess.
Docs
- README: align the project overview, install paths, quickstart, and command map with the shared documentation standard.
- Contacts: add
-
v0.15.2-0.20260802190839-daffe4f89edd02 Aug 2026 pre-releaseNothing published for this version
-
v0.15.102 Aug 2026Release notes
Open source →0.15.1 - 2026-08-01
Added
- Sync: add opt-in
--send-spacingfixed or randomized pacing for sends delegated to a running follow process. (#318 - thanks @cohnen) - Sync: add opt-in receipt and chat-presence webhook events while keeping legacy message payloads unchanged. (#315 - thanks @Jaime-data)
Fixed
- Sync: stop promptly when WhatsApp revokes the linked session, including while a reconnect is already in progress, and print the re-authentication steps. (#325 - thanks @cohnen)
- Send: keep self-chat storage under the canonical phone-number chat and reject text sends to the linked account itself instead of reporting an acknowledgement that may never reach Message Yourself. (#319 - thanks @Lucas-Kim-J)
- Send: resolve quoted direct messages across phone-number and LID chat aliases so replies can find migrated history. (#326 - thanks @0xlucuma)
Chore
- Dependencies: update
whatsmeow, terminal support, GraphQL parsing, and supporting Go modules. - Tooling: update the pinned pnpm version from 10.34.4 to 11.18.0.
- Build: migrate
sqlccode generator to Go 1.24+go tooldirective and bump project toolchain requirement to Go 1.26.5. (#313 - thanks @thedavidweng) - Build: standardize the Makefile's build, check, snapshot, and verified local-release targets across the crawler repositories.
- Release: publish v0.15.0 under a one-time clean-VM Gatekeeper waiver, with retroactive VM proof still required when hardware returns, and verify preserved drafts against their release commit's Go toolchain.
Release notes
Open source →Added
- Sync: add opt-in
--send-spacingfixed or randomized pacing for sends delegated to a running follow process. (#318 - thanks @cohnen) - Sync: add opt-in receipt and chat-presence webhook events while keeping legacy message payloads unchanged. (#315 - thanks @Jaime-data)
Fixed
- Sync: stop promptly when WhatsApp revokes the linked session, including while a reconnect is already in progress, and print the re-authentication steps. (#325 - thanks @cohnen)
- Send: keep self-chat storage under the canonical phone-number chat and reject text sends to the linked account itself instead of reporting an acknowledgement that may never reach Message Yourself. (#319 - thanks @Lucas-Kim-J)
- Send: resolve quoted direct messages across phone-number and LID chat aliases so replies can find migrated history. (#326 - thanks @0xlucuma)
Chore
- Dependencies: update
whatsmeow, terminal support, GraphQL parsing, and supporting Go modules. - Tooling: update the pinned pnpm version from 10.34.4 to 11.18.0.
- Build: migrate
sqlccode generator to Go 1.24+go tooldirective and bump project toolchain requirement to Go 1.26.5. (#313 - thanks @thedavidweng) - Build: standardize the Makefile's build, check, snapshot, and verified local-release targets across the crawler repositories.
- Release: publish v0.15.0 under a one-time clean-VM Gatekeeper waiver, with retroactive VM proof still required when hardware returns, and verify preserved drafts against their release commit's Go toolchain.
- Sync: add opt-in
-
v0.15.1-0.20260802014901-52262fd0a3a302 Aug 2026 pre-releaseNothing published for this version
-
v0.15.1-0.20260728072018-260f5d36f01c28 Jul 2026 pre-releaseNothing published for this version
-
v0.15.1-0.20260727192541-f7e1ebeb3ffc27 Jul 2026 pre-releaseNothing published for this version
-
v0.15.1-0.20260727074803-9ca892500dcf27 Jul 2026 pre-releaseNothing published for this version
-
v0.15.1-0.20260723204145-3d0488f057fc23 Jul 2026 pre-releaseNothing published for this version
-
v0.15.023 Jul 2026Release notes
Open source →Changelog
Highlights
- Send files with an explicit WhatsApp media type, so an MP3 can be delivered as a downloadable document while retaining its audio MIME type. (thanks @DiegoDAF)
- Webhooks now include the locally resolved chat name when it is available. (#312 - thanks @g1e2x87)
Added
- Send: add
send file --as auto|document|audio|image|videoto choose the WhatsApp media type independently of MIME, including downloadable MP3 documents. (thanks @DiegoDAF)
Fixed
Release notes
Open source →Highlights
- Send files with an explicit WhatsApp media type, so an MP3 can be delivered as a downloadable document while retaining its audio MIME type. (thanks @DiegoDAF)
- Webhooks now include the locally resolved chat name when it is available. (#312 - thanks @g1e2x87)
Added
- Send: add
send file --as auto|document|audio|image|videoto choose the WhatsApp media type independently of MIME, including downloadable MP3 documents. (thanks @DiegoDAF)
Fixed
- Sync: include locally resolved chat names in webhook payloads when available. (#312 - thanks @g1e2x87)
-
v0.14.1-0.20260722051600-3ba9eb604ebb22 Jul 2026 pre-releaseNothing published for this version
-
v0.14.1-0.20260721020229-000fce52bea121 Jul 2026 pre-releaseNothing published for this version
-
v0.14.019 Jul 2026Release notes
Open source →Highlights
- Deleted messages now keep their original payload behind timestamped tombstones, with an explicit confirmation-gated purge command for irreversible erasure.
- Message edits now delegate through a running
sync --followprocess instead of failing while the sync process owns the store lock. (#310 - thanks @Umair444) - Text replies can again quote stored documents and other supported media. (#307 - thanks @suifatt7799-oss)
Added
- Messages: add an explicit, confirmation-gated
messages purgecommand that irreversibly erases one retained payload while keeping a durable suppression tombstone.
Changed
- Messages: retain original text, interactive, reply, and media metadata behind timestamped deletion tombstones; keep sync/history imports merge-only so missing rows never imply deletion.
- WhatsApp compatibility: update
whatsmeowfor the latest protocol definitions and its required utility module.
Fixed
- Store: preserve duplicate local media paths across LID-to-phone-number migration so a later payload purge erases every retained copy.
- Send: delegate
messages editthrough a runningsync --followprocess like other send commands, so edits no longer always fail withstore is lockedwhile continuous sync owns the store. (#310 - thanks @Umair444) - Send: allow text replies to quote stored documents and other supported media by rebuilding their saved message content. (#307 - thanks @suifatt7799-oss)
-
v0.13.1-0.20260719141544-0cfdf56c646e19 Jul 2026 pre-releaseNothing published for this version
-
v0.13.1-0.20260718232759-136580c2ea8518 Jul 2026 pre-releaseNothing published for this version
-
v0.13.1-0.20260717184950-0a1b00fc79d117 Jul 2026 pre-releaseNothing published for this version
-
v0.13.017 Jul 2026Release notes
Open source →Changelog
Highlights
- Sync can now stay quiet during long-running mirror sessions so the primary phone keeps normal notification behavior. (#298 - thanks @GodsBoy)
- Text replies now carry complete quoted-message context through direct and delegated sends. (#302 - thanks @odilorg)
- Windows auth and store access now handle drive-letter and UNC paths without invalid SQLite URI errors. (#304 - thanks @goutamadwant)
- Official release artifacts now use a signed, notarized, provenance-bound draft-first pipeline with protected verification and Homebrew handoff.
Added
- Sync: add opt-in
--presence-mode quietto suppress available-presence updates during long-running sync sessions while retaining safe unavailable cleanup. (#298 - thanks @GodsBoy)
Fixed
- Messages: preserve quoted content, stanza IDs, and participants when replying to stored incoming or outgoing text messages, including through sync IPC delegation. (#302 - thanks @odilorg)
- Windows: normalize drive-letter and UNC paths before constructing SQLite file URIs so auth and read-only store opens no longer fail with invalid URI authority. (#304 - thanks @goutamadwant)
- WhatsApp compatibility: update
whatsmeowfor current protobufs, LID direct-message sends, pairing, and user lookup behavior. (#306)
Security
- Build: require Go 1.25.12 and gate source plus release binaries with
govulncheckso reachable GO-2026-5856 standard-library paths are excluded. - Release: sign all official macOS thin and universal binaries with the exact OpenClaw Foundation Developer ID metadata and designated requirement, hardened runtime, timestamp, and Apple notarization before draft upload; require naturally quarantined clean-VM execution as the standalone CLI Gatekeeper proof.
- Release: bind cross-build provenance and publication freshness to the current protected head, reject wrong linker/runtime versions and lookalike signing authorities, revalidate the exact draft and fresh published release by ID, and verify protected Homebrew handoff, formula stanzas, plus the installed binary's hash, architecture, signing identity, runtime, and notarization constraint.
- Release: move official publication to a local draft-first flow with authenticated cross-build provenance, separate protected-main native verification, a signed annotated exact tag, verified public-release and Homebrew manifests, and credential-free CI builds.
Changed
- Dependencies: update
go-sqlite3, the Go networking stack, andwhatsmeowwith its required transitive modules. (#305, #306) - Tooling: require Node.js 24 or newer and enforce a 48-hour minimum release age for pnpm packages. (thanks @vincentkoc)
Release notes
Open source →Highlights
- Sync can now stay quiet during long-running mirror sessions so the primary phone keeps normal notification behavior. (#298 - thanks @GodsBoy)
- Text replies now carry complete quoted-message context through direct and delegated sends. (#302 - thanks @odilorg)
- Windows auth and store access now handle drive-letter and UNC paths without invalid SQLite URI errors. (#304 - thanks @goutamadwant)
- Official release artifacts now use a signed, notarized, provenance-bound draft-first pipeline with protected verification and Homebrew handoff.
Added
- Sync: add opt-in
--presence-mode quietto suppress available-presence updates during long-running sync sessions while retaining safe unavailable cleanup. (#298 - thanks @GodsBoy)
Fixed
- Messages: preserve quoted content, stanza IDs, and participants when replying to stored incoming or outgoing text messages, including through sync IPC delegation. (#302 - thanks @odilorg)
- Windows: normalize drive-letter and UNC paths before constructing SQLite file URIs so auth and read-only store opens no longer fail with invalid URI authority. (#304 - thanks @goutamadwant)
- WhatsApp compatibility: update
whatsmeowfor current protobufs, LID direct-message sends, pairing, and user lookup behavior. (#306)
Security
- Build: require Go 1.25.12 and gate source plus release binaries with
govulncheckso reachable GO-2026-5856 standard-library paths are excluded. - Release: sign all official macOS thin and universal binaries with the exact OpenClaw Foundation Developer ID metadata and designated requirement, hardened runtime, timestamp, and Apple notarization before draft upload; require naturally quarantined clean-VM execution as the standalone CLI Gatekeeper proof.
- Release: bind cross-build provenance and publication freshness to the current protected head, reject wrong linker/runtime versions and lookalike signing authorities, revalidate the exact draft and fresh published release by ID, and verify protected Homebrew handoff, formula stanzas, plus the installed binary's hash, architecture, signing identity, runtime, and notarization constraint.
- Release: move official publication to a local draft-first flow with authenticated cross-build provenance, separate protected-main native verification, a signed annotated exact tag, verified public-release and Homebrew manifests, and credential-free CI builds.
Changed
- Dependencies: update
go-sqlite3, the Go networking stack, andwhatsmeowwith its required transitive modules. (#305, #306) - Tooling: require Node.js 24 or newer and enforce a 48-hour minimum release age for pnpm packages. (thanks @vincentkoc)
-
v0.12.1-0.20260717165324-6ef888f278ea17 Jul 2026 pre-releaseNothing published for this version
-
v0.12.1-0.20260716225913-a0e284aa3cc816 Jul 2026 pre-releaseNothing published for this version
-
v0.12.1-0.20260711051900-b1eb33538df311 Jul 2026 pre-releaseNothing published for this version
-
v0.12.1-0.20260710160642-3290bdfe285d10 Jul 2026 pre-releaseNothing published for this version
-
v0.12.1-0.20260709215724-b8703e86d8b109 Jul 2026 pre-releaseNothing published for this version
-
v0.12.1-0.20260706170024-a22e5b4f598606 Jul 2026 pre-releaseNothing published for this version
-
v0.12.006 Jul 2026Release notes
Open source →Changelog
Added
- Media: add
media backfillto download media for already-synced messages that have metadata but no local copy. (thanks @njt) - Media: add
media retryto recover CDN-expired media from the primary device. (thanks @njt)
Security
- Store: replace dynamic schema-inspection SQL with fixed allowlisted queries. (thanks @dovocoder)
Fixed
- Sync: finish queued media downloads before clean one-shot and bootstrap exits instead of canceling them at idle. (thanks @njt)
Release notes
Open source →Added
- Media: add
media backfillto download media for already-synced messages that have metadata but no local copy. (thanks @njt) - Media: add
media retryto recover CDN-expired media from the primary device. (thanks @njt)
Security
- Store: replace dynamic schema-inspection SQL with fixed allowlisted queries. (thanks @dovocoder)
Fixed
- Sync: finish queued media downloads before clean one-shot and bootstrap exits instead of canceling them at idle. (thanks @njt)
- Media: add
-
v0.11.3-0.20260702071813-834c03f1e71402 Jul 2026 pre-releaseNothing published for this version
-
v0.11.202 Jul 2026Release notes
Open source →Changelog
Added
Security
- Store: escape SQLite file URI path delimiters so store names cannot alter connection parameters. (thanks @vincentkoc)
- Docs: escape raw HTML in generated-site link labels and give duplicate headings stable unique IDs. (thanks @vincentkoc)
Fixed
- WhatsApp compatibility: update
whatsmeowfor current protocol metadata, privacy tokens on more request types, and pairing/connect handling. - Sync: keep linked-device presence accurate while sync is running and send unavailable presence on shutdown so phones resume push notifications. (#283)
- WhatsApp connectivity: update
whatsmeowfor the current WhatsApp protocol and fix405 (Client Outdated)failures. (#280) - Channels: report local cache persistence failures instead of silently returning incomplete success. (thanks @vincentkoc)
- Cleanup: reject non-positive
chats cleanup --daysvalues before opening the store. (thanks @vincentkoc)
Release notes
Open source →Added
Security
- Store: escape SQLite file URI path delimiters so store names cannot alter connection parameters. (thanks @vincentkoc)
- Docs: escape raw HTML in generated-site link labels and give duplicate headings stable unique IDs. (thanks @vincentkoc)
Fixed
- WhatsApp compatibility: update
whatsmeowfor current protocol metadata, privacy tokens on more request types, and pairing/connect handling. - Sync: keep linked-device presence accurate while sync is running and send unavailable presence on shutdown so phones resume push notifications. (#283)
- WhatsApp connectivity: update
whatsmeowfor the current WhatsApp protocol and fix405 (Client Outdated)failures. (#280) - Channels: report local cache persistence failures instead of silently returning incomplete success. (thanks @vincentkoc)
- Cleanup: reject non-positive
chats cleanup --daysvalues before opening the store. (thanks @vincentkoc)
-
v0.11.2-0.20260701141006-41cda64d585e01 Jul 2026 pre-releaseNothing published for this version
-
v0.11.2-0.20260630234731-498522551fe030 Jun 2026 pre-releaseNothing published for this version
-
v0.11.2-0.20260622055601-ce61174e21c022 Jun 2026 pre-releaseNothing published for this version
-
v0.11.2-0.20260620231144-362c31e7389d20 Jun 2026 pre-releaseNothing published for this version
-
v0.11.2-0.20260618053455-464254a50e2518 Jun 2026 pre-releaseNothing published for this version
-
v0.11.2-0.20260611032914-0251654c086c11 Jun 2026 pre-releaseNothing published for this version
-
v0.11.111 Jun 2026Release notes
Open source →Added
- Groups: add live admin commands for creating groups, setting descriptions, toggling announce-only and admin-only edits, and approving or rejecting join requests. (#265 - thanks @dovocoder)
- Groups: include resolved phone numbers in pending join request output when LID mappings are available. (#273 - thanks @cielecki)
- Presence: delegate typing and paused indicators through the sync daemon send socket when the store lock is held. (#272 - thanks @kidshaker)
- Profile: add commands to remove the profile picture, set About text, set the profile display name, fetch profile picture metadata, fetch a user's About text, and fetch WhatsApp Business profile details. (#267 - thanks @dovocoder)
- Sync: add opt-in keepalive-failure stale detection for
sync --follow(1sto<2m20s), including forced reconnect, astaleNDJSON event, a private storeHEARTBEAT, anddoctor --jsonlast_activity_at. (#278 - thanks @thedavidweng)
Security
- Media: bound direct WhatsApp media downloads with a response-header timeout while preserving the caller's body download budget. (#271 - thanks @jason-allen-oneal)
Fixed
- Media: download synced WhatsApp GIF playback videos by treating their stored
giflabel as video-encrypted media. (#274 - thanks @larskluge) - Sync: reconnect after WhatsApp replaces the linked-device stream instead of leaving
sync --followoffline. (#266 - thanks @ngutman) - Sync: clear chat unread state from
ReceiptTypeReadSelfreceipts so linked-device reads still update whenregular_highapp-state sync is unhealthy. (#269 - thanks @p-jackson1)
-
v0.11.1-0.20260610100233-00439d47a01610 Jun 2026 pre-releaseNothing published for this version
-
v0.11.1-0.20260609022155-faf32dacf93b09 Jun 2026 pre-releaseNothing published for this version
-
v0.11.1-0.20260530154151-be2d22fe9d8c30 May 2026 pre-releaseNothing published for this version
-
v0.11.1-0.20260528194844-6bbfde611df528 May 2026 pre-releaseNothing published for this version
-
v0.11.1-0.20260528130609-5b2ff7366d7328 May 2026 pre-releaseNothing published for this version
-
v0.11.1-0.20260523145517-e9f18305617123 May 2026 pre-releaseNothing published for this version
-
v0.11.1-0.20260523073252-dc75b680c4ae23 May 2026 pre-releaseNothing published for this version
-
v0.11.1-0.20260522220003-54cb3f38573322 May 2026 pre-releaseNothing published for this version
-
v0.11.022 May 2026Release notes
Open source →Added
- Chats: store unread marker state and numeric
unread_countseparately; migrate existing stores away from sentinel unread values while preserving public chat JSON fields. (#255 - thanks @drelum and @dovocoder) - Messages: add explicit
messages revokeandmessages forwardcommands for stored text and media/document messages. (#259 - thanks @dovocoder) - Messages: persist quoted message ID and quoted sender JID metadata from WhatsApp reply context. (#260)
- Send: add
send selectto choose stored inbound WhatsApp quick-reply buttons and list rows from scripts. (#258 - thanks @morgs)
Security
Fixed
- Sync: store messages sent from other linked devices in the destination chat as outgoing messages.
- Calls: import call-log records from full history syncs and the
regularapp-state collection so old call events can be stored even when the live call signaling was missed. (#256)
Docs
- Docs: update Homebrew install and release-token references to the OpenClaw Homebrew tap. (#254 - thanks @dovocoder)
- Chats: store unread marker state and numeric
-
v0.10.1-0.20260522140107-bb68ecc79dec22 May 2026 pre-releaseNothing published for this version
-
v0.10.1-0.20260521071325-20e114aa9df221 May 2026 pre-releaseNothing published for this version
-
v0.10.1-0.20260520150858-e335a5f2958f20 May 2026 pre-releaseNothing published for this version
-
v0.10.020 May 2026Release notes
Open source →Added
- Media: allow
media download --read-onlywhen--outputis explicit, so synced media can be fetched without opening the WhatsApp session store or recording download state. (#250 - thanks @mbelinky)
Security
Fixed
- Release: publish target-specific macOS/Linux/Windows archives with one combined checksum file and update the OpenClaw Homebrew tap.
- Connect: send an
availablepresence after authenticated connect so the server records the linked-device pushname; without it, downstream recipients receivenotify=""and Cloud API verified-business webhooks silently drop the message at the gateway. (#252 - thanks @ceifa)
- Media: allow
-
v0.9.3-0.20260517065139-01c7cd5521c917 May 2026 pre-releaseNothing published for this version
-
v0.9.217 May 2026Release notes
Open source →Added
- Send: add
wacli send statusfor WhatsApp status broadcasts, including text statuses with optional background/font and media statuses with captions. (#247 - thanks @dovocoder) - Store: persist synced and locally sent status broadcasts separately in
status_messagesinstead of mixing them into normal chat messages.
Security
- CI: pin GitHub Actions and Docker base images to immutable refs and pin GoReleaser to an exact version.
- Send: block automatic link previews from fetching localhost, private, link-local, multicast, and other non-public addresses.
- Sync: validate webhook URLs, redact webhook errors, disable private-network webhook targets by default, and add
--webhook-allow-privatefor trusted local endpoints.
Fixed
- Accounts: serialize account config mutations with a config lock and save through unique temporary files.
- CLI: strip terminal control characters from human/table/error output.
- CLI: open the local store through SQLite read-only mode for
--read-onlycommands instead of initializing writer state. - Media: enforce regular-file and size limits for sends, stickers, voice notes, profile pictures, contacts imports, thumbnails, and unknown-length downloads.
- Messages: make
--delete-media --for-meremove the stored local media file when present. - Store: count all chats and groups in
store statsinstead of the first 50 entries. - Sync: warn when bootstrap contact/group/channel refresh fails instead of silently ignoring it.
- Sync: bound each webhook delivery request so shutdown is not stuck behind a slow endpoint.
- History: unwrap edited WhatsApp messages during history sync and backfill so stored/searchable text shows the edited body instead of
(message). (#246 - thanks @hiasinho) - Polls: use WhatsApp's single-select poll creation field for outbound single-select polls and preserve unmatched poll vote hashes in
poll show --json. (#248 - thanks @dovocoder) - Sync: canonicalize
@lidchat JIDs before enqueuing media downloads sosync --follow --download-mediafinds the correct DB row for live one-to-one messages. (#244 - thanks @Daniel1of1)
- Send: add
-
v0.9.2-0.20260516192835-3613468d33b416 May 2026 pre-releaseNothing published for this version
-
v0.9.2-0.20260516003532-0f24290f2a4516 May 2026 pre-releaseNothing published for this version
-
v0.9.2-0.20260515180752-c663b866d78215 May 2026 pre-releaseNothing published for this version
-
v0.9.115 May 2026Release notes
Open source →Added
- Calls: persist WhatsApp call signaling and call-log metadata, and add
wacli calls list.
Fixed
- Accounts: reject invalid account configs before saving and ignore relative
XDG_STATE_HOMEfor default state paths. - CLI: honor canceled store-lock waits before acquiring locks and stop reporting non-contention lock failures as ordinary contention.
- Media: fail before downloading when the output directory exists but is not writable.
- Media: sanitize
#, control-wrapped blanks, and single-dot path components in generated media paths. - Store: remove starred-message metadata when deleting chat-local data so cleanup cannot leave stale starred state behind.
- Calls: persist WhatsApp call signaling and call-log metadata, and add
-
v0.9.1-0.20260515105609-544d81a8bb2615 May 2026 pre-releaseNothing published for this version
-
v0.9.015 May 2026Release notes
Open source →Added
- Docker: add a local image with
/datapersistence, bundledffmpeg, and Docker CI smoke coverage. - Polls: add sending, voting, local result inspection, and sync persistence for WhatsApp polls. (#230 - thanks @Ortes)
- Send: add opt-in
send text --ephemeralwrapping for disappearing-message chats. (#227 - thanks @AndroidPoet)
Security
- Store: harden private-file writes and use static SQL for message reaction migrations. (#241 - thanks @cy701)
Fixed
- Messages: preserve WhatsApp Business buttons and list options in JSON output. (#226 - thanks @ignaciovarela)
- Messages: extract WhatsApp NativeFlow interactive buttons from business messages. (#233 - thanks @ignaciovarela and @mturac)
- Send: canonicalize direct phone-number recipients before sending so WhatsApp accepts regional number rewrites. (#212, #240 - thanks @ceifa)
- Send: warm up recipients before send to reduce privacy-token failures. (#234 - thanks @AndroidPoet)
Docs
- Docs: document named accounts in the quickstart and surface accounts, channels, store, and integrations pages in the docs navigation. (#235 - thanks @mamarchk)
Chore
- Store: generate typed SQLite query wrappers with sqlc for stable store reads and writes.
- Docker: add a local image with