Skip to content

kubefwd-v1.25.16

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Jun 01:50
Immutable release. Only release title and notes can be modified.
e2ccf10

kubefwd v1.25.16

This release modernizes the interactive Terminal UI by moving it onto the Charm v2 library line, hardens API-key startup logging, and rolls up routine dependency and CI maintenance.

Highlights

TUI migrated to Charm v2 (#527, closes #517)

The entire interactive TUI (--tui) has been migrated from the v1 Charm libraries to their v2 equivalents under the charm.land/... module path:

Before After
github.com/charmbracelet/bubbletea v1.3.10 charm.land/bubbletea/v2 v2.0.7
github.com/charmbracelet/lipgloss v1.1.0 charm.land/lipgloss/v2 v2.0.4
github.com/charmbracelet/bubbles v1.0.0 charm.land/bubbles/v2 v2.1.0
github.com/evertras/bubble-table v0.19.2 github.com/evertras/bubble-table v0.22.3

These are distinct, incompatible type systems, so this was a full API migration rather than a version bump. Notable changes handled under the hood:

  • View() returns tea.View - alt-screen and mouse capture moved from the removed tea.WithAltScreen() / tea.WithMouseCellMotion() program options to the AltScreen / MouseMode fields on the returned view, applied on every render path.
  • Keys - tea.KeyMsg is now an interface; all handlers (services, logs, detail, browse, and help) dispatch on the concrete tea.KeyPressMsg.
  • Mouse - tea.MouseMsg split into tea.MouseWheelMsg / tea.MouseClickMsg, with renamed button constants; all wheel-scroll and click-to-focus behavior preserved.
  • Styling - lipgloss.Color is now a function returning image/color.Color; viewport sizing moved to SetWidth() / SetHeight() and option-based construction.

No user-facing behavior changes. All keyboard shortcuts (j/k, Enter, Tab, /, r, b, ?, q), traffic metrics, log streaming, theme switching, and auto-reconnect work exactly as before. The dark/light theme workaround was re-validated under lipgloss v2. Verified on ubuntu + macOS with go build, go vet, golangci-lint (0 issues), and the full test suite.

API-key authentication: docs and safer startup logging (#526)

Follow-up to the API-key auth feature (#508):

  • Security: the API key is now only printed at startup when kubefwd generated it. A user-supplied KUBEFWD_API_KEY is referenced by name and never echoed to logs.
  • Docs: the Authentication sections of openapi.yaml, api-reference.md, and mcp-integration.md were rewritten to cover the Bearer header, KUBEFWD_API_KEY / kubefwd mcp --api-key, the /api/health exemption, and the 401 response.

Dependency updates

  • k8s.io/streaming 0.36.1 -> 0.36.2 (#523)
  • k8s.io/kubectl 0.36.1 -> 0.36.2 (#525)
  • k8s.io/cli-runtime 0.36.1 -> 0.36.2 (#522)
  • golang.org/x/sys 0.45.0 -> 0.46.0 (#518)
  • github.com/txn2/txeh 1.8.0 -> 1.8.1 (#516)
  • github.com/quic-go/quic-go bump (#511)

CI / build

  • codecov/codecov-action 6.0.1 -> 7.0.0 (#521)
  • github/codeql-action 4.36.0 -> 4.36.1 -> 4.36.2 (#512, #520)
  • actions/checkout 6.0.2 -> 6.0.3 (#514)
  • docker/setup-qemu-action 4.0.0 -> 4.1.0 (#513)

Install / upgrade

# Homebrew (macOS / Linux)
brew install txn2/tap/kubefwd
brew upgrade kubefwd

# Or download a binary for your platform from the assets below.

Run it (requires root for /etc/hosts and loopback aliases):

sudo -E kubefwd svc -n <namespace> --tui

Full changelog: v1.25.15...v1.25.16