Skip to content

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 31 Aug 07:50
· 508 commits to main since this release

ManT 0.10.0

ManT 0.10.0 gives people and agents one addressable semantic outline across native man/mdoc and Markdown, makes focused multi-document exploration substantially more precise, and hardens local source, link, and terminal boundaries across Linux, macOS, and Windows.

Highlights

  • Explore documentation from a compact semantic summary instead of materializing every option. The default outline reports section topology and role-aware entry counts; callers can expand all entries, selected kinds, or one returned section/entry root, then reuse an exact path or ID for focused reading.
  • Address commands, options, markers, operands, configuration keys, environment variables, variables, values, and generic terms through one source-neutral semantic index. Complete Readline names, nested option/value relationships, authored forms, ambiguity candidates, and content-addressed collision IDs remain observable without lossy first-word aliases.
  • Search and explain several linked documents with one global result model. Search offsets, totals, continuation cursors, and ordinals are authoritative across the complete breadth-first scope; prose-only explain probes retain their document, outline node, and line, while true misses provide executable outline and search guidance in CLI and MCP vocabulary.
  • Use the same discovery controls from MCP as from the native CLI. mant_find now supports regular expressions, case policy, and result offsets; mant_search exposes visible/generated-Markdown scope and global offsets; all five read-only tools retain stateless Unicode-scalar presentation paging.
  • Navigate richer outlines in the TUI without sacrificing density. Compact entry labels expand to complete authored forms on demand, whole-tree label changes retain the selected viewport row, confirmed search state survives dismissal, and external links cross the host boundary only as validated ExternalUri values.
  • Rely on more faithful native manuals. This release preserves shared mdoc option descriptions, compact .TP alias groups, headless indented continuations, explicit .Tg targets, distinct tagged definitions, and inline styling/spacing semantics without merging unrelated prose.
  • Author complete semantic Markdown libraries. Explicit mant:entries declarations now support every semantic role, strictly formed negated dash options such as !--reloadEnvironment, full Windows/PowerShell environment-variable forms, and deterministic Markdown projection without accidental delimiter or mailto corruption.
  • Harden local maintenance and activation boundaries. Managed source roots and inventories are verified, archive extraction writes remain bounded, Windows Git updates avoid unreliable blob-filter hydration, offline doctor output distinguishes local consistency from remote freshness, URI components and decoded mailboxes are structurally validated, and rejected targets remain visible but inert.
  • Publish crate versions independently. This product release selects mant-ir 0.10.0, mant-protocol 0.10.0, mant-sources 0.9.2, mant-engine 0.10.0, mant-ui 0.10.0, and mant 0.10.0; unchanged libmandoc-rs 0.9.1 remains the compatible native parser dependency.

Breaking changes

  • Structured clients must move from the v0.9 native family to mant.request/v0.10, mant.query/v0.10, mant.document/v0.10, and the related v0.10 discriminators. Regenerate schemas with mant --schema all; v0.9 request objects are rejected by the closed v0.10 boundary.
  • Replace the removed --outline=entries|sections|options forms with --outline plus --outline-entries none|summary|all|KINDS. Use --outline-root SELECTOR to expand one returned section or semantic entry.
  • Outline detail in request JSON and MCP is replaced by the tagged entries projection and optional root. Search/excerpt consumers must use the new nested entry paths and globally authoritative scope-search pagination fields.
  • Generated semantic identities now use complete recognized names, role-qualified namespaces, and content-addressed collision suffixes. Do not retain inferred IDs across an upstream document change; rediscover the current outline and reuse a path or ID from that response.
  • mant-ui embedding callbacks receive a validated &ExternalUri instead of an unclassified &str. Hosts should decide whether to open the provided HTTP(S)/mailto value without constructing unchecked targets.
  • The pre-1.0 Rust crates with changed public contracts advance to 0.10.0. Update dependent manifests to the explicit compatible requirements shown above; mant-sources remains on its independent compatible 0.9.2 line and libmandoc-rs remains at 0.9.1.

Install or update

Unix:

curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/BryanHeBY/ManT/main/scripts/install.sh | sh

Windows PowerShell:

irm https://raw.githubusercontent.com/BryanHeBY/ManT/main/scripts/install.ps1 | iex

Verify a release artifact

gh attestation verify mant-0.10.0-linux-x64.tar.gz --repo BryanHeBY/ManT

The release provides native Linux x64, Linux arm64, and Windows x64 archives, a platform-independent bundle of all five ManT reference manuals, target-specific CycloneDX SBOMs, portable Sigstore bundles and tagged-build provenance, SHA-256 checksums, and complete applicable license notices. macOS remains available through Cargo or a source build until signed and notarized native archives are available.

Full changelog: v0.9.1...v0.10.0