github iwe-org/iwe iwe-v0.14.0
v0.14.0

latest releases: iwec-v0.14.0, iwes-v0.14.0
7 hours ago

iwe

Added

  • docs subcommand — prints the embedded query language, configuration, and document schema references (iwe docs query, iwe docs config, iwe docs schema); bare iwe docs lists the topics.
  • init now fits the configuration to the existing files instead of writing a fixed template — it detects the library directory, source format, link style and path conventions, date formats, key naming, search language, and the markdown formatting tokens, and labels every value detected, assumed, or overridden.
  • init measures how many files iwe normalize would rewrite under both the detected settings and the iwe defaults, and reports the two side by side before writing anything.
  • init flags: --auto (-y) writes without prompting, --dry-run prints the proposal and writes nothing, --defaults keeps the old fixed template, --json emits a machine-readable report.
  • init per-setting overrides applied on top of detection: --library, --link-format, --refs-extension, --format, --date-format.
  • init reports findings that map to no setting — CRLF endings, setext headers, embeds and callouts, tag styles, frontmatter fields, duplicate titles, filename case collisions, and unresolved links.
  • init can add an <!-- iwe --> section to AGENTS.md describing the graph's conventions and register the iwec MCP server in .mcp.json, offered when the directory already shows signs of agent use; the files are only written after an interactive confirmation — otherwise the snippets are printed instead.

Changed

  • squash keeps the source document's YAML frontmatter in its output (previously dropped).
  • init at a terminal lists every setting with the detected value, marks the rows where detection differs from the defaults, and asks one question: write the detected settings or the defaults; with no terminal attached it behaves as --auto (previously it always wrote the fixed template with no output).
  • init writes each detected value with a comment citing its evidence, and emits configuration sections in a stable order (previously the generated file's section order varied between runs).
  • init sets the link_type of the generated extract, extract_all, and link actions to the chosen link format (was always markdown).
  • init exits 2 when .iwe already exists and reports it on stderr (was: exit 0 with a message only visible under --verbose).

Fixed

  • Processing a document with an indented HTML block no longer crashes.

iwes

Fixed

  • Opening a document with an indented HTML block no longer crashes the server.

iwec

Changed

  • iwe_squash keeps the document's YAML frontmatter in its output (previously dropped).

Fixed

  • Reading a document with an indented HTML block no longer crashes the server.

liwe

Added

  • Graph document-index helpers: has_key, refresh_ref_text, reindex_keys, rebuild_indexes, raw_metadata, get_document_references_to, and root_section_keys; DocumentReference { source_key, source_title } names a document that links to another.
  • Tree::new_generated, Tree::with_line_range_generated, and Tree::with_new_ids build trees with freshly-allocated node ids.
  • frontmatter_from_str, frontmatter_to_string, and the Frontmatter type alias for parsing and rendering document frontmatter.

Changed

  • Key is backed by Arc<str> and read through as_str() (was a public relative_path: Arc<String> field), and gains string-based Serialize / Deserialize.

Fixed

  • Reading a document with an indented HTML block no longer panics; the block is dropped as before.

Don't miss a new iwe release

NewReleases is sending notifications on new releases.