mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-27 15:17:38 +00:00
829 lines
No EOL
39 KiB
Markdown
829 lines
No EOL
39 KiB
Markdown
# 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](https://github.com/jblwilliams) - Removed unused ScreenCaptureKit import from ServerManager (#486)
|
|
- [@lox](https://github.com/lox) - Added Tailscale Serve integration with automatic authentication (#472)
|
|
- [@diegopetrucci](https://github.com/diegopetrucci) - Contributed push notifications onboarding screen (via #474)
|
|
|
|
Additional contributors:
|
|
- [@hjanuschka](https://github.com/hjanuschka) - Added tmux integration (#460), fixed iOS keyboard dismissal issue (#484), and fixed blinking cursor in binary terminal mode (#489)
|
|
- [@fal3](https://github.com/fal3) - Fixed Test Notification Button to VibeTunnel Mac App (#483)
|
|
- [@hewigovens](https://github.com/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](https://github.com/gopikori) - Made ngrok URLs clickable with copy button in Settings (#422)
|
|
- [@claudemini](https://github.com/claudemini) - Improved theme toggle UI with better icon and tooltips (#438)
|
|
|
|
Additional contributors:
|
|
- [@hewigovens](https://github.com/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](https://github.com/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](https://github.com/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](https://github.com/janremes) - Implemented Git repository discovery with folder selection and automatic repo detection (#274)
|
|
- [@lukeswitz](https://github.com/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](https://github.com/davidgomesdev) - Transformed SessionListView to clean MVVM architecture for better maintainability (#217)
|
|
- [@jeffhurray](https://github.com/jeffhurray) - Consolidated z-index management to prevent UI layer conflicts (#291)
|
|
- [@hewigovens](https://github.com/hewigovens) - Fixed SSH key manager modal layout and improved test compatibility (#325)
|
|
- [@tarasenko](https://github.com/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](https://github.com/claywarren) - Fixed infinite scroll loop that could freeze the browser (#206)
|
|
- [@luisnell](https://github.com/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](https://github.com/deveshseth) - Fixed responsive layout issues preventing proper desktop mode transition (#201)
|
|
- [@raghavsethi](https://github.com/raghavsethi) - Added fish shell expansion support with proper syntax handling (#228, #242)
|
|
- [@raghavsethi](https://github.com/raghavsethi) - Fixed Xcode Node.js detection issues with fnm/homebrew conflicts (#246, #253)
|
|
- [@sandeepjak2007](https://github.com/sandeepjak2007) - Added paste button to quick keyboard for improved iOS usability (#227)
|
|
- [@Dimillian](https://github.com/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](https://github.com/noppe) - Enabled scrolling in ConnectionView for narrow windows, improving UI accessibility
|
|
- [@tarasenko](https://github.com/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](https://github.com/manuelmaly) - Added gemini quick start button and slash commands for enhanced workflow (#128, #138)
|
|
- [@billyb2](https://github.com/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](https://github.com/hjanuschka) - Implemented authentication system with SSH key management for better security (#43)
|
|
- [@hjanuschka](https://github.com/hjanuschka) - Added screen sharing functionality with WebRTC (later removed in beta.13) (#209)
|
|
- [@chrisreyn](https://github.com/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](https://github.com/tarasenko) - Added Bonjour/mDNS service discovery for iOS app connectivity (#226)
|
|
- [@PiotrBosak](https://github.com/PiotrBosak) - Updated README documentation for clarity
|
|
- [@zhouzhuojie](https://github.com/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](https://github.com/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` or `vt -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` and `vt --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
|
|
|
|
```bash
|
|
# Monitor AI agents
|
|
vt claude
|
|
|
|
# Run development servers
|
|
vt npm run dev
|
|
|
|
# Watch long-running processes
|
|
vt python train_model.py
|
|
|
|
# Open interactive shell
|
|
vt --shell
|
|
```
|
|
|
|
### 👥 Contributors
|
|
|
|
Created by:
|
|
- [@badlogic](https://mariozechner.at/) - Mario Zechner
|
|
- [@mitsuhiko](https://lucumr.pocoo.org/) - Armin Ronacher
|
|
- [@steipete](https://steipete.com/) - Peter Steinberger
|
|
|
|
First-time contributors to VibeTunnel:
|
|
- [@hjanuschka](https://github.com/hjanuschka) - Implemented comprehensive authentication system with SSH key management and PAM support (#43)
|
|
- [@hjanuschka](https://github.com/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 |