← 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. zapkubeCLI on Linux — the command-line launcher installs to yourPATH, detaches correctly, and activates a running instance instead of spawning a second one.- Reliable keyboard shortcuts —
Ctrl+Tabtab cycling works dependably via a native capture-phase handler,Ctrl+PageUp/PageDownadded as an alternate,Alt+←/→for history back/forward, andCtrl+arrowsfreed for panel focus without stealing text-field navigation.
✨ Features
- Kubeconfig reload from Settings — reload your kubeconfig without restarting the app, including changes to
KUBECONFIGset 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.