v0.9.1

microsoft/playwrightv0.9.1May 15, 2026by github-actions[bot]

AI Summary

Fixes account configuration validation, CLI output sanitization, and media path generation to prevent crashes and data corruption.

Key Highlights

  • Rejects invalid account configs before saving.
  • Sanitizes media paths to remove control characters and special symbols.
  • Fails gracefully if the output directory is not writable.
  • Honor canceled store-lock waits before acquiring locks.

New Features

  • Reject invalid account configs and ignore relative XDG paths.
  • Strip terminal control characters from CLI output.
  • Open store in SQLite read-only mode for `--read-only` commands.
  • Enforce file and size limits for media sends.
  • Remove starred-message metadata when deleting chats.

Full Release Notes

## 0.9.1 - 2026-05-15

### Fixed

- Accounts: reject invalid account configs before saving and ignore relative `XDG_STATE_HOME` for 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.

## Artifacts

- `wacli-macos-universal.tar.gz`
- `wacli-linux-amd64.tar.gz`
- `wacli-linux-arm64.tar.gz`
- `wacli-windows-amd64.zip`
- `checksums.txt`
- `checksums-linux-windows.txt`

## Verification

- Release workflow: https://github.com/openclaw/wacli/actions/runs/25933387657
- Homebrew tap workflow: https://github.com/steipete/homebrew-tap/actions/runs/25933490222
- Local gate: `pnpm docs:site && pnpm format:check && pnpm lint && pnpm test && pnpm build && git diff --check`
- Downloaded `wacli-macos-universal.tar.gz` and verified `wacli version` prints `0.9.1`.