← Changelog
v0.20.0August 10, 2026

Zapkube lands on Linux

Zapkube lands on Linux: this release ships the first Linux build with full packaging, desktop integration, and self-update — alongside runtime kubeconfig reload, a shortcuts reference in Settings, and a big overview performance pass.

🐧 Linux Support

  • Native Linux build — Zapkube now runs on Linux (GTK4, X11 and Wayland), with platform-correct window chrome, menus, and modifier labels (Ctrl/Alt instead of ⌘/⌥).
  • Packages published on every release.deb, .rpm, AppImage, and tarball artifacts are built and published automatically, with proper package metadata and post-install desktop integration (icon cache, zapkube:// deep-link scheme registration).
  • In-app self-update — Linux installs that own their files (tarball) update in place; package-managed installs (.deb/.rpm/AppImage) are pointed to zapkube.com/download instead of a risky in-place overwrite.
  • zapkube CLI on Linux — the command-line launcher installs to your PATH, detaches correctly, and activates a running instance instead of spawning a second one.
  • Reliable keyboard shortcutsCtrl+Tab tab cycling works dependably via a native capture-phase handler, Ctrl+PageUp/PageDown added as an alternate, Alt+←/→ for history back/forward, and Ctrl+arrows freed for panel focus without stealing text-field navigation.

✨ Features

  • Kubeconfig reload from Settings — reload your kubeconfig without restarting the app, including changes to KUBECONFIG set in shell rc files; reload errors are surfaced instead of failing silently.
  • Keyboard Shortcuts reference — a new Settings section lists every shortcut, with labels derived from the actual key bindings so they can never drift out of sync.
  • Move to New Window — detach a tab into its own window from the tab menu, no drag gesture required.
  • Send Feedback — a new settings-menu item opens a pre-addressed feedback email.

⚡ Performance

  • Overview no longer freezes on busy clusters: watch batches are folded in O(batch) instead of O(list), per-object projections and resolved contexts are memoised, metrics wake-ups are coalesced, and the initial sync replay is bounded on both sides of the bridge.

🐛 Fixes

  • Pod RESTARTS now follows kubectl's accounting at the init-container handoff.
  • Confirmation dialogs are no longer dismissed by a plain Enter press.
  • Detail panels whose subject falls out of scope are closed when the sidebar cluster/namespace selection changes.
  • Tab drag-and-drop self-heals when a drag gets stuck (a Wayland quirk) without breaking real tear-offs.

🧹 Misc / Chore

  • Dependencies bumped across the board, including Wails v3 beta.4.