Releases: sarub0b0/kubetui
v1.9.0
New Features
-
Runtime customization of pod table columns (#779)
Customize which columns are shown in the pod table while the app is running.
Press t to open the column selection dialog, use Space/Enter to toggle visibility, and J/K to reorder columns.
Required columns likeNAME
are always visible and cannot be deselected. -
Column presets for pod view (#783)
Define reusable column presets inconfig.yaml
underpod.column_presets
.
Load a preset at startup with--pod-columns-preset
.
Optionally, set a default preset withpod.default_preset
to apply automatically when no CLI option is provided.
Priority (highest to lowest):--pod-columns
--pod-columns-preset
config.yaml default_preset
- built-in default
-
New UI component: CheckList
Supports multi-selection, required items, reordering, and theming.
Used in the pod column selection dialog. -
Enum-based PodColumn
Switched from string-based to a type-safeenum
.
AddedFromStr
parsing, sorting, hashing, and improved overall safety and maintainability.
Improvements & Refactor
- Extracted shared column building logic into
convert_columns
. - Improved deduplication logic to preserve user-defined column order.
- Clarified CLI help text and updated README instructions.
- Added footer to the pod column dialog showing available key bindings:
[Space/Enter] to toggle, [J/K] to move.
Documentation
- Expanded README with details and usage examples for column presets.
- Added a help dialog section explaining runtime customization of pod columns.
Fixes
- Fixed an issue where duplicate columns could appear in the pod view.
- Updated the sample config: reordered columns and added the IP column for better defaults.
Dependencies
- fix(deps): update rust crate clap to v4.5.40 by @renovate in #778
- fix(deps): update rust crate arboard to v3.6.0 by @renovate in #782
- fix(deps): update rust crate tokio to v1.46.0 by @renovate in #784
- fix(deps): update rust crate tokio to v1.46.1 by @renovate in #785
- fix(deps): update rust crate kube to v1 by @renovate in #772
Full Changelog: v1.8.1...v1.9.0
v1.8.1
Fixed
- Updated
README.md
to document the--pod-columns
feature introduced in v1.8.0.- Added usage examples for
--pod-columns
. - Clarified behavior of the
full
keyword and requiredName
column.
- Added usage examples for
- No functional changes to the application.
What's Changed
Full Changelog: v1.8.0...v1.8.1
v1.8.0
Added
--pod-columns
flag to customize displayed pod columns (name,status,age
, etc.).- Support for
full
keyword to show all available columns. - ZSH/Bash completion for
--pod-columns
. - Panic hook logging for better error traceability.
Fixed
- Better error handling in internal column lookup logic.
Dependencies
- Updated crates:
flate2
,clap
,tokio
,bitflags
,ctrlc
.
What's Changed
- fix(deps): update rust crate clap to v4.5.38 by @renovate in #768
- fix(deps): update rust crate ctrlc to v3.4.7 by @renovate in #769
- fix(deps): update rust crate bitflags to v2.9.1 by @renovate in #770
- fix(deps): update rust crate tokio to v1.45.1 by @renovate in #773
- fix(deps): update rust crate clap to v4.5.39 by @renovate in #774
- fix(deps): update rust crate flate2 to v1.1.2 by @renovate in #775
- Add customizable pod columns via --pod-columns flag by @sarub0b0 in #776
Full Changelog: v1.7.1...v1.8.0
v1.7.1
v1.7.1 - What's Changed
Fixes
- Zsh completion: Add
autoload -Uz is-at-least
to fix_kubetui:3: command not found: is-at-least
error
#767
Dependency Updates
- clap: Updated to v4.5.35 → v4.5.36 → v4.5.37
#753, #759, #762 by @renovate - flate2: Updated to v1.1.1
#754 by @renovate - arboard: Updated to v3.5.0
#755 by @renovate - ctrlc: Updated to v3.4.6
#756 by @renovate - tokio: Updated to v1.44.2 → v1.45.0
#757, #764 by @renovate - anyhow: Updated to v1.0.98
#760 by @renovate - chrono: Updated to v0.4.41
#763 by @renovate
Maintenance
Full Changelog: v1.7.0...v1.7.1
v1.7.0
New Features
- Added shell completion support for bash and zsh (#745)
Dependency Updates
Major Updates
Other Updates
- Updated rust crate kube to 0.99.0 (#740)
- Updated rust crate http to v1.3.0 and v1.3.1 (#737)
- Updated rust crate tokio to v1.44.1 (#741)
- Updated rust crate once_cell to v1.21.1, v1.21.2, v1.21.3 (#742, #752)
- Updated rust crate async-trait to v0.1.88 (#744)
- Updated rust crate log to v0.4.27 (#747)
- Updated rust crate clap to v4.5.33, v4.5.34 (#748)
- Routine dependency lock file maintenance (#743, #746, #751)
Full Changelog: v1.6.2...v1.7.0
v1.6.2
v1.6.1
What's Changed
Fixes
- fix: Improve thread management to prevent unwanted terminal output on exit in #732
Dependencies
- fix(deps): update rust crate serde_json to v1.0.135 by #687
- fix(deps): update rust crate async-trait to v0.1.85 by #686
- fix(deps): update rust crate clap to v4.5.24 by #688
- fix(deps): update rust crate thiserror to v2.0.10 by #690
- fix(deps): update rust crate tokio to v1.43.0 by #689
- fix(deps): update rust crate clap to v4.5.25 by #691
- fix(deps): update rust crate clap to v4.5.26 by #692
- fix(deps): update rust crate bitflags to v2.7.0 by #693
- fix(deps): update rust crate thiserror to v2.0.11 by #694
- fix(deps): update rust crate log to v0.4.24 by #695
- fix(deps): update rust crate log to v0.4.25 by #697
- fix(deps): update rust crate bitflags to v2.8.0 by #698
- chore(deps): lock file maintenance by #699
- fix(deps): update rust crate serde_json to v1.0.136 by #700
- fix(deps): update rust crate serde_json to v1.0.137 by #701
- fix(deps): update rust crate clap to v4.5.27 by #702
- chore(deps): lock file maintenance by #703
- fix(deps): update rust crate serde_json to v1.0.138 by #705
- fix(deps): update rust crate async-trait to v0.1.86 by #706
- fix(deps): update rust crate bytes to v1.10.0 by #707
- fix(deps): update rust crate clap to v4.5.28 by #708
- fix(deps): update rust crate once_cell to v1.20.3 by #709
- fix(deps): update rust crate strum to 0.27.0 by #710
- fix(deps): update rust crate clap to v4.5.29 by #711
- fix(deps): update rust crate strum to v0.27.1 by #713
- fix(deps): update rust crate clap to v4.5.30 by #714
- fix(deps): update rust crate anyhow to v1.0.96 by #715
- fix(deps): update rust crate serde to v1.0.218 by #716
- fix(deps): update rust crate serde_json to v1.0.139 by #717
- fix(deps): update rust crate log to v0.4.26 by #718
- fix(deps): update rust crate flate2 to v1.1.0 by #719
- fix(deps): update rust crate clap to v4.5.31 by #720
- fix(deps): update rust crate chrono to v0.4.40 by #721
- chore(deps): lock file maintenance by #722
- fix(deps): update rust crate bitflags to v2.9.0 by #723
- chore(deps): update rust crate rstest to 0.25.0 by #724
- fix(deps): update rust crate anyhow to v1.0.97 by #725
- fix(deps): update rust crate async-trait to v0.1.87 by #726
- fix(deps): update rust crate serde_json to v1.0.140 by #727
- fix(deps): update rust crate thiserror to v2.0.12 by #728
- fix(deps): update rust crate indoc to v2.0.6 by #729
- fix(deps): update rust crate bytes to v1.10.1 by #730
- fix(deps): update rust crate tokio to v1.44.0 by #731
- fix(deps): update rust crate serde to v1.0.219 by #733
- fix(deps): update rust crate once_cell to v1.21.0 by #734
- fix(deps): update rust crate clap to v4.5.32 by #735
Full Changelog: v1.6.0...v1.6.1
v1.6.0
What's Changed
Features
-
feat(clipboard): copy to both primary and clipboard selections on linux by #683
-
Add support for pretty-printed JSON logs by #674
-
(beta) Add support for customization via configuration file by #573
Chore
- chore(api_resources): rename list components to api in #676
Dependencies
- fix(deps): update rust crate thiserror to v2.0.8 by @renovate in #675
- fix(deps): update rust crate serde_json to v1.0.134 by @renovate in #677
- fix(deps): update rust crate thiserror to v2.0.9 by @renovate in #678
- fix(deps): update rust crate anyhow to v1.0.95 by @renovate in #681
- fix(deps): update kube-rs (kube, kube-runtime, k8s-openapi) by @renovate in #679
- fix(deps): update rust crate serde to v1.0.217 by @renovate in #682
- chore(deps): update rust crate rstest to 0.24.0 by @renovate in #684
- fix(deps): update rust crate async-trait to v0.1.84 by @renovate in #685
Full Changelog: v1.5.4...v1.6.0
v1.5.4
What's Changed
- docs(readme): add installation for Arch Linux by @orhun in #575
- Change ANSI Color Reset Sequence Handling from Style::reset() to Style::default() in ansi_color.rs in #603
- chore(config): migrate renovate config in #659
- chore(clipboard): integrate arboard for clipboard handling in #660
- feat(clipboard): update arboard features for wayland in #673
update packages
- fix(deps): update rust crate kube to v0.93.1 in #558
- fix(deps): update rust crate clap to v4.5.10 in #559
- chore(deps): update rust crate tokio to v1.39.1 in #560
- fix(deps): update rust crate clap to v4.5.11 in #561
- chore(deps): update rust crate tokio to v1.39.2 in #562
- fix(deps): update rust crate serde_json to v1.0.121 in #563
- fix(deps): update rust crate bytes to v1.7.0 in #564
- fix(deps): update rust crate clap to v4.5.12 in #565
- fix(deps): update rust crate clap to v4.5.13 in #566
- fix(deps): update all dependencies in #567
- fix(deps): update rust crate regex to v1.10.6 in #568
- fix(deps): update rust crate flate2 to v1.0.31 in #569
- chore(deps): update rust crate rstest to 0.22.0 in #570
- fix(deps): update rust crate ratatui to 0.28.0 in #571
- fix(deps): update rust crate serde to v1.0.205 in #572
- fix(deps): update rust crate clap to v4.5.14 in #574
- fix(deps): update rust crate clap to v4.5.15 in #577
- fix(deps): update rust crate serde to v1.0.206 in #578
- fix(deps): update rust crate serde_json to v1.0.123 in #579
- fix(deps): update rust crate serde_json to v1.0.124 in #580
- fix(deps): update rust crate serde to v1.0.207 in #581
- fix(deps): update rust crate ctrlc to v3.4.5 in #582
- fix(deps): update rust crate serde_json to v1.0.125 in #583
- fix(deps): update rust crate serde to v1.0.208 in #584
- chore(deps): lock file maintenance in #585
- fix(deps): update rust crate clap to v4.5.16 in #586
- chore(deps): update rust crate tokio to v1.39.3 in #587
- fix(deps): update rust crate flate2 to v1.0.32 in #588
- chore(deps): lock file maintenance in #589
- fix(deps): update rust crate serde_json to v1.0.127 in #590
- fix(deps): update rust crate serde to v1.0.209 in #591
- fix(deps): update rust crate flate2 to v1.0.33 in #592
- fix(deps): update rust crate ratatui to v0.28.1 in #593
- fix(deps): update rust crate kube to 0.94.0 in #595
- fix(deps): update all dependencies in #597
- fix(deps): update rust crate serde to v1.0.210 in #598
- chore(deps): update rust crate tokio to v1.40.0 in #599
- fix(deps): update kube-rs (kube, kube-runtime, k8s-openapi) in #596
- fix(deps): update rust crate unicode-segmentation to v1.12.0 in #601
- fix(deps): update rust crate bytes to v1.7.2 in #602
- fix(deps): update rust crate unicode-width to 0.2.0 in #604
- fix(deps): update rust crate clap to v4.5.18 in #605
- fix(deps): update rust crate thiserror to v1.0.64 in #606
- fix(deps): update rust crate async-trait to v0.1.83 in #607
- fix(deps): update rust crate flate2 to v1.0.34 in #609
- chore(deps): lock file maintenance in #610
- chore(deps): update rust crate rstest to 0.23.0 in #611
- fix(deps): update rust crate regex-syntax to v0.8.5 in #612
- fix(deps): update rust crate once_cell to v1.20.1 in #613
- fix(deps): update rust crate regex to v1.11.0 in #614
- fix(deps): update rust crate clap to v4.5.19 in #615
- fix(deps): update rust crate futures to v0.3.31 in #617
- fix(deps): update rust crate once_cell to v1.20.2 in #618
- chore(deps): update actions/checkout digest to eef6144 in #619
- fix(deps): update rust crate clap to v4.5.20 in #620
- fix(deps): update rust crate kube to 0.96.0 in #621
- fix(deps): update rust crate serde_json to v1.0.129 in #622
- chore(deps): lock file maintenance in #623
- fix(deps): update rust crate anyhow to v1.0.90 in #624
- fix(deps): update rust crate serde_json to v1.0.130 in #625
- fix(deps): update rust crate serde_json to v1.0.131 in #626
- fix(deps): update rust crate serde_json to v1.0.132 in #627
- chore(deps): update actions/checkout digest to 11bd719 in #635
- fix(deps): update all dependencies in #634
- fix(deps): update rust crate serde to v1.0.213 in #632
- fix(deps): update rust crate regex to v1.11.1 in #637
- chore(deps): update rust crate tokio to v1.41.0 in #633
- fix(deps): update rust crate bytes to v1.8.0 in #631
- fix(deps): update rust crate ratatui to 0.29.0 in #630
- fix(deps): update rust crate serde to v1.0.214 in #640
- chore(deps): lock file maintenance in #641
- fix(deps): update rust crate thiserror to v1.0.66 in #642
- fix(deps): update rust crate anyhow to v1.0.92 in #643
- fix(deps): update rust crate thiserror to v1.0.67 in #644
- fix(deps): update rust crate thiserror to v1.0.68 in #645
- fix(deps): update all dependencies in #646
- fix(deps): update rust crate thiserror to v1.0.69 in #648
- fix(deps): update rust crate serde to v1.0.215 in #649
- fix(deps): update rust crate clap to v4.5.21 in #650
- fix(deps): update rust crate flate2 to v1.0.35 in #651
- fix(deps): update rust crate serde_json to v1.0.133 in #653
- chore(deps): update rust crate mockall to v0.13.1 in #654
- chore(deps): lock file maintenance in #656
- fix(deps): update rust crate bytes to v1.9.0 in #657
- chore(deps): lock file maintenance in #658
- fix(deps): update rust crate kube to 0.97.0 in #655
- fix(deps): update rust crate thiserror to v2 in #647
- fix(deps): update rust crate thiserror to v2.0.4 in #661
- fix(deps): update rust crate anyhow to v1.0.94 in #663
- fix(deps): update rust crate clap to v4.5.22 in #664
- fix(deps): update rust crate http to v1.2.0 in #665
- chore(deps): update rust crate tokio to v1.42.0 in #662
- fix(deps): update rust crate clap to v4.5.23 in #666
- fix(deps): update rust crate thiserror to v2.0.5 in #667
- fix(deps): update rust crate thiserror to v2.0.6 in #668
- fix(deps): update rust crate chrono to v0.4.39 in https://github.com/sarub0b0/kubetui/pul...
v1.5.3
features
-
feat(ui): Add support for toggling split layout direction in #548
fixes
- fix(kube/log): prevent removal of leading spaces in container logs in #544
update packages
- fix(deps): update rust crate thiserror to v1.0.61 in #514
- fix(deps): update rust crate anyhow to v1.0.85 in #515
- fix(deps): update rust crate anyhow to v1.0.86 in #516
- chore(deps): update actions/checkout digest to a5ac7e5 in #517
- fix(deps): update rust crate ratatui to v0.26.3 in #518
- chore(deps): lock file maintenance in #519
- fix(deps): update rust crate serde to v1.0.203 in #520
- chore(deps): update rust crate rstest to 0.20.0 in #521
- chore(deps): update rust crate tokio to v1.38.0 in #522
- chore(deps): update rust crate rstest to 0.21.0 in #523
- fix(deps): update rust crate unicode-width to v0.1.13 in #524
- fix(deps): update rust crate clap to v4.5.5 in #526
- fix(deps): update rust crate clap to v4.5.6 in #528
- chore(deps): lock file maintenance in #527
- fix(deps): update all dependencies in #529
- fix(deps): update rust crate clap to v4.5.7 in #530
- fix(deps): update rust crate kube to 0.92.0 in #531
- chore(deps): update actions/checkout digest to 692973e in #532
- chore(deps): lock file maintenance in #533
- fix(deps): update rust crate kube to v0.92.1 in #534
- fix(deps): update rust crate strum to v0.26.3 in #535
- fix(deps): update rust crate serde_json to v1.0.118 in #537
- fix(deps): update rust crate ratatui to 0.27.0 in #536
- chore(deps): lock file maintenance in #538
- fix(deps): update rust crate log to v0.4.22 in #539
- fix(deps): update rust crate clap to v4.5.8 in #541
- fix(deps): update rust crate serde_json to v1.0.119 in #542
- fix(deps): update rust crate serde_json to v1.0.120 in #545
- fix(deps): update rust crate serde to v1.0.204 in #546
- fix(deps): update rust crate async-trait to v0.1.81 in #549
- fix(deps): update rust crate clap to v4.5.9 in #550
- fix(deps): update rust crate thiserror to v1.0.62 in #551
- fix(deps): update rust crate bytes to v1.6.1 in #552
- chore(deps): update rust crate tokio to v1.38.1 in #553
- fix(deps): update rust crate thiserror to v1.0.63 in #554
- chore(deps): lock file maintenance in #555
- chore(deps): update rust crate mockall to 0.13.0 in #556
- fix(deps): update rust crate kube to 0.93.0 in #557
Full Changelog: v1.5.2...v1.5.3