Highlights
A new workspace navigation system with three switchable layouts, a unified window chrome across all three platforms, security hardening from a 2022 pentest follow-up, and an upgrade to React 19.
✨ New workspace navigation: Tabs, Sidebar, or Titlebar
Workspace switching has been reworked into three interchangeable layouts, selectable in Settings → General or via the View menu (⌘/Ctrl+Shift+S cycles through them):
- Tabs — a horizontal browser-style tab strip with favicon, label, unread/mention badges, a keyboard-shortcut chip, drag-to-reorder, and an add-workspace button.
- Sidebar — a narrow, icon-only vertical column with square favicon tabs and badges, keyboard navigation, and improved contrast when a workspace's favicon matches the background.
- Titlebar — no sidebar and no tab strip, just the title bar with a compact server switcher.
The whole desktop chrome is now theme-aware, and the Theme selector is back in Settings. (#3424, #3394, #3419, #3413, #3403)
✨ Unified window chrome across Windows, Linux, and macOS
- Menu bar on Windows and Linux is now hidden by default — press Alt to reveal it temporarily, or pin it permanently visible from Settings → General → Menu bar, the View menu, or Ctrl+Shift+M. Existing installs are migrated automatically without overriding a choice you've already made.
- Linux now uses the same client-side window chrome as Windows: window controls embedded in the tab strip instead of relying on the desktop environment's title bar, plus softly rounded outer corners. (#3450, #3449)
- Updates are now surfaced as a titlebar label instead of a modal dialog, with clearer feedback for manual update checks and more resilient silent background checks. (#3439, #3427)
- Downloads get a new tab-strip indicator with a cleaner, more compact presentation. (#3443, #3441)
- Added a Cmd+, shortcut to open Preferences on macOS. (#3340)
🔒 Security hardening
Follow-up fixes from pentest review, tightening several areas that previously relied on broader trust than necessary:
- Restricted
geolocation,notifications, andfullscreenpermission prompts in the server view to trusted, configured server origins only. (CORE-1121, #3395) - Blocked main-frame navigation to non-
http(s)schemes inside the server webview. (CORE-1123, #3397) - Tightened the Content-Security-Policy on local renderer windows. (CORE-1126, #3316)
- Session data (cookies, localStorage, indexedDB) is now cleared automatically when a user logs out of a server through the normal web app UI, not only via the manual "Clear Cache" action. (CORE-1130, #3398)
- Documented a risk-acceptance decision on certificate pinning for the auto-updater (CORE-1128) for future reference. (#3396)
🐛 Fixes
- Fixed workspace tabs intermittently getting stuck on the loading throbber after a webview boot failure — the app now recovers automatically instead of requiring a full restart. (#3436)
- Fixed a renderer infinite re-render loop that could throw "Maximum update depth exceeded". (#3435)
- Fixed an unread-badge update storm that could crash tab bar rendering, and corrected badge rendering/priority. (#3437, #3434)
- Fixed the screen-share picker appearing at app launch with no user interaction on Linux Wayland (Fedora Flatpak, Ubuntu deb) — source enumeration was running before the picker was ever opened. (#3400)
- Fixed the screen picker to show on the window that actually requested it (rather than always the main window) and to queue concurrent requests instead of dropping them. (#3399)
- Fixed screen-picker source stability under Electron 42's macOS capture stack. (#3414)
- Fixed workspaces with a valid uniqueId-scoped support exception incorrectly showing the "Unsupported" screen. (#3404, #3406, #3407)
- Fixed the sidebar tooltip showing "null" for servers beyond the 9th position. (#3326)
- Fixed the TopBar not rendering on Linux when using the Sidebar or Titlebar layouts. (#3449)
- Fixed dependency subpath imports not being externalized correctly in the Rollup build. (#3411)
🔧 Internal
- Upgraded React 18.3 → 19 and Fuselage 0.78 → 0.80. (#3384, #3383)
- Added a silent installation guide for enterprise deployments. (#3178)
- Added test coverage across preload and module boundaries. (#3393)
- Applied least-privilege permissions to GitHub Actions workflows. (#3410)
- Updated translations from Lingohub. (#3447, #3392)
Full Changelog: 4.15.6...4.16.0