v0.1.2
Install
cargo install mandible
Or download a binary below. Verify with the accompanying .sha256.
This release focuses on transforming the detail pane from flat output into structured documentation, alongside major universality improvements ensuring Mandible remains fully functional in constrained environments—like minimal containers lacking Unicode or color support.
Detail Pane Redesign
- Aligned Columns: Flag descriptions now share a single aligned column, converting ragged prose into a readable parameter table.
- Value Placeholders: Arguments receive their own dedicated column (preventing
--envandlistfrom running together as a single token). This column collapses entirely if no flags in the group take a value. - Original Tool Ordering: Flag groups now preserve the tool's original editorial ordering rather than sorting alphabetically (e.g.,
tarnow opens with "Archive format selection" instead of "Main operation mode"). - Permitted Values Displayed: A flag's accepted values are now explicitly surfaced in the UI (e.g., showing that
--formataccepts exactlygnu, oldgnu, pax, posix, ustar, v7). - Cleaner Typography: Section headings now feature a visual rule (e.g.,
FLAGS ─────) for better anchoring. The usage signature block no longer redundantly repeats the tool's name, and padding has been added to prevent text from sitting flush against terminal borders.
Universality & Environment Support
- Robust ASCII Fallback: Every UI glyph now has an ASCII fallback, automatically chosen from the locale or forced via
MANDIBLE_ASCII=1. This prevents broken rendering (tofu blocks) in non-UTF-8 environments. This is enforced by a test that asserts no cell contains a non-ASCII symbol during fallback. - Environment-Aware Styling: Setting
TERM=dumbor piping output to a non-terminal stdout now correctly strips color escapes. - Formalized Rendering Policy: Added spec §9.2, which dictates that rendering capabilities must be detectable (permanently ruling out requirements like Nerd Fonts) and must degrade gracefully.
- Wordmark: Running
mandible mandiblenow renders an animated wordmark, redrawn in place so it stays in scrollback (skipped if piped or if the terminal lacks block element support).
Controls & Provenance UI
- Status Row Overhaul: UI controls are now anchored to the left of the status row, with provenance information on the right.
- Dynamic Status Messages: Status messages now expire. Previously, copying a flag with
yleftcopied: <command>in the footer indefinitely, masking keybinding hints for the rest of the session. - Help Overlay: Reorganized into logical categories (MOVE / SEARCH / ACTIONS), padded for readability, and purged of stale keybinding entries.
- Streamlined Provenance: The repetitive per-command footer has been removed. Framework metadata has moved to the tree pane title, and low-confidence parse scores (e.g.,
findscoring 0.11) are now explicitly surfaced.
Fixed
- Search Modes Clarified: Name-mode search now strictly matches command names. Flag spellings have been moved to the alternative mode, now explicitly labeled
everything. This fixes confusing behaviors where a command surfaced in search only because a hidden flag contained the search string. - Scroll Boundaries: Fixed a bug where holding the down arrow on a short description would scroll the text completely off the top of the pane.
- Formatting Artifacts: Value placeholders are no longer italicized, avoiding rendering artifacts on terminals that ignore or mishandle italic modifiers.
CI & Infrastructure
- Sharded PATH Sweeps: The executable sweep now runs in 16 shards and logs tools immediately before and after probing. If a runner hangs, the exact blocking tool is clearly identified.
- Stable Asset URLs: Release assets now include version-less copies (e.g.,
mandible-<target>.tar.gz) to ensure automated download links remain unbroken across releases. - Auditing: Added
cargo-denychecks for advisories, licenses, bans, and sources.