Highlights
Node tab
A new Node tab (press 5) lists cluster nodes with status, roles, age, and version. It includes a detail pane for the selected node, customizable columns (runtime dialog / --node-columns / presets), label columns, and column-aware filtering. (#920, #972, #974, #975, #979, #983, #985)
Column-aware filtering (Pod / Node / Config / Network)
The table filter is now column-aware across all aggregate views: COL: to include, !COL: to exclude, label: applied server-side, and bare values match NAME. Terms on hidden columns become inactive (kept, not applied), the title shows a [position/shown (total)] count (e.g. [1/2 (3)]) so you can see how many rows the filter hides, and ? opens a per-tab filter help dialog. (#980, #982, #986, #988, #989, #991, #992, #997, #999)
Label columns (Pod / Node / Config / Network)
Register Kubernetes labels as table columns via label_columns in the config file. Registered labels also become valid filter columns and column-dialog entries. (#975, #993, #1002, #1003)
Log query: multi-namespace partial success
When a log query targets multiple namespaces and the resource is missing in some of them, the remaining namespaces keep streaming logs; missing ones surface as inline [kubetui] notices instead of failing the whole query. (#1004)
Fixes
- Force exec auth plugins non-interactive so plugin stderr can't corrupt the TUI (#987)
- Keep all columns visible when the pane is too narrow (#976)
- Apply theme to the pod log-query and node filter help dialogs (#984)
- URL-encode user-typed label selectors (#996)
- Clear filter state on filter cancel and drive the (total) indicator by filter state
Internal / Refactor
- Extract a shared parse_table_filter core used by all tabs (#991)
- Node column registry single-source-of-truth (#995)
- Apply nightly rustfmt (#971)
Documentation
- Overhaul the README for the new features, and document the OSC52 clipboard mode that shipped in v1.12.0 (#1006)
Dependencies
- Numerous dependency updates via Renovate
Full Changelog: v1.13.0...v1.14.0