v0.9.0
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
.ittraps 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-pageheader containing Unicode-scalar offsets and total size. Clients choosemaxCharsand resume withstartChar, 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.9family: for examplemant.request/v0.9,mant.query/v0.9,mant.document/v0.9, andmant.catalog/v0.9. Requests using v0.8 discriminators are not accepted by 0.9. Regenerate clients withmant --schema alland discover the exact supported identifiers withmant --protocol-version. - MCP pagination is now stateless and character-based. Replace any use of an opaque response cursor with the displayed
nextCharvalue passed asstartChar; paging boundaries are Unicode scalar offsets, not byte offsets. mant_search.maxMatchesis capped at 100 to bound grouped-match materialization.maxResultsformant_findremains capped at 10,000.
Install or update
Unix:
curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/BryanHeBY/ManT/main/scripts/install.sh | shWindows PowerShell:
irm https://raw.githubusercontent.com/BryanHeBY/ManT/main/scripts/install.ps1 | iexVerify a release artifact
gh attestation verify mant-0.9.0-PLATFORM.EXT --repo BryanHeBY/ManTThe 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