You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Send: add wacli send status for 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_messages instead 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-private for 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-only commands 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-me remove the stored local media file when present.
Store: count all chats and groups in store stats instead 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 @lid chat JIDs before enqueuing media downloads so sync --follow --download-media finds the correct DB row for live one-to-one messages. (#244 - thanks @Daniel1of1)