Changelog
[Unreleased]
π Bug Fixes
- Fix session creation βdata couldnβt be readβ error on Mac app (#500)
[1.0.0-beta.15] - 2025-08-02
β¨ Major Features
Push Notifications (#475)
- Native push notifications for terminal events - get notified when commands complete, sessions start/end, or errors occur
- Customizable notification types: Session exits, command completion (>3s), command errors, terminal bell, Claude AI turn notifications
- Smart Claude detection: Automatically identifies Claude CLI sessions and tracks when Claude finishes responding
- Complete overhaul of the notification system with reliable push notifications for session events
- Test notification feature now works seamlessly between web frontend and Mac app
- Improved notification preferences with granular control over notification types
- Better error handling and recovery for notification delivery failures
- Enhanced integration between web services and native Mac notification service
Git Worktree Management & Follow Mode (#452)
- Full worktree support: Create, manage, and delete Git worktrees directly from VibeTunnel
- VibeTunnel intelligently follows Git worktrees instead of just branches, perfect for developers using worktrees for parallel development
- When you switch branches in your editor/IDE, VibeTunnel automatically switches to the corresponding worktree terminal session
- The
vt follow
command works contextually - run it from either your main repository or a worktree to set up appropriate tracking - Visual indicators: Fork icon (β) shows worktree sessions, branch names displayed throughout UI
- Follow mode displays worktree paths with
~
for your home directory, making them easier to read - HTTP Git API: New endpoints for Git operations (
/api/git/status
,/api/git/branches
,/api/worktrees
) - Branch selection: Choose branches before creating sessions with real-time repository status
Comprehensive CJK (Chinese, Japanese, Korean) Input Support (#480)
- Full support for CJK input methods with proper IME (Input Method Editor) integration
- Fixed input duplication issues that affected Asian language users
- Improved Z-index management to ensure IME candidates display correctly above terminal content
- Enhanced keyboard event handling for complex character composition
- Better compatibility with native macOS and iOS input methods
Terminal Multiplexer Integration (tmux, Zellij & Screen) (#460)
- Full integration with tmux, Zellij, and GNU Screen terminal multiplexers for persistent sessions
- Create, list, and attach to tmux/Zellij/Screen sessions directly from VibeTunnel interface
- Sessions persist across VibeTunnel restarts - never lose your work
- Perfect for remote development: attach to the same session from multiple devices
- Supports tmux panes and windows for advanced terminal workflows
- Seamless switching between standard VibeTunnel sessions and multiplexer sessions
Quick Session Switching with Number Keys
- When keyboard capture is active, use Cmd+1β¦9 (Mac) or Ctrl+1β¦9 (Linux) to instantly switch between sessions
- Cmd/Ctrl+0 switches to the 10th session
- Works only when keyboard capture is enabled in session view, allowing quick navigation without mouse
- Session numbers match the numbers shown in the session list
Enhanced Git Integration
- See branch names, commit status, and sync state in autocomplete suggestions
- Real-time display of uncommitted changes (added/modified/deleted files)
- Branch selector dropdown for switching branches before creating sessions
- Repository grouping in session list with branch/worktree selectors
- Consistent branch name formatting with square brackets:
[main]
Interface Polish
- Responsive design: Better mobile/iPad layouts with adaptive button switching
- Collapsible options: Session options now in expandable sections for cleaner UI
- Increased menu bar button heights for better clickability
- Improved spacing and padding throughout the interface
- Smoother animations and transitions
π Bug Fixes
Project Organization & Stability
- Enhanced VT command reliability with self-healing capabilities - VT sessions now automatically recover from connection issues
- Fixed menu bar icon not appearing on app launch
Advanced Features
- Enhanced Tailscale integration with automatic authentication for seamless secure access (#472)
- Cleaned up VT command output by removing verbose binary path prefixes and socket disconnect noise
Developer Experience
- Improved notification system reliability - fixed test notification button integration between Mac app and server (#483)
- Enhanced notification auto-reconnection behavior when pages are reloaded
- Added comprehensive logging documentation to README for better troubleshooting
- Removed obsolete bundle identifier references and updated logging configuration
π§ Technical Improvements
Improved Terminal Output Handling
- Enhanced asciinema stream pruning: Removes noisy ANSI sequences for cleaner recordings
- Better mobile terminal detection to optimize output rendering
- Fixed terminal resize event handling to prevent output corruption
- Improved logging for debugging terminal lifecycle issues
Performance & Architecture
- Completed Tailwind CSS v4 migration with performance optimizations
- Enhanced Playwright test performance for faster CI runs
- Updated all dependencies to latest stable versions
- Improved type safety throughout the codebase, especially for Tailscale authentication
- Modular refactoring: Split
session-view.ts
into 7 specialized managers - Component breakdown: Refactored
session-create-form
into smaller components - Unified components: Created reusable
GitBranchWorktreeSelector
- Better separation: Clear boundaries between UI and business logic
- Session rename functionality centralized: Eliminated duplicate code across components
- Socket-based vt command communication: Replaced HTTP with Unix domain sockets for reliability
Communication & Reliability
- Unified notification system now uses Server-Sent Events (SSE) for all clients instead of mixed approaches
- Fixed git status monitoring to prevent EMFILE errors through shallow directory watching
- Standardized git status terminology - consistently uses βNewβ for untracked files across all interfaces
- Enhanced session cleanup on startup with proper JSON field handling
Developer Experience
- Improved TypeScript type safety throughout
- Better error handling and logging
- Consistent code formatting across macOS and web codebases
- Removed outdated crash investigation documentation
- Comprehensive JSDoc documentation added to service classes
- Removed backwards compatibility for older vt command versions
UI/UX Enhancements
- Modernized macOS autocomplete dropdown with native SwiftUI materials and transparency
- Fixed Quick Start Commands UI with proper native macOS table styling
- Added help tooltips throughout settings UI explaining each notification type
- Fixed mouse hover selection issues in autocomplete dropdown
- Improved button click targets for better usability
Socket API Improvements
- Refactored socket client with type-safe message handling
- Removed HTTP fallback in favor of pure socket communication for better reliability
- Added proper TypeScript types for all socket protocol messages
- Cleaner public API without brittle type casting
Developer Tools
- Added
VIBETUNNEL_PREFER_DERIVED_DATA
environment variable for faster Xcode builds - Version tracking in socket protocol for better debugging
- Consolidated duplicate Git status implementations for maintainability
- Enhanced error logging for session termination debugging
Self-Healing VT Command
- The
vt
command now automatically recovers from connection issues and socket failures - Improved reliability with automatic reconnection when the server restarts
- Better error handling for Unix socket communication
iOS Mobile Experience
- Completely redesigned keyboard handling for iOS devices (#484)
- Fixed keyboard dismissal issues that left the interface in an inconsistent state (#484)
- Improved modal interactions with better keyboard management
- Enhanced direct keyboard input manager for smoother text entry
- Better handling of iOS-specific keyboard behaviors and quirks
- Fixed blinking cursor issue in binary terminal mode (#489)
π₯ Contributors
Thank you to all the contributors who helped make this release possible! First-time contributors to VibeTunnel:- @jblwilliams - Removed unused ScreenCaptureKit import from ServerManager (#486)
- @lox - Added Tailscale Serve integration with automatic authentication (#472)
- @diegopetrucci - Contributed push notifications onboarding screen (via #474)
- @hjanuschka - Added tmux integration (#460), fixed iOS keyboard dismissal issue (#484), and fixed blinking cursor in binary terminal mode (#489)
- @fal3 - Fixed Test Notification Button to VibeTunnel Mac App (#483)
- @hewigovens - Fixed mobile keyboard layout and text sizing issues (#441) and contributed CJK (Chinese, Japanese, Korean) IME input support (#447, refined in #480)
[1.0.0-beta.14] - 2025-07-21
β¨ Major Features
Customizable Quick Start Commands (#436)
- Quick Start commands are now fully customizable - previously hardcoded buttons can be edited
- Add your own commands with custom names and emoji (e.g., ββ¨ claudeβ or ββΆοΈ dev serverβ)
- Drag & drop reordering with smooth animations in macOS settings
- Inline editing without popup dialogs
- Reset to defaults button when you want the original set back
- File-based persistence in
~/.vibetunnel/config.json
shared between web and Mac apps
New Session Path Autocomplete (#435)
- Intelligent path autocomplete when creating sessions with unified UI
- Home directory expansion (
~/
shortcuts work properly) - Visual file browser with folder icons for easy navigation
- Git repository discovery shows current branch in file browser
- Repository status displayed in welcome screen
- Escape key support and auto-select first suggestion
Session Status Management
- New dropdown menu in session headers for running/exited sessions
- Terminate running sessions without closing the tab
- Clear exited sessions individually with one click
- Visual status indicators - pulsing dot for running, static for exited
- Keyboard navigation support (Arrow keys, Enter, Escape)
Image Upload Menu (#432)
- New image upload feature in session headers with multiple input methods:
- Paste images from clipboard
- Select from photo library (mobile)
- Take photo with camera (mobile)
- Browse for files
- Automatically converts images to base64 and inserts at cursor position
- Mobile-optimized UI with full-screen menu
Linux Systemd Support (#426)
- Run VibeTunnel as a persistent service with
vibetunnel systemd install
- User-level service - no root required
- Automatic startup on boot
- Smart Node.js detection works with nvm, fnm, or global npm
- Comprehensive systemd commands for status, logs, start/stop
π¨ UI Improvements
-
Mobile Terminal Experience (#441)
- Fixed keyboard layout issues on mobile devices
- Improved quick keys bar with better sizing and spacing
- Responsive text sizes that scale properly on smaller screens
- Tab key now works correctly on mobile keyboards
-
Dark Mode & Theme Improvements
- Improved theme toggle with clearer icon and tooltips (#438, fixes #368)
- Fixed new session dialog styling for dark mode (#433)
- Better contrast and visibility across all themes
-
General UI Polish
- Clickable ngrok URLs in Settings with copy button (#422)
- Cleaner session headers with better-positioned controls
- Fixed magic wand icon alignment for AI sessions
- Edit icons now positioned directly after text instead of far right
- Improved OPTIONS label alignment in session create form
π Bug Fixes
- Fixed session timers continuing to run after sessions exited (#428)
- Fixed sessions with undefined activity status showing as idle instead of active
- Fixed new session dialog styling for dark mode (#433)
- Fixed Mintlify documentation generation (#434)
- Fixed ConfigManager threading crash when moving quick start items in macOS
- Fixed mobile keyboard layout and text sizing issues (#441)
- Improved Chinese input method support (#431, duplicate of #421)
- Fixed OpenCode support for better integration with external apps
ποΈ Under the Hood
Code Quality & Architecture (#444)
- Extracted all magic strings to centralized constants files
- Created dedicated constant files for:
- API endpoints, bundle identifiers, environment keys
- Error messages, file paths, keychain constants
- Network constants, notification names, UI strings
- URL constants and user defaults keys
- Removed RepositoryPathSyncService and related WebSocket sync code
- Improved type safety and maintainability across the codebase
Configuration System Overhaul (#436)
- New file-based configuration system with
~/.vibetunnel/config.json
- ConfigManager for synchronized settings between Mac and web
- REST API at
/api/config
replacing WebSocket sync - Zod schema validation for all configuration data
- Automatic file watching for real-time config updates
- Repository base path now stored in config instead of CLI args
Testing & Development
- Added comprehensive test coverage for new components
- Improved test maintainability by adding element IDs to web components
- Added AutocompleteService tests and drag & drop tests
- Enhanced CI workflows with better error diagnostics
Documentation & Cleanup
- Major codebase cleanup - removed Tauri project and 17k lines of unused code (#419)
- Enhanced release process with better troubleshooting documentation
- Updated README with proper badges and table of contents
- Removed redundant header text and improved visual hierarchy
π₯ Contributors
First-time contributors to VibeTunnel:- @gopikori - Made ngrok URLs clickable with copy button in Settings (#422)
- @claudemini - Improved theme toggle UI with better icon and tooltips (#438)
- @hewigovens - Fixed mobile keyboard issues and co-authored systemd support (#426, #441)
[1.0.0-beta.13] - 2025-07-19
**Terminal Performance Mode (Experimental) **
- New binary WebSocket mode for terminal sessions dramatically improves performance for high-throughput operations (#412)
- Toggle between standard SSE mode and high-performance binary mode in terminal settings
- Binary mode significantly reduces latency and CPU usage when running commands with heavy output
- Seamless switching between modes without losing your session
Enhanced Terminal Control
- Uninstall option for the
vt
command line tool now available in settings (#407) - Simple trash icon button to cleanly remove the CLI tool when needed
- Proper cleanup of both standard and Homebrew installation paths
Screen Sharing Removed
- Removed screen sharing feature to focus on core terminal functionality (#415)
- Eliminated ~17,000 lines of WebRTC and screen capture code
- No longer requests screen recording permissions
- Screen Sharing is out of scope for the 1.0 release
π Bug Fixes
- Fixed server crashes when using special characters (like
*
) in terminal status messages (#398) - Resolved βKill All Sessionsβ button failing silently in compact/sidebar view (#418)
- Fixed network bind address reverting to localhost after server restarts (#404)
- Ghostty terminal now properly spawns and executes commands if there are no windows (#408)
π Documentation
- Added complete HQ mode documentation covering distributed deployments
- Organized all documentation into logical categories with Mintlify
π₯ Contributors
First-time contributors to VibeTunnel:- @hewigovens - Added systemd service management for Linux deployments, refactored installer for user-level services with improved security (#419)
[1.0.0-beta.12] - 2025-07-17
Welcome Screen Performance
- Background folder scanning eliminates UI freeze when opening the welcome screen (#394)
- Improved startup performance with optimized web directory structure
- Much smoother experience when working with large project directories
SSH Agent Reliability
- Fixed SSH key generation errors on non-localhost HTTP connections (#392)
- SSH agent now works correctly when accessing VibeTunnel via ngrok or from another device
- Improved security and reliability for remote access scenarios
npm Package Stability
- Fixed critical installation issues on Linux systems (#393)
authenticate-pam
now properly handled as optional dependency- Enhanced cross-platform compatibility for Ubuntu and other distributions
- Comprehensive vt command tests ensure reliability across environments
Developer Experience
- Fixed missing public directory in Mac app bundle (#392)
- Resolved TypeScript type annotations throughout codebase
- Improved lint compliance and code quality
- Streamlined CI/CD workflow for more reliable builds
π Bug Fixes
- Fixed vt command syntax errors on Linux systems (#393)
- Fixed welcome screen lag during folder scanning (#394)
- Resolved missing icons and resources in Mac app
- Fixed lint and type errors across the codebase
- Cleaned up duplicate and stray files from web directory
π₯ Contributors
First-time contributors to VibeTunnel:- @amazanov - Fixed PAM module and npm_config_prefix issues on Ubuntu, improving Linux compatibility (#380)
[1.0.0-beta.11] - 2025-07-17
Better Settings Organization
- Reorganized settings into logical tabs for easier navigation (#359)
- Repository base path now syncs automatically between Mac app and web UI (#358)
- Simplified welcome screen repository display (#372)
UI Context Awareness
- Spawn window toggle shows only when relevant (#357)
NPM Package Now Available
- vibetunnel (server) is now available as an npm package for easy installation on macOS and Linux (#360, #377)
- Install with
npm install -g vibetunnel
- no build tools required! - Includes prebuilt binaries for Node.js 20, 22, 23, and 24
- Supports macOS (Intel and Apple Silicon) and Linux (x64 and arm64) (#344)
Enhanced Git Diff Tool Support
- Added JuxtaCode to the list of supported Git diff tools with automatic detection
Improved vt
Command
- Added verbosity control with
-q
(quiet),-v
(verbose),-vv
(extra verbose) flags (#356) - New
vt title
command to update session names from within a VibeTunnel session (via @tarasenko)
π Bug Fixes
- Fixed npm package installation issues (#360, #377)
- Fixed control message processing loop (#372)
- Fixed file browser constant refresh issue (#354)
- Replaced bell icon with settings icon for better clarity (#366)
- Resolved Tailwind CSS performance warning
π₯ Contributors
First-time contributors to VibeTunnel:- @janremes - Implemented Git repository discovery with folder selection and automatic repo detection (#274)
- @lukeswitz - Fixed duplicate session creation with intelligent detection logic (#345)
[1.0.0-beta.10] - 2025-07-15
Repository Discovery
- Automatic Git repository detection when creating new sessions (#301) (via @mrshu)
- Recently modified repositories displayed in new session dialog
- Quick project access with one-click repository selection
Keyboard Shortcut Handling
- Redesigned keyboard capture system with intelligent priority handling (#298) (via @tarasenko)
- Browser shortcuts work naturally: Cmd+Shift+A (tab search), Cmd+1-9 (tab switching), Alt+Arrow keys
- Visual keyboard capture indicator with detailed tooltips
- Double-Escape toggle for switching between browser and terminal keyboard modes
Theme System
- Dracula theme is now the default for new users (#349)
- Professional light mode with improved contrast (#314)
- Easy theme switching between light and dark modes
- Enhanced terminal color schemes (#332)
Development Server Mode
- New βDevelopment Serverβ mode in Debug Settings enables hot reload (#316)
- Significantly faster iteration when developing the web interface
- Hot reload works with full VibeTunnel functionality
π Bug Fixes
- Fixed Safari clipboard paste on iOS and macOS (#336)
- Fixed duplicate session creation with intelligent detection (#345) (via @lukeswitz)
- Added keyboard navigation in session grid (arrow keys, Enter, etc.) (#322)
- Fixed race conditions in network access mode (#347)
- Improved SSH key manager modal layout (#325) (via @hewigovens)
- Updated all dependencies to latest stable versions
- Enhanced TypeScript configuration with better type safety
π₯ Contributors
First-time contributors to VibeTunnel:- @davidgomesdev - Transformed SessionListView to clean MVVM architecture for better maintainability (#217)
- @jeffhurray - Consolidated z-index management to prevent UI layer conflicts (#291)
- @hewigovens - Fixed SSH key manager modal layout and improved test compatibility (#325)
- @tarasenko - Added browser keyboard shortcut support with intelligent priority handling (#298)
[1.0.0-beta.9] - 2025-07-11
Terminal Crash Fix
- Replaced Microsoftβs node-pty with custom fork to resolve random terminal crashes (#304)
- Improved thread-safe operations and resource management
- Addresses stability issues affecting VS Code and other Electron applications
Server Crash Detection
- Added crash detection and recovery system for server failures (#308)
- Provides immediate feedback with specific error codes
- Improved troubleshooting and error reporting
Mobile Experience
- Fixed continuous resize loop on mobile devices (#305)
- Improved mobile terminal width management
- Added support for smaller grid sizes on compact devices
- Added Alt+Delete/Left/Right keyboard shortcuts for mobile users (#290)
- Fixed mobile header overflow when using dropdown menus (#295)
Cloudflare Integration
- Improved tunnel setup with stream-based monitoring (#306)
- Enhanced error handling and more reliable setup process
Git Repository Discovery
- Enhanced folder selection when creating new sessions (#274) (via @janremes)
- Added intelligent Git repository discovery in selected folders
- Fixed multiple bugs in repository discovery (#282)
π Bug Fixes
- Fixed terminal titles jumping due to activity indicators (#309)
- Consolidated z-index management to prevent UI layer conflicts (#291) (via @jeffhurray)
- Enhanced event handling for better cross-platform compatibility
- Improved file browser functionality with better click handling
π₯ Contributors
First-time contributors to VibeTunnel:- @claywarren - Fixed infinite scroll loop that could freeze the browser (#206)
- @luisnell - Added Apple Silicon Homebrew path check for VT tool installation
[1.0.0-beta.8] - 2025-07-08
π Bug Fixes
- Fixed release builds to correctly bundle all Homebrew library dependencies (#269)
- Fixed app launch on systems without developer tools installed
- Fixed file browser going dark due to event bubbling issues with modal handling
- Updated build scripts to handle dynamic library dependencies properly
[1.0.0-beta.7] - 2025-07-08
AI Session Context Injection
- Inject project context into Claude.ai sessions with a single click (#210, #218)
- Automatically detects Claude browser windows
- Includes git repository details, current branch, and recent commits
- Configurable prompts to match workflow
Terminal Performance
- Fixed critical flow control issue causing xterm.js buffer overflow (#223)
- Fixed infinite scroll loop that could freeze the browser
- Fixed race conditions in terminal output handling
- Improved memory management for long-running sessions
- Better handling of high-volume terminal output
UI Performance
- Removed UI animations causing 1-2 second delays
- Disabled View Transitions API for instant session navigation
- Fixed modal backdrop pointer-events issues (#195)
- Smoother menu bar UI without jumping
Touch Device & Mobile
- Unified keyboard layout for all mobile devices
- Universal touch device detection
- Inline-edit pencil always visible on touch devices
- New compact keyboard layout optimized for tablets
- Fixed touch interaction issues with modals
Fish Shell Integration
- Full support for Fish shell command expansion and completions (#228, #242)
- Proper handling of Fish-specific syntax
- Fixed shell configuration files not being loaded
Developer Experience
- Preserve Swift package resolution for faster builds
- Better Node.js detection handling fnm/homebrew conflicts (#246, #253)
- Hash-based vt script version detection
- Delete old sessions when VibeTunnel version changes (#254)
π Bug Fixes
- Fixed session state synchronization between web and native clients
- Resolved memory leaks in long-running sessions
- Fixed connection timeout issues on slower networks
- Better cleanup of terminal processes and resources
- Fixed various UI glitches and visual artifacts
- Resolved sidebar animation issues
- Fixed file browser problems
- Unified control protocol for terminal sessions (#239)
- Improved Unix socket handling with better error recovery
π₯ Contributors
First-time contributors to VibeTunnel:- @deveshseth - Fixed responsive layout issues preventing proper desktop mode transition (#201)
- @raghavsethi - Added fish shell expansion support with proper syntax handling (#228, #242)
- @raghavsethi - Fixed Xcode Node.js detection issues with fnm/homebrew conflicts (#246, #253)
- @sandeepjak2007 - Added paste button to quick keyboard for improved iOS usability (#227)
- @Dimillian - Fixed WebSocket and terminal resize loop on iOS devices (#224)
[1.0.0-beta.6] - 2025-07-03
Git Repository Monitoring
- Real-time Git status in session rows with branch name and change counts (#200)
- Color-coded status: orange for branches, yellow for uncommitted changes
- Click folder icons to open repositories in Finder
- Context menu option to open repositories on GitHub
- 5-second cache prevents excessive git commands
- Automatically finds git repositories in parent directories
Enhanced Command-Line Tool
vt title
can set terminal title - even Claude can use it! (#153)vt help
displays binary path, version, build date, and platform info- Automatic detection of Homebrew installations on ARM Macs
Menu Bar Enhancements
- Powerful menu bar with visual activity indicators (#176)
- See all terminal sessions and Claude Code status (#160)
- Mac stays awake when running terminal sessions
Web Interface Improvements
- Complete UI overhaul with improved color scheme and animations (#179)
- Collapsible sidebar to maximize terminal viewing space (#175)
- Fixed race conditions causing sessions to appear as βmissingβ
- Improved responsive design with better touch targets
π Bug Fixes
- Fixed terminal output corruption from race conditions
- Fixed terminal titles jumping or getting stuck
- Fixed double logger initialization deleting log files
- Improved PTY manager cleanup and timer management
- Enhanced error handling throughout server stack
Simplified Tailscale Setup
- Switched to Tailscaleβs local API for easier configuration (#184)
- Removed manual token management requirements
- Streamlined connection UI
π₯ Contributors
First-time contributors to VibeTunnel:- @noppe - Enabled scrolling in ConnectionView for narrow windows, improving UI accessibility
- @tarasenko - Added title mode support and enhanced CLI installation verification (#153)
[1.0.0-beta.5] - 2025-06-29
UI Improvements
- Web interface now shows full version including beta suffix
- Cleaner build output by filtering non-actionable Xcode warnings
- Fixed scrolling issues on mobile web browsers
Infrastructure
- Web version automatically reads from package.json at build time
- Build process validates version consistency between macOS and web
- Tests only run when relevant files change (iOS/Mac/Web)
- Comprehensive Playwright tests for web frontend reliability (#120)
π Bug Fixes
- Fixed authentication-related error messages when running with
--no-auth
- Fixed frontend log streaming in no-auth mode
- Resolved flaky tests and improved test infrastructure (#205)
- Enhanced release process documentation with version sync requirements
- Better test fixtures, helpers, and debugging capabilities (#73)
- Cleaner logs when running in development mode
π₯ Contributors
First-time contributors to VibeTunnel:- @manuelmaly - Added gemini quick start button and slash commands for enhanced workflow (#128, #138)
- @billyb2 - Fixed repeated screen recording permission dialogs for better user experience
[1.0.0-beta.4] - 2025-06-25
- We replaced HTTP Basic auth with System Login or SSH Keys for better security (#43).
- Sessions now show exited terminals by default - no more hunting for terminated sessions
- Reorganized sidebar with cleaner, more compact header and better button placement
- Added user menu in sidebar for quick access to settings and logout
- Enhanced responsive design with better adaptation to different screen sizes
- Improved touch targets and spacing for mobile users
- Leverages View Transitions API for smoother animations with CSS fallbacks
- More intuitive default settings for better out-of-box experience
π₯ Contributors
First-time contributors to VibeTunnel:- @hjanuschka - Implemented authentication system with SSH key management for better security (#43)
- @hjanuschka - Added screen sharing functionality with WebRTC (later removed in beta.13) (#209)
- @chrisreyn - Fixed double shell-wrapping issues for aliases in vt script (#132)
[1.0.0-beta.3] - 2025-06-23
Thereβs too much to list! This is the version youβve been waiting for.- Redesigned, responsive, animated frontend.
- Improved terminal width spanning and layout optimization
- File-Picker to see files on-the-go.
- Creating new Terminals is now much more reliable.
- Added terminal font size adjustment in the settings dropdown
- Fresh new icon for Progressive Web App installations
- Refined bounce animations for a more subtle, professional feel
- Added retro CRT-style phosphor decay visual effect for closed terminals
- Fixed buffer aggregator message handling for smoother terminal updates
- Better support for shell aliases and improved debug logging
- Enhanced Unix socket server implementation for faster local communication
- Special handling for Warp terminal with custom enter key behavior
- New dock menu with quick actions when right-clicking the app icon
- More resilient vt command-line tool with better error handling
- Ensured vibetunnel server properly terminates when Mac app is killed
π₯ Contributors
First-time contributors to VibeTunnel:- @tarasenko - Added Bonjour/mDNS service discovery for iOS app connectivity (#226)
- @PiotrBosak - Updated README documentation for clarity
- @zhouzhuojie - Added Cloudflare Quick Tunnel as a new access option
[1.0.0-beta.2] - 2025-06-19
π¨ Improvements
- Redesigned slick new web frontend
- Faster terminal rendering in the web frontend
- New Sessions spawn new Terminal windows. (This needs Applescript and Accessibility permissions)
- Enhanced font handling with system font priority
- Better async operations in PTY service for improved performance
- Improved window activation when showing the welcome and settings windows
- Preparations for Linux support
π Bug Fixes
- Fixed window front order when dock icon is hidden
- Fixed PTY service enhancements with proper async operations
- Fixed race condition in session creation that caused frontend to open previous session
π₯ Contributors
First-time contributors to VibeTunnel:- @moffmann - Updated CONTRIBUTING.md documentation
[1.0.0-beta.1] - 2025-06-17
π First Public Beta Release
This is the first public beta release of VibeTunnel, ready for testing by early adopters.β¨ Whatβs Included
- Complete terminal session proxying to web browsers
- Support for multiple concurrent sessions
- Real-time terminal rendering with full TTY support
- Secure password-protected dashboard
- Tailscale and ngrok integration for remote access
- Automatic updates via Sparkle framework
- Native macOS menu bar application
π Bug Fixes Since Internal Testing
- Fixed visible circle spacer in menu (now uses Color.clear)
- Removed development files from app bundle
- Enhanced build process with automatic cleanup
- Fixed Sparkle API compatibility for v2.7.0
π Notes
- This is a beta release - please report any issues on GitHub
- Auto-update functionality is fully enabled
- All core features are stable and ready for daily use
β¨ Whatβs New Since Internal Testing
- Improved stability and performance
- Enhanced error handling for edge cases
- Refined UI/UX based on internal feedback
- Better session cleanup and resource management
- Optimized for macOS Sonoma and Sequoia
π Known Issues
- Occasional connection drops with certain terminal applications
- Performance optimization needed for very long sessions
- Some terminal escape sequences may not render perfectly
π Notes
- This is a beta release - please report any issues on GitHub
- Auto-update functionality is fully enabled
- All core features are stable and ready for daily use
[1.0.0] - 2025-06-16
π Initial Release
VibeTunnel is a native macOS application that proxies terminal sessions to web browsers, allowing you to monitor and control terminals from any device.β¨ Core Features
Terminal Management
- Terminal Session Proxying - Run any command with
vt
prefix to make it accessible via web browser - Multiple Concurrent Sessions - Support for multiple terminal sessions running simultaneously
- Session Recording - All sessions automatically recorded in asciinema format for later playback
- Full TTY Support - Proper handling of terminal control sequences, colors, and special characters
- Interactive Commands - Support for interactive applications like vim, htop, and more
- Shell Integration - Direct shell access with
vt --shell
orvt -i
Web Interface
- Browser-Based Dashboard - Access all terminal sessions at http://localhost:4020
- Real-time Terminal Rendering - Live terminal output using asciinema player
- WebSocket Streaming - Low-latency real-time updates for terminal I/O
- Mobile Responsive - Fully functional on phones, tablets, and desktop browsers
- Session Management UI - Create, view, kill, and manage sessions from the web interface
Security & Access Control
- Password Protection - Optional password authentication for dashboard access
- Keychain Integration - Secure password storage using macOS Keychain
- Access Modes - Choose between localhost-only, network, or secure tunneling
- Basic Authentication - HTTP Basic Auth support for network access
Remote Access Options
- Tailscale Integration - Access VibeTunnel through your Tailscale network
- ngrok Support - Built-in ngrok tunneling for public access with authentication
- Network Mode - Local network access with IP-based connections
macOS Integration
- Menu Bar Application - Lives in the system menu bar with optional dock mode
- Launch at Login - Automatic startup with macOS
- Auto Updates - Sparkle framework integration for seamless updates
- Native Swift/SwiftUI - Built with modern macOS technologies
- Universal Binary - Native support for both Intel and Apple Silicon Macs
CLI Tool (vt
)
- Command Wrapper - Prefix any command with
vt
to tunnel it - Claude Integration - Special support for AI assistants with
vt --claude
andvt --claude-yolo
- Direct Execution - Bypass shell with
vt -S
for direct command execution - Automatic Installation - CLI tool automatically installed to /usr/local/bin
Server Implementation
- Dual Server Architecture - Choose between Rust (default) or Swift server backends
- High Performance - Rust server for efficient TTY forwarding and process management
- RESTful APIs - Clean API design for session management
- Health Monitoring - Built-in health check endpoints
Developer Features
- Server Console - Debug view showing server logs and diagnostics
- Configurable Ports - Change server port from default 4020
- Session Cleanup - Automatic cleanup of stale sessions on startup
- Comprehensive Logging - Detailed logs for debugging
π οΈ Technical Details
- Minimum macOS Version: 14.0 (Sonoma)
- Architecture: Universal Binary (Intel + Apple Silicon)
- Languages: Swift 6.0, Rust, TypeScript
- UI Framework: SwiftUI
- Web Technologies: TypeScript, Tailwind CSS, WebSockets
- Build System: Xcode, Swift Package Manager, Cargo, npm
π¦ Installation
- Download DMG from GitHub releases
- Drag VibeTunnel to Applications folder
- Launch from Applications or Spotlight
- CLI tool (
vt
) automatically installed on first launch
π Quick Start
π₯ Contributors
Created by:- @badlogic - Mario Zechner
- @mitsuhiko - Armin Ronacher
- @steipete - Peter Steinberger
- @hjanuschka - Implemented comprehensive authentication system with SSH key management and PAM support (#43)
- @hjanuschka - Added keyboard shortcut highlighter, fixed Japanese input duplication on iOS, and sleep prevention option (#114, #102, #146)
π License
VibeTunnel is open source software licensed under the MIT License.Version History
Pre-release Development
The project went through extensive development before the 1.0.0 release, including:- Initial TTY forwarding implementation using Rust
- macOS app foundation with SwiftUI
- Integration of asciinema format for session recording
- Web frontend development with real-time terminal rendering
- Hummingbird HTTP server implementation
- ngrok integration for secure tunneling
- Sparkle framework integration for auto-updates
- Comprehensive testing and bug fixes
- UI/UX refinements and mobile optimizations