Skip to content

v0.11.0

Latest

Choose a tag to compare

@gausejakub gausejakub released this 26 Aug 18:58

What's Changed

MCP server — use vimail from AI clients

  • vimail mcp — a Model Context Protocol server on stdio for Claude Code, Claude Desktop, and other local AI clients. Reads (list_accounts, list_folders, list_messages, read_message, search_messages) are served from the local cache and never open IMAP connections. (#31)
  • Write toolssave_draft, delete_draft, mark_read, delete_message (Trash only) and an explicit sync tool; writes go through the same offline queue as the TUI. mark_read/delete_message take a uids batch. (#32, #39)
  • Mail review in two callslist_recent_messages scans a time window across every account; read_messages reads the selected bodies as a batch without marking them read. (#41)
  • Sending is opt-insend_email exists only with [mcp] allow_send = true; otherwise it is not registered at all. (#33)
  • Safe next to the TUI — queued operations run exactly once across processes, account syncs take a cross-process lock, and the TUI refreshes itself when the MCP process changes the cache. (#30, #37, #40)

Themes

  • cliamp (Winamp-style black/green) and omarchy (follows the current Omarchy palette, ANSI fallback). Every theme now passes a WCAG contrast gate. (#26)

Compose editor (Vim)

  • Operators follow real Vim motion classes (dw, cw, d0, dF, …); c{motion} + typing undoes in one step. (#21)
  • V + d deletes whole lines and pastes linewise. (#42)
  • Count prefixes on editing commands: 2dd, 3x, 3J, 2p, >>, <<. (#23)
  • / ? wrap correctly on the cursor line; n/N keep the search direction. (#24)

Reliability fixes

  • Failed offline operations stay retryable, with exponential backoff; mark-read failures are no longer reported as success. (#28, #37)
  • One recovery sync per folder on stale-UID bursts instead of one per message. (#29)
  • Search deduplicates by Message-ID, keeps real folder/UID handles for label copies, and searches encrypted bodies correctly. (#38)
  • MCP deletes use the server's real Trash mailbox; stale IMAP connections are replaced before batched writes; large deletes get per-chunk deadlines. (#40)
  • Log rotation and 3-day retention are enforced during long sessions; the async logger is race-free. (#19, #20)

Security

  • Go 1.26.6 and golang.org/x/net v0.58.0 in both modules — govulncheck clean. (#17)

Project

  • CHANGELOG.md introduced; CI now enforces the standalone pkg/vimtea suite. (#18, #25)
  • The editor module is tagged separately as pkg/vimtea/v0.2.0.

Full Changelog: v0.10.4...v0.11.0