Add 'kctl-tui update' subcommand that checks GitHub Releases for
new versions and replaces the running binary.
Uses github.com/creativeprojects/go-selfupdate for safe binary
replacement with automatic OS/arch detection.
Supports --verbose flag for detailed update progress logging.
This release adds --help and --version flags, updates dependencies,
improves documentation for Windows support, and refines CI pipelines.
- Add --help and --version flags to main binary
- Update GitHub Actions workflow to latest major versions
- Update Go dependencies to latest versions
- Fix SPEC.md and README.md for current codebase (Windows fully supported)
- Update PLAN.md with roadmap for v0.3.0 and v1.0
- Add release command automation
- SPEC.md: Windows is now a fully supported platform (not secondary)
- SPEC.md: Remove outdated 'manual pane handling' claim for Windows
- SPEC.md: Update non-functional requirements (Linux/macOS/Windows)
- README.md: Remove duplicate 'This downloads...' paragraph
- README.md: Use --namespace instead of -n in k9s examples
The / filter in the list component captured keystrokes after returning
from tmux, showing random text like 'cc' and blocking cursor navigation.
Filtering is not needed for the 3-level context/team/namespace flow.
- Debug fmt.Fprintf calls were always visible in TUI
- Added VerboseLog() to kubeexec package for use by full.go
- All tmux debug output now only shows with --verbose flag
psmux on Windows doesn't handle ; separators when args are passed
individually via exec.Command. Instead of chaining commands with ;,
run each setup command (new-session, set-option, split-window, etc.)
as individual exec.Command calls. Only tmux attach uses ExecProcess
so it properly takes over the terminal.
psmux on Windows doesn't handle ; separators when args are passed
individually via exec.Command. On Windows, build the full tmux
command string and run it through cmd.exe /c instead.
- Remove -- separator from tmux args (psmux on Windows doesn't support it)
- Unknown subcommands now show error + usage (exit 1) instead of starting TUI
- --help now always shows usage and exits (no fallthrough to TUI)
tmux aborts the entire command chain when kill-session fails (no
existing session). This caused 'no current target' error on Linux.
The kill-session is now a separate exec.Command() call before
starting the tmux chain, ignoring any error.