Repository navigation
Releases: 20syldev/mn
Releases · 20syldev/mn
Release list
1.3.0
Major release for mn — personal dynamic terminal manual.
Updating from 1.1.x installs everything from 1.2.0, 1.2.1 and this release at once.
Changes
- Alternate screen — menus are drawn in one buffered write, with no flicker, and your terminal is given back intact on quit, Ctrl-C, a crash or Ctrl-Z
- Editors, less and ssh run outside it — they use the normal screen and return to the menu when they exit
- Redraw on resize — the menu follows the terminal at once, without a key press, and Connexions re-lays its columns out
- Ctrl-Z works — mn stops and resumes with
fg, and an editor or pager you suspended no longer freezes the terminal - Wizards can always be cancelled — Ctrl-C or
!alone, and the way out is always shown on screen - No dead hotkeys in Config — the letters that did nothing are gone
- Visible filter prompt —
/shows what you type and Escape restores the cursor; Enter on a single match connects, and the footer says so - Help on the normal screen — it stays in the scrollback, and
mn helpalso prints plain text into a pipe - Tall function scripts open in the pager
- Maintenance mode — mn now receives regression and security fixes only
1.2.1
Major release for mn — personal dynamic terminal manual.
Changes
- One key reader for every screen — an arrow key no longer replays as letters (it used to open Delete or quit), and Space no longer counts as Enter
- Shell files written inside a marked block —
~/.bash_aliasesand~/.bash_functionskeep your own lines, a one-time.mn-bakbackup is made, quotes and apostrophes are escaped, and a function named like an alias or a shell keyword can no longer break the file - Private hand-over file — the command to run after mn exits goes through a
mktempfile in the runtime directory, never a fixed path in/tmp - Old connexion rows are hidden — records in the 1.1 format are never shown or completed, so an old password cannot end up as a handle
- Uninstall is explicit — the checklist starts empty, each part is confirmed, and only what mn installed is removed
- Safer plugins — names, versions and content are validated (
foo,foo@1.2,foo@latest), a symlinked plugin is removed as a link, and nothing is fetched on a bad name - Updater that cannot downgrade —
mn updatestages the new tree, refuses an older version and never overwrites the running script in place - Installer hardened — private temporary files, checked downloads, current language, editor and repositories folder kept on a re-run, and a custom editor with shell metacharacters refused
- Validated settings — names, CDN, editor, repositories root and connection IP are checked before use
- Honest feedback — a failed delete or a failed regeneration of the shell files is reported instead of showing a success
- Requires bash 4.1 — documented, and the negative array subscripts that needed 4.3 are gone
1.2.0
Major release for mn — personal dynamic terminal manual.
Changes
- Connexions rebuilt — every entry has a name, a command (
via), a target, a user, aliases, an IP and a description; a column table shows the exact command line of the selected row, withu/Uto pick the user,cfor a command line and/to filter names, aliases and descriptions - Direct connection from the shell —
mn co <name|alias> [user]andmn co -l, with completion of handles and users - Configurable repositories root — asked at install, changed from
mn config, removed on uninstall - Safer data files — records are matched literally, written atomically, kept at mode 600 and sorted on their logical key
- Module hooks in the menu engine — a module can prepare its rows, draw its own header and footer, handle its keys and receive its CLI arguments
- Delete defaults to confirm — and a cancellation is now reported instead of silently returning
- No TUI without a terminal — mn explains itself instead of drawing into a pipe
- Documentation — the connexions format, the repositories root and the engine hooks are documented
- New CDN address — install and update commands now point at
dropr.sylvain.sh
1.1.2
Major release for mn — personal dynamic terminal manual.
Changes
- Function scripts fall back to
~/.local/bin— when/usr/local/binis not writable, scripts are created in the user directory instead of failing silently - sudo only for legacy root-owned scripts — editing goes through
sudoedit(GUI editors get--waitautomatically), deletion throughsudo rm, with a clear error when it fails - Rollback on failed script creation — the entry is removed and no false success is shown, no more ghost functions in the list
- Duplicate names refused when adding an entry — applies to all modules (connections, repos, aliases, functions)
- PATH warning — a notice is shown when the scripts directory is not on your PATH
- Ctrl-C at the sudo password prompt no longer closes the TUI
1.1.1
Major release for mn — personal dynamic terminal manual.
Changes
- Add
mn plugin update— refresh an installed plugin'smn.shin place, no remove-then-reinstall needed - Flexible update source — pull the new version from the CDN by default, or from a URL or local file
- Shell completion for
update— bash and zsh suggest installed plugins and file paths
1.1.0
Major release for mn — personal dynamic terminal manual.
Changes
- Installer rewritten with interactive TUI — language and editor selected with arrow-key pickers
- Local repo detection in
install.sh— copies files from local repo instead of downloading from CDN when run directly from the source directory - Install log saved to
/tmp/with ANSI escape codes stripped for readability - New
checkbox_selectUI component — navigate with arrows, toggle items with space or enter, confirm via dedicated button at the bottom - Uninstaller (
delete.sh) rewritten with checkbox menu — selectively remove Core, Config, Data, or Plugins instead of all-or-nothing - Config → Uninstall uses the same checkbox menu — consistent UX inside and outside the TUI
- sudo hint on permission denied — when
/usr/local/bin/mncannot be removed, the exactsudo rmcommand is shown instead of a silent failure
1.0.9
Major release for mn — personal dynamic terminal manual.
Changes
- Add plugin manager —
mn plugin list,install,remove,info - Plugins loaded and validated at startup — plugins with missing binaries are silently skipped
- Add plugin developer guide in
PLUGINS.md
1.0.8
Medium release for mn — personal dynamic terminal manual.
Changes
- Add bash and zsh shell completions for the
mncommand - Modules and plugins discovered dynamically via their
CLI_ARGSmetadata mn pluginsubcommands completed —list,install,remove,infomn plugin remove <TAB>lists installed plugin namesmn updateinstalls completions to the appropriate system or user directorymn uninstallremoves completions from all possible locations
1.0.7
Major release for mn — personal dynamic terminal manual.
Changes
- Modules self-register with
TYPE,MENU_LABELandPRIORITYmetadata properties - Main menu built dynamically from registered modules sorted by priority
- CLI routing unified via
_route_module—mn docsandmn configno longer hardcoded - Add
_sort_modules_by_priorityand_route_moduleto lib/module.sh - Footer detection simplified using
mod_prop TYPEinstead of looping ALL_MODULES
1.0.6
Medium release for mn — personal dynamic terminal manual.
Changes
- Fix SSH connection to exec directly without bash wrapper and sleep
- Add configurable CDN source via
mn config→[C]andMN_CDNvariable - Switch to manifest-based updates —
mn updatedownloads files from a manifest instead of a hardcoded list - Add distribution manifest listing all distributable files