Skip to content

Releases: sarub0b0/kubetui

v1.9.0

06 Jul 12:15
Compare
Choose a tag to compare

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 like NAME are always visible and cannot be deselected.

    Demo video 1: Toggle column visibility at runtime
    dynamic-column-selection

    Demo video 2: Change column order at runtime
    dynamic-column-selection-order

  • Column presets for pod view (#783)
    Define reusable column presets in config.yaml under pod.column_presets.
    Load a preset at startup with --pod-columns-preset.
    Optionally, set a default preset with pod.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-safe enum.
    Added FromStr 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

08 Jun 17:45
Compare
Choose a tag to compare

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 required Name column.
  • No functional changes to the application.

What's Changed

Full Changelog: v1.8.0...v1.8.1

v1.8.0

08 Jun 17:25
Compare
Choose a tag to compare

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

10 May 06:00
Compare
Choose a tag to compare

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

Maintenance


Full Changelog: v1.7.0...v1.7.1

v1.7.0

29 Mar 06:20
Compare
Choose a tag to compare

New Features

  • Added shell completion support for bash and zsh (#745)

Dependency Updates

Major Updates

  • Upgraded rust crate dirs to v6 (#696)
  • Upgraded rust crate nom to v8 (#704)

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

11 Mar 14:16
Compare
Choose a tag to compare

What's Changed

  • fix(app): propagate shutdown reason in #736

Full Changelog: v1.6.1...v1.6.2

v1.6.1

11 Mar 13:35
Compare
Choose a tag to compare

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

06 Jan 16:59
Compare
Choose a tag to compare

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

    画面収録 2025-01-07 1 14 41
  • (beta) Add support for customization via configuration file by #573

    スクリーンショット 2025-01-07 1 20 56

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

15 Dec 14:10
Compare
Choose a tag to compare

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...
Read more

v1.5.3

23 Jul 11:55
Compare
Choose a tag to compare

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