github shellhub-io/shellhub v0.22.0

5 hours ago

ShellHub v0.22.0

The React Release

v0.22.0 is the biggest frontend change in ShellHub's history. The entire UI has been rebuilt from scratch in React with TypeScript, replacing the Vue-based frontend that served the project for years. This release also lays the groundwork for the upcoming PostgreSQL migration.

For the full story behind these changes, see Inside ShellHub #1.

ShellHub v0.22.0 React UI

New React UI

The new frontend ships as the default at /. The legacy Vue UI remains accessible at /v1 during the transition period.

Highlights compared to the previous frontend:

  • No more Vuetify lock-in. The new UI uses Tailwind CSS with a custom design system, giving full control over styling without fighting a component library.
  • Multi-session terminal. The old terminal opened one SSH session in a modal. The new one supports multiple concurrent sessions with a taskbar — minimize, restore, and fullscreen.
  • Secure Vault. Store encrypted SSH private keys in the browser for password-protected key authentication directly from the web terminal.
  • Welcome wizard. A guided onboarding flow for new users after account creation.
  • Better error handling. Connection failures, expired sessions, and network drops show inline banners with clear messages instead of silently failing.

Unified Open-Core Architecture

The Cloud/Enterprise layer has been merged into the API binary. Instead of running a separate service, enterprise features are now compiled into the same binary and activated by configuration. This simplifies deployment, eliminates inter-service calls, and makes transactions across community and enterprise code truly atomic.

Agent Improvements

  • Yamux multiplexing. The agent now uses multistream and yamux instead of an HTTP server for device communication, improving reliability and reducing overhead.
  • Native static binary. Replaced the standalone runc dependency with a native static binary, simplifying agent distribution.
  • PTY deadlock fix. Resolved a window-change deadlock that could freeze terminal sessions under load.
  • ARMv6 support fix. Corrected architecture targeting for ARMv6 devices.

Infrastructure

  • ACME-DNS support for web endpoint wildcard certificates — an alternative to DigitalOcean and Cloudflare DNS providers.
  • MongoDB → PostgreSQL migration tooling is included in this release as groundwork for the v0.23.0 transition. Not yet active by default.
  • Generic store test suite that validates both MongoDB and PostgreSQL implementations against the same test cases.

Bug Fixes

  • Fixed namespace device counter cache discrepancies
  • Fixed license device limit enforcement
  • Fixed recovery email conflict check against empty strings
  • Fixed trailing comma in agent config.json env array
  • Improved web terminal error handling and reconnection

Updated Stack

  • Go 1.24.13
  • Node.js 24 (LTS)
  • Alpine 3.22

New Contributors


Full Changelog: v0.21.5...v0.22.0

Don't miss a new shellhub release

NewReleases is sending notifications on new releases.