Skip to content

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 22 Aug 19:10
· 738 commits to main since this release

ManT 0.9.0

ManT 0.9.0 substantially improves native man/mdoc fidelity and parser safety, adds stateless Unicode-safe MCP paging, and advances the pre-stable native protocol to the release-aligned v0.9 family.

Highlights

  • Higher-fidelity native manuals: nested literal displays, tables and vertical spans, mdoc synopsis and reference forms, equations, inline links, punctuation, encoding declarations, and source line structure retain their semantic shape through CLI, TUI, JSON, Markdown, and MCP projections.
  • Auditable roff quality: independent content, structure, CommonMark projection, and renderer-layout ledgers now cover the recorded corpus, with syntax-priority sampling, provenance-backed fixtures, and release-time review workflows.
  • Safer native parser boundary: independent parser sessions can run concurrently, input and expansion work are bounded, repeated .it traps are released correctly, and exact Rust-owned buffers no longer permit truncated UTF-8 reads beyond their allocation.
  • Stateless MCP paging: every successful tool response begins with a mant-page header containing Unicode-scalar offsets and total size. Clients choose maxChars and resume with startChar, without cursor state or UTF-8 splitting. Find and search materialization remain separately bounded.
  • More robust interactive and agent output: linked scope traversal, outline path selection, terminal-safe diagnostics, dynamic document identities, and compact MCP errors consistently preserve useful information without giving untrusted input terminal control.

Breaking changes

  • Native process contracts now use the v0.9 family: for example mant.request/v0.9, mant.query/v0.9, mant.document/v0.9, and mant.catalog/v0.9. Requests using v0.8 discriminators are not accepted by 0.9. Regenerate clients with mant --schema all and discover the exact supported identifiers with mant --protocol-version.
  • MCP pagination is now stateless and character-based. Replace any use of an opaque response cursor with the displayed nextChar value passed as startChar; paging boundaries are Unicode scalar offsets, not byte offsets.
  • mant_search.maxMatches is capped at 100 to bound grouped-match materialization. maxResults for mant_find remains capped at 10,000.

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.9.0-PLATFORM.EXT --repo BryanHeBY/ManT

The native archives include five ManT reference manuals, target-specific CycloneDX SBOMs, portable Sigstore bundles, SHA-256 checksums, and complete applicable license notices. A platform-independent manuals archive remains available for macOS and manual installation workflows.

Full changelog: v0.8.0...v0.9.0