github iwe-org/iwe iwe-v0.20.0
v0.20.0

latest releases: iwec-v0.20.0, iwes-v0.20.0
6 hours ago

IWE can now remember across Claude Code sessions: iwe init offers to switch memory on when it finds a .claude/ directory, session transcripts are digested into a queue, and an agent distills each one into your markdown store under the policy your MEMORY.md defines.

One thing to check before upgrading — unknown keys in .iwe/config.toml are now a parse error instead of being silently ignored, so a config with a typo or a stale setting that used to work will stop the LSP server from starting.

iwe

Added

  • iwe internal — hidden commands backing the Claude Code memory integration: enabling memory, session hooks, transcript digests, and the capture queue an agent works through
  • Capture chunks — the raw transcript digests the memory queue serves — live under .iwe/claude-sessions/ at the workspace root (or $IWE_MEMORY_STATE), ignored by git and outside the graph; only the MEMORY.md policy and the sessions/<id> records are store documents
  • iwe init offers to enable Claude memory when a .claude/ directory is present, defaulting to no
  • iwe delete -k <key> — the same key flag retrieve and update take, alongside the existing positional
  • iwe internal claude prompt <init|distill|reflect|distill-agent> prints the instructions the memory plugin's skills and agent follow, so the plugin ships only frontmatter and the text always matches the installed binary
  • iwe docs agent — the policy an agent follows to use this CLI, served by the binary so the published skill never lags the release

Changed

  • iwe init asks a separate question before adding the AGENTS.md section and registering the .mcp.json server, defaulting to no (previously confirming the detected settings wrote both files)
  • The AGENTS.md section iwe init writes explains the graph principles and points at iwe help and iwe docs (previously it listed specific commands and detected store conventions)
  • schema validate warns on stderr when its bindings match no documents (previously a silent exit 0)
  • Unknown keys in .iwe/config.toml are rejected with a parse error (previously silently ignored)

Fixed

  • The unknown projection source error names the fix: frontmatter fields are bare names (type, not $type)

iwes

Changed

  • The server refuses to start when .iwe/config.toml contains unknown keys, reporting the parse error (previously unknown keys were silently ignored)

iwec

Fixed

  • Schemas are read from the project root, so iwe_create and iwe_update validate against .iwe/schemas/ next to .iwe/config.toml (previously the server looked under the library directory and every write failed with a schema-not-found error whenever library.path was set)
Library crates (liwe, diwe)

liwe

Changed

  • MarkdownOptions, DjotOptions, and FormattingOptions reject unknown fields when deserialized (previously unknown keys were silently ignored)

diwe

Added

  • library_path_in — resolves the library directory from a project root and a Configuration

Changed

  • The validate_documents family returns ValidationRun — the reports plus counts of validated documents and distinct schemas (was Vec<KeyReport>)
  • Configuration and its nested option types reject unknown fields when deserialized (previously unknown keys were silently ignored)

Don't miss a new iwe release

NewReleases is sending notifications on new releases.