Skip to content

v0.16.0

Latest

Choose a tag to compare

@gimalay gimalay released this 27 Jul 00:58

The server now watches your project folder and keeps its documents in sync
automatically — edits made by the iwe CLI or any other tool show up without
a restart, while your unsaved editor buffers are left untouched until you save.

iwes

Added

  • The server now watches the project directory and refreshes its in-memory documents when files change on disk — created, edited, or removed — so edits made by the iwe CLI or other tools are picked up without restarting the server.

Changed

  • The server now respects editor ownership of open documents: filesystem changes are applied only to documents that are not open in the editor, and a document is re-read from disk when it is closed (previously the last change won, whether it came from the editor or the disk).

Fixed

  • External file changes are no longer ignored, preventing the server from overwriting on-disk edits with its own stale copy of a document. Previously only file deletions reported by the editor were noticed; creations and edits were dropped.
  • A file changed on disk can no longer overwrite unsaved editor edits, and the server's own save can no longer revert a just-typed buffer — changes to open documents are ignored until the document is closed.
  • Closing a document without saving now discards its unsaved edits from the server's in-memory state (previously they lingered until the next external change).
  • A file renamed on disk by an external tool no longer leaves a stale document under the old name.

iwec

Fixed

  • Server instructions string now lists iwe_query among the available tools (previously omitted).
  • File watching now detects changes reliably when the project path resolves through a symlink (for example a macOS temp directory), where events were previously dropped and the in-memory graph went stale.
Library crates (liwe, diwe)

diwe

Added

  • watcher module — start_watcher and start_poll_watcher watch a project directory and report each change as an FsChange (Update/Remove) to a caller-supplied handler, mapping paths to document keys and reading file contents. Shared by the LSP server and the MCP server.