v0.9.1

Michael-A-Kuykendall/shimmyv0.9.1May 15, 2026by github-actions[bot]

AI Summary

This release focuses on improving account configuration handling, lock acquisition logic, and media path sanitization to prevent data corruption and security issues.

Key Highlights

  • Rejects invalid account configurations before saving
  • Sanitizes path components to prevent injection attacks
  • Improved handling of lock waits and file permissions

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`.