Skip to content

Releases: shellhub-io/shellhub

v0.20.1

25 Aug 20:11
Compare
Choose a tag to compare

What's Changed

  • ui: bump @types/node from 18.19.121 to 18.19.122 in /ui by @dependabot[bot] in #5134
  • ui: bump sass from 1.89.2 to 1.90.0 in /ui by @dependabot[bot] in #5135
  • ui: bump yup from 1.6.1 to 1.7.0 in /ui by @dependabot[bot] in #5137
  • api: bump golang.org/x/crypto from 0.40.0 to 0.41.0 in /api by @dependabot[bot] in #5138
  • ssh: bump golang.org/x/crypto from 0.40.0 to 0.41.0 in /ssh by @dependabot[bot] in #5140
  • chore(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #5142
  • ui: bump typescript from 5.8.3 to 5.9.2 in /ui by @dependabot[bot] in #5139
  • fix(ui): mock onBeforeRouteLeave in tests by @luizhf42 in #5131
  • ssh: bump golang.org/x/net from 0.42.0 to 0.43.0 in /ssh by @dependabot[bot] in #5141
  • ui: bump vuetify from 3.9.2 to 3.9.4 in /ui by @dependabot[bot] in #5136
  • fix(snap): rename references to shellhub-agent snap package to shellhub by @henrybarreto in #5143
  • feat(snap): add --classic flag and use latest/stable channel for ShellHub snap by @henrybarreto in #5144
  • feat(snap): get snap settings from envs while installing by @henrybarreto in #5145
  • feat(snap): get preferred hostname from env while installing by @henrybarreto in #5148
  • fix(api,pkg): update device version when authenticating by @henrybarreto in #5147
  • chore(deps): bump github.com/docker/docker from 27.1.1+incompatible to 28.0.0+incompatible by @dependabot[bot] in #5150
  • fix(ui): fix MFA settings by @luizhf42 in #5152
  • fix(ui): ensure Chatwoot is properly reset on logout by @luannmoreira in #5153
  • chore(api): remove useless MFA store by @heiytor in #5149
  • api: bump github.com/getsentry/sentry-go from 0.35.0 to 0.35.1 in /api by @dependabot[bot] in #5154
  • docker: ui: bump nginx from 1.29.0-alpine to 1.29.1-alpine in /ui by @dependabot[bot] in #5156
  • chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #5155
  • feat(api)!: remove unused device methods by @heiytor in #5157
  • refactor(api): replace APIKeyGet methods with unified APIKeyResolve by @heiytor in #5158
  • feat(api): add namespace conflicts detection system by @heiytor in #5159
  • refactor(api): remove unused opts parameter from NamespaceGetPreferred by @heiytor in #5161
  • refactor(api)!: replace session record methods with generic operations by @heiytor in #5163
  • Refactor/api/rename device edit by @heiytor in #5160
  • feat(agent): deal with 429 and 503 HTTP status and Retry-After header by @henrybarreto in #5146
  • Refactor/api/simplify device update by @heiytor in #5162
  • feat(gateway): add rate limit to api routes by @henrybarreto in #5165
  • fix(agent): normalize container's name into shellhub's device name by @henrybarreto in #5164
  • feat(agent): add function to create connector with custom docker client by @henrybarreto in #5166
  • feat(pkg): add MaxDevices and Billing fields to NamespaceChanges by @heiytor in #5167
  • fix(env): increase default rate limit burst value by @henrybarreto in #5168
  • agent: bump golang.org/x/crypto from 0.31.0 to 0.35.0 in /agent by @dependabot[bot] in #4733
  • chore(deps): bump golang.org/x/crypto from 0.31.0 to 0.35.0 by @dependabot[bot] in #4736
  • agent: bump golang.org/x/net from 0.33.0 to 0.38.0 in /agent by @dependabot[bot] in #4742
  • chore(deps): bump golang.org/x/net from 0.33.0 to 0.38.0 in /gateway by @dependabot[bot] in #4744
  • chore(ui): update OpenAPI specification by @luizhf42 in #5170
  • chore(deps): bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot[bot] in #5173
  • chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 in /tests by @dependabot[bot] in #5174
  • ui: bump cipher-base from 1.0.4 to 1.0.6 in /ui by @dependabot[bot] in #5177
  • chore(ssh): update golang-jwt to v5 by @henrybarreto in #5175
  • ui: bump sha.js from 2.4.11 to 2.4.12 in /ui by @dependabot[bot] in #5176
  • chore: bump shellhub version to v0.20.1-rc.1 by @gustavosbarreto in #5172
  • chore: bump shellhub version to v0.20.1 by @gustavosbarreto in #5187

Full Changelog: v0.20.0...v0.20.1

v0.20.0

09 Aug 17:38
Compare
Choose a tag to compare

We're excited to share ShellHub v0.20.0, featuring the new Web Endpoints system and enhanced SAML configuration.


✨ New Features

🌐 Web Endpoints

We've introduced Web Endpoints as a replacement for the legacy tunnel system. This new approach provides:

  • Web-accessible endpoints for your devices
  • Cleaner management interface
  • Available in preview mode on ShellHub Cloud
  • Full availability in ShellHub Enterprise

🔐 SAML Improvements (Enterprise)

Enhanced SAML configuration for Enterprise customers includes:

  • Support for multiple URL types (POST and Redirect URLs)
  • Improved X.509 certificate validation
  • Better error messaging and automatic certificate formatting

🚀 Improvements

💻 Web Terminal

  • Faster WebSocket connections with better performance
  • Terminal handling now complies with RFC 4254
  • More responsive interface across devices

🎯 User Experience

  • Streamlined device management
  • Better navigation and reusable components
  • More consistent interface elements

⚡ Performance & Reliability

  • Optimized device lookup (only shows accepted devices)
  • Consolidated device management system
  • Added Cloudflare DNS provider support
  • Enhanced SSH error handling
  • Improved certificate validation

🐛 Bug Fixes

Interface

  • Fixed namespace editing when changing device limits
  • Corrected copy icon behavior in command fields
  • Centered Snackbar notifications
  • Fixed placeholder display in select components

SSH & Terminal

  • Prevented crashes when agent output is empty
  • Fixed function naming issue in SSH key handling
  • Applied correct 4096 character limit for terminal input
  • Updated device lookup parameters

Backend

  • Prevented non-accepted devices from being added to removal lists
  • Simplified device status update process
  • Changed agent updater to remove containers instead of stopping them

v0.19.2

23 Jul 21:12
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.19.1...v0.19.2

v0.19.1

23 Jun 18:08
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.19.0...v0.19.1

v0.19.0

29 May 19:59
Compare
Choose a tag to compare

🚀 ShellHub v0.19.0 is here!

ShellHub v0.19.0 delivers important improvements across our open-source and managed offerings. This release focuses on refining the user experience, expanding compatibility, and improving reliability across all environments.


✨ Highlights

💅 Improved User Experience

We’ve made significant enhancements to the UI, making it easier to navigate, maintain, and extend:

  • Migration to <script setup> syntax in the Vue UI
  • Refactored layout handling and session list
  • Improved Snackbar system and notification center
  • Simplified logic and cleaner state separation

These improvements pave the way for faster feature development and a smoother experience.


🐳 Podman Support

ShellHub now detects and works with Podman as an alternative to Docker. 🐧

A great step toward supporting a broader range of container runtimes.


📼 Session Recording (Cloud/Enterprise)

☁️ Cloud/Enterprise only: Session recording now uses the Asciinema format, a well-established and community-driven standard for terminal session playback. This transition not only improves compatibility with a wide range of tools but also introduces a cleaner, more efficient experience through the use of the official Asciinema player, now embedded directly into ShellHub.

Along with this, we moved from MongoDB-based storage to S3-compatible object storage systems such as MinIO or other cloud-native solutions. This shift brings several key advantages:

  • Performance: Offloads large recording data from the database to optimized storage
  • Scalability: Better supports growing session data with horizontal scale
  • Flexibility: Enables plug-and-play storage backends depending on the environment
  • Interoperability: Recordings can be reused or analyzed outside ShellHub with standard tools

Support for long-running sessions is now more reliable thanks to a configurable timeout mechanism.


🧑‍💼 Invite Members with One Click (Cloud/Enterprise)

☁️ Cloud/Enterprise only: You can now generate invite links to onboard new members to your namespace. Just share the link, and they’re ready to go. ✨

Great for teams growing fast or onboarding collaborators in managed environments.


🌐 HTTP Tunnel Enhancements (Cloud/Enterprise)

Bidirectional communication is now fully supported over HTTP tunnels, improving compatibility with a wider range of client setups and enabling more interactive use cases.


🛡️ Better Authentication, SSO, and Namespace Management (Cloud/Enterprise)

☁️ Cloud/Enterprise only: We've made several improvements to authentication, SSO workflows, and namespace management in managed environments:

  • SAML users receive more consistent usernames, reducing identity mismatches
  • SSO logins now support fallback behaviors and improved parsing of identity attributes
  • Invite links now set member status to "pending" by default for better access control

These changes improve reliability, traceability, and access control across the platform.


💡 Architecture & Infrastructure

  • ☁️ Cloud/Enterprise: Migrated from macroservices to monolith architecture for better stability and deployment simplicity
  • ☁️ Cloud/Enterprise: Removed legacy dashboard and consolidated management into the Admin UI
  • Full dependency refresh across components (Alpine, Node, Vuetify, Cobra, etc.)

👩‍🎓 Community & Team Contributions

We’d like to highlight these contributors:

  • 💜 @luizhf42, a new core team member leading many UI enhancements and structural refactors
  • 🙌 @No9, a community contributor who added Podman support — a great step toward runtime diversity

Thanks for pushing ShellHub forward! 🌟


📚 Full Changelog

Explore all commits and merged pull requests:
🔗 Compare v0.18.3...v0.19.0

v0.18.3

06 Mar 11:19
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.2...v0.18.3

v0.18.2

19 May 14:25
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.1...v0.18.2

v0.18.1

21 May 16:11
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.0...v0.18.1

v0.18.0

31 Jan 21:07
Compare
Choose a tag to compare

Since November, we have been working hard to bring significant improvements to ShellHub. This release represents a major step forward, introducing new features, enhancements, and fixes that will greatly enhance your experience. We appreciate your support and feedback as we continue to evolve!

🌟 Key Highlights

Enhanced UI and Terminal Experience

  • Improved fullscreen terminal behavior for a seamless user experience.
  • Enhanced session playback UI with better controls and fullscreen support.
shellhub-fullscreen-terminal.mp4

ShellHub Connector - Container Access via ShellHub

  • Introduced ShellHub Connector, allowing Docker containers from a host to be accessed via ShellHub.
shellhub-docker-integration.mp4

HTTP Tunnel Support

  • Implemented HTTP Tunnel Support for Enterprise and Cloud Editions, enabling secure and efficient remote access.
shellhub-tunnel.mp4

🚀 New Features

Namespace Enhancements

  • Added support for namespace-based routing. #4319
  • Introduced a namespace type field in CLI and API. #4237
  • Implemented the ability to leave a namespace. #4340
  • Default namespace type is now set to team. #4342

SSH Improvements

  • Simplified session handling, improved recording, and enabled PTY session recording. #4324
  • Added support for SSH agent forwarding. #4346
  • Enhanced session recording using WebSocket and writer adapter. #4352
  • Added session events tracking. #4363
  • Improved session playback UI. #4534

Tunnels & Proxy Enhancements

  • Renamed "Public URL" feature to "Tunnels" with various improvements. #4381
  • Added TTL support and expiration management for tunnels. #4504
  • Improved Nginx load balancing and DNS resolution. #4536

UI & UX Enhancements

  • Enhanced AppBar with Gravatar integration and layout adjustments. #4326
  • Introduced a new settings interface. #4379
  • Improved terminal rendering and fullscreen behavior. #4532
  • Improved session playback UI. #4534
  • Enhanced notification and error handling for user input. #4412
  • Introduced Chatwoot for help and support. #4325
  • Added "Add Docker Host" button and dialog. #4525

Authentication & Security

  • Added SAML SSO support for enterprise instances. #4361
  • Added an origin attribute to users. #4367

🛠️ Fixes & Optimizations

General Fixes

  • Improved container height and theme compatibility. #4337
  • Resolved various UI layout inconsistencies. #4338, #4351
  • Fixed API key page header. #4508
  • Fixed terminal auto-open behavior. #4538
  • Enhanced menu behavior and item visibility. #4419
  • Improved error handling in UI components. #4428

Backend & Performance Optimizations

  • Simplified GeoIP initialization. #4447
  • Improved DNS resolution and worker initialization. #4494
  • Enhanced session recording queue processing. #4446

📦 Dependencies Updates

Dependencies Upgraded

  • Various UI dependencies updated, including Vue, Vite, Sass, and TypeScript.
  • Backend dependencies updated, including Echo, MongoDB driver, and GoCrypto.
  • Docker base images bumped to newer versions.

📌 Full Changelog: Compare v0.17.2...v0.18.0

v0.17.2

13 Nov 18:31
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.17.1...v0.17.2