Releases: openclaw/wacrawl
Releases · openclaw/wacrawl
Release list
v0.3.1
Added
- Add a private loopback-only web viewer for archive status, chats, messages, and search, with per-run access keys and no media/configuration/write surface (#10, thanks @greenido).
- Redesign the web viewer as a WhatsApp-style two-pane reader with dark/light/auto themes, deterministic contact avatars, message bubbles with day separators, WhatsApp text formatting and markdown rendering, media and starred indicators, chat filters, highlighted search results, and older-message pagination.
- Render photo, sticker, and GIF attachments inline in the web viewer with lazy loading and a lightbox, served read-only from local media files through the authenticated loopback API (images only, content-sniffed, size-capped, paths never exposed); media WhatsApp has not downloaded locally falls back to the metadata card instead of blocking, and WhatsApp's internal media-hash strings no longer masquerade as attachment filenames or captions.
- Keep the web viewer chat list stable when opening a chat: the selection moves in place instead of re-rendering the sidebar, preserving scroll position and skipping entrance-animation replays.
Fixed
- Harden archive reads and restores for URI-sensitive paths, no-media backups, and alternate WhatsApp media relationships (thanks @vincentkoc).
- Save backup configuration atomically with owner-only permissions to protect existing settings from interrupted writes (#25, thanks @TurboTheTurtle).
- Prevent stale web viewer responses from replacing active content, and preserve the current view when refresh metadata is temporarily unavailable.
Full changelog: https://github.com/openclaw/wacrawl/blob/v0.3.1/CHANGELOG.md
v0.3.0
Added
- Back up copied WhatsApp media as content-deduplicated encrypted Git blobs and restore current or historical media with portable paths and integrity checks.
- Add read-only SQL archive queries with JSON output, automatic sync support, and lossless duplicate-column handling (#18, thanks @TurboTheTurtle).
- Add named Git backup snapshots, snapshot history listing, and non-mutating historical restores through
backup pull --ref.
Changed
- Keep media filenames and archive paths inside an encrypted backup index; cleartext manifests expose only counts, encrypted blob paths, sizes, and hashes.
- Retry concurrent encrypted backup branch-and-tag pushes after rebasing and retargeting the unpublished tag.
- Move encrypted snapshot, Git history/tag/ref, SQLite bundle, contact export, and safe FTS query mechanics to CrawlKit while preserving the archive schema, backup manifest format, and CLI JSON contracts.
Full changelog: https://github.com/openclaw/wacrawl/blob/v0.3.0/CHANGELOG.md
v0.2.7
v0.2.6
Added
- Add
metadata --jsoncrawlkit control metadata for schedulers and local automation.
Changed
- Move source, install, and release automation references to
openclaw/wacrawlandopenclaw/tap. - Update Go to 1.26.4 and refresh Go dependencies, including
crawlkitto v0.11.0 andmodernc.org/sqliteto v1.52.0.
Fixed
v0.2.5
Changed
- Move stable archive-store SQLite reads and writes to sqlc-generated wrappers while keeping runtime schema setup, dynamic message/search filters, and WhatsApp Desktop source readers handwritten.
Fixed
- Improve WhatsApp Desktop group sender-name resolution with profile push names while preserving readable message-level push-name fallbacks (#7, thanks @michalparkola).
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.2.0
Highlights
- Encrypted Git backups:
wacrawl backup init,backup push,backup pull, andbackup status. - Multi-machine restore support through age recipients, with automatic re-encryption when recipients change.
- Verified restore path: shard hashes, cross-table validation, and transactional import into the archive DB.
- Automatic read-time sync for
status,chats,messages, andsearch.
Added
- Add encrypted Git backups with
backup init,backup push,backup pull, andbackup status, storing WhatsApp archive data as age-encrypted JSONL gzip shards in a Git repository. - Add multi-machine backup support with explicit age recipients, recipient-aware manifests, and automatic re-encryption of unchanged shards when recipients change.
- Add restore verification for encrypted backups, including plaintext shard hashes, cross-table validation, and import into a configured archive database.
- Add read-time sync for
status,chats,messages, andsearch, with--sync auto|always|never,--sync-max-age, andsyncas an alias forimport. - Add a
wacrawlCodex skill for local WhatsApp archive workflows.
Changed
- Expand the README with Homebrew install instructions, automatic sync behavior, encrypted Git backup setup, command cheat sheet, multi-machine setup, and recovery checklist.
- Document the
backup-wacrawlrepository layout and restore flow in the generated backup README.
Fixed
- Allow
searchfilters before or after the query, so documented examples likewacrawl search "invoice" --from-themwork as expected. - Keep Go module metadata tidy and CI-clean after adding age encryption dependencies.