Releases: shellhub-io/shellhub
v0.19.1
What's Changed
- fix(ui): fix field name in TunnelCreate by @luizhf42 in #4865
- refactor(ui): refactor UserExport in admin by @luizhf42 in #4864
- docker: gateway: bump alpine from 3.21.3 to 3.22.0 in /gateway by @dependabot in #4877
- docker: cli: bump alpine from 3.21.3 to 3.22.0 in /cli by @dependabot in #4876
- docker: api: bump alpine from 3.21.3 to 3.22.0 in /api by @dependabot in #4875
- docker: ssh: bump alpine from 3.21.3 to 3.22.0 in /ssh by @dependabot in #4874
- ui: bump vuetify from 3.8.6 to 3.8.7 in /ui by @dependabot in #4873
- ui: bump @vue/runtime-dom from 3.5.14 to 3.5.16 in /ui by @dependabot in #4872
- ui: bump sass from 1.89.0 to 1.89.1 in /ui by @dependabot in #4871
- ui: bump @types/node from 18.19.103 to 18.19.110 in /ui by @dependabot in #4870
- ui: bump asciinema-player from 3.9.0 to 3.10.0 in /ui by @dependabot in #4869
- fix(ui): prevent tooltip click from triggering parent handlers by @luannmoreira in #4868
- feat(api): add flexible device resolution with query parameter by @heiytor in #4858
- fix(ssh): sync agent exiting code with data pipe by @henrybarreto in #4880
- fix(ssh): don't retry to save the session when http not acceptable is returned by @henrybarreto in #4879
- chore: bump shellhub version to v0.19.1-rc.1 by @gustavosbarreto in #4881
- fix(ui): fix player's time handlers by @luizhf42 in #4883
- chore: bump shellhub version to v0.19.1-rc.2 by @gustavosbarreto in #4884
- refactor(api): add
DeviceResolve
method to dynamically resolve devices by @heiytor in #4886 - fix(ui): fix player playback time for sessions longer than 24h by @luizhf42 in #4885
- feat(ui): create new device details URL with new API
resolver
route by @luizhf42 in #4878 - refactor(ui): change Connector Add to Container Modal in empty Containers view by @luannmoreira in #4889
- feat(ui): add tooltip to SessionPlay for not recorded sessions by @luizhf42 in #4888
- fix(ui): add await to
getConnectors
call by @luizhf42 in #4892 - chore: bump shellhub version to v0.19.1 by @gustavosbarreto in #4894
Full Changelog: v0.19.0...v0.19.1
v0.19.0
🚀 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
What's Changed
- fix(ui): improve conditional chatwoot usage by @luannmoreira in #4575
- feat(ui): redesign terminal login form by @Ossanes in #4563
- fix(gateway): use tunnels domain to load SSL certificates by @henrybarreto in #4579
- fix(ui): show tunnels domain when defined by @henrybarreto in #4580
- chore: bump shellhub version to v0.18.3 by @gustavosbarreto in #4581
Full Changelog: v0.18.2...v0.18.3
v0.18.2
What's Changed
- ui: bump vuetify from 3.7.7 to 3.7.9 in /ui by @dependabot in #4549
- fix(ui): improve terminal dialog behavior and ESC key handling by @luannmoreira in #4552
- fix(ui): adjust TerminalDialog max-width logic by @gustavosbarreto in #4553
- fix(enterprise): pass saml envs to enterprise containers by @heiytor in #4554
- chore: bump shellhub version to v0.18.2-rc.1 by @gustavosbarreto in #4555
- fix(enterprise): pass saml envs to cloud-pi container by @heiytor in #4557
- fix(docker): prevent empty environment variables in compose files by @gustavosbarreto in #4558
- docs(enterprise): explain SHELLHUB_SAML_SECRET by @heiytor in #4556
- chore: bump shellhub version to v0.18.2-rc.2 by @gustavosbarreto in #4559
- ssh: bump golang.org/x/crypto from 0.32.0 to 0.33.0 in /ssh by @dependabot in #4572
- docker: ui: bump nginx from 1.27.3-alpine to 1.27.4-alpine in /ui by @dependabot in #4570
- ui: bump vite-node from 1.6.0 to 1.6.1 in /ui by @dependabot in #4569
- ui: bump vitest from 2.1.8 to 2.1.9 in /ui by @dependabot in #4568
- ui: bump @vitest/coverage-v8 from 2.1.8 to 2.1.9 in /ui by @dependabot in #4567
- ui: bump vite-plugin-vuetify from 2.0.4 to 2.1.0 in /ui by @dependabot in #4566
- api: bump golang.org/x/crypto from 0.32.0 to 0.33.0 in /api by @dependabot in #4571
- docker: gateway: bump golang from 1.22.6-alpine3.20 to 1.23.6-alpine3.20 in /gateway by @dependabot in #4564
- ui: bump terser from 5.37.0 to 5.38.1 in /ui by @dependabot in #4565
- chore: bump shellhub version to v0.18.2 by @gustavosbarreto in #4573
Full Changelog: v0.18.1...v0.18.2
v0.18.1
What's Changed
- chore(deps): bump docker/login-action from 2 to 3 by @dependabot in #4548
- chore(deps): bump golang.org/x/net from 0.26.0 to 0.33.0 in /gateway by @dependabot in #4550
- chore: bump shellhub version to v0.18.1 by @gustavosbarreto in #4551
Full Changelog: v0.18.0...v0.18.1
v0.18.0
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
🛠️ 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
What's Changed
- fix(agent): implement method to generate CMD command to FreeBSD by @henrybarreto in #4293
- feat(api): unique cronjobs by @heiytor in #4294
- chore: bump shellhub version to v0.17.2-rc.1 by @gustavosbarreto in #4295
- feat(api): recorded_sessions indexes by @heiytor in #4297
- Feat/member self remove by @heiytor in #4296
- chore: add gosec plugin to golangci-linter by @henrybarreto in #4286
- chore(gateway, api): use secure middleware on echo and hidden nginx version by @henrybarreto in #4298
- chore: bump shellhub version to v0.17.2-rc.2 by @gustavosbarreto in #4299
- chore(ui): typo api key generate by @luannmoreira in #4302
- fix(ui): responsiveness problem in smaller devices on views titles by @luannmoreira in #4301
- feat(ui): delete account on cloud instance by @luannmoreira in #4300
- ui: bump @vitejs/plugin-vue from 5.1.4 to 5.1.5 in /ui by @dependabot in #4303
- ui: bump font-logos from 1.2.0 to 1.3.0 in /ui by @dependabot in #4304
- ui: bump vuetify from 3.7.3 to 3.7.4 in /ui by @dependabot in #4306
- ui: bump vee-validate from 4.14.6 to 4.14.7 in /ui by @dependabot in #4307
- ui: bump eslint-plugin-vue from 9.28.0 to 9.30.0 in /ui by @dependabot in #4308
- ssh: bump golang.org/x/crypto from 0.28.0 to 0.29.0 in /ssh by @dependabot in #4316
- api: bump golang.org/x/crypto from 0.28.0 to 0.29.0 in /api by @dependabot in #4318
- fix(ui): open version validation by @luannmoreira in #4320
- chore: bump shellhub version to v0.17.2-rc.3 by @gustavosbarreto in #4321
- Feat/leave namespace token by @heiytor in #4322
- chore: bump shellhub version to v0.17.2 by @gustavosbarreto in #4323
Full Changelog: v0.17.1...v0.17.2
v0.17.1
What's Changed
- ui: bump vite from 5.4.8 to 5.4.10 in /ui by @dependabot in #4256
- ui: bump @types/node from 18.19.55 to 18.19.59 in /ui by @dependabot in #4257
- ui: bump vue-tsc from 2.1.6 to 2.1.8 in /ui by @dependabot in #4258
- ui: bump sass from 1.79.4 to 1.80.4 in /ui by @dependabot in #4259
- ui: bump @vue/runtime-dom from 3.5.11 to 3.5.12 in /ui by @dependabot in #4260
- api: bump github.com/testcontainers/testcontainers-go/modules/mongodb from 0.33.0 to 0.34.0 in /api by @dependabot in #4261
- fix(ui): change the never expiration api key option text by @luannmoreira in #4265
- fix(ui): change the text from the namespace member remove modal by @luannmoreira in #4264
- fix(ui): remove username field on namespace member edit by @luannmoreira in #4263
- fixgateway,api,agent): public url access to devices' HTTP server by @henrybarreto in #4250
- fix(agent,ssh): remove duplicated logs and add specific response when… by @henrybarreto in #4267
- feat(all): ignore docker binaries by @heiytor in #4268
- feat: geoip mirrors by @heiytor in #4270
- fix(pkg): ensures that geoip dbPath exists before fetch by @heiytor in #4272
- ui: bump elliptic from 6.5.7 to 6.6.0 in /ui by @dependabot in #4269
- feat(ui): new community setup by @luannmoreira in #4274
- feat(gateway,api,pkg): fit setup route to new rules by @henrybarreto in #4236
- api: bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 in /api by @dependabot in #4275
- ui: bump sass from 1.80.4 to 1.80.6 in /ui by @dependabot in #4276
- ui: bump @types/node from 18.19.59 to 18.19.64 in /ui by @dependabot in #4277
- ui: bump vee-validate from 4.14.3 to 4.14.6 in /ui by @dependabot in #4278
- feat(agent,ssh,pkg): add support for agent forwarding by @henrybarreto in #4273
- ui: bump qrcode.vue from 3.5.1 to 3.6.0 in /ui by @dependabot in #4279
- ui: bump vue-tsc from 2.1.8 to 2.1.10 in /ui by @dependabot in #4280
- chore: bump shellhub version to v0.17.1-rc.1 by @gustavosbarreto in #4283
- fix(gateway): use device name as param on public URL due subdomain by @henrybarreto in #4284
- feat(api): member self remove by @heiytor in #4281
- chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 by @dependabot in #4285
- refactor(ui): adjust settings layout and navigation by @gustavosbarreto in #4271
- chore(docker): remove unused environment variables from compose file by @gustavosbarreto in #4287
- fix(cli): improve service check reliability in CLI script by @gustavosbarreto in #4288
- refactor(cli): centralize service check logic in
exit_if_not_running
by @gustavosbarreto in #4289 - fix(ui): typos community setup screen by @luannmoreira in #4291
- chore: bump shellhub version to v0.17.1 by @gustavosbarreto in #4290
Full Changelog: v0.17.0...v0.17.1
v0.17.0
ShellHub v0.17.0 - Release Notes
We're excited to announce the release of ShellHub v0.17.0! This version introduces several improvements, new features, and essential bug fixes that enhance the overall performance and usability of the platform. Below is a summary of the key changes.
🔥 New Features
- Namespace Invitations: Streamlined the process of inviting members to a namespace using emails, making team collaboration easier.
- Namespace Options: Added support for retrieving namespace options, including enhanced management capabilities.
- Premium Paywall Enhancements: Introduced a paywall for premium features in the community edition, with increased integration into the UI and cloud services.
- Containers Route Alias: Added an alias for container listings, enabling easier filtering and management of containers.
- Debugging Symbols in Development: Integrated debugging symbols in the development environment for API and SSH services.
🚀 Improvements
-
UI Enhancements:
- Improved sidebar styling and navigation for better user experience.
- Introduced new breadcrumb-based navigation for better context in the UI.
- Persistent hints and placeholders in terminal dialog fields for a more intuitive interface.
- Increased content padding and improved spacing in the paywall interface.
-
Backend Performance:
- Optimized DNS resolution and dynamic hostname resolution in the gateway.
- Introduced cache management using generics to boost system efficiency.
- Improved session and member data handling with streamlined query processes.
-
New Connector Service Requirements: Updated the gateway to manage connector services, providing robust and secure service handling.
🛠 Fixes
- MFA Proxy Adjustments: Resolved issues with MFA authentication redirects in the gateway.
- Namespace Creation: Fixed issues where certain users could not create namespaces.
- Session Cleanup: Addressed bugs related to session handling and cleanup for better resource management.
- User Invitations: Ensured correct handling of user membership invitations and status updates.
⚙️ Dependency Updates
- Updated various dependencies for improved security and stability, including:
- Vue, TypeScript, Axios, FontAwesome, and Vuetify in the UI.
- Go dependencies in the API, agent, and SSH services.
📦 General Improvements
- Installer Updates: Overhauled the installation scripts for smoother setup and configuration.
- OpenAPI Generator Removal: Simplified the project by removing unused OpenAPI generator dependencies.
📝 Other Changes
- Miscellaneous fixes, typos, and performance enhancements across the platform to ensure smoother and more reliable operation.
Upgrade now to take advantage of these improvements and enjoy a better ShellHub experience! As always, we appreciate your feedback and support in helping us make ShellHub even better.
Full Changelog: v0.16.0...v0.17.0
v0.16.4
What's Changed
Full Changelog: v0.16.2...v0.16.4