vibetunnel/CHANGELOG.md

19 KiB

Changelog

[1.0.0-beta.9] - 2025-01-11

🛡️ Stability & Reliability

Critical Crash Fix

  • FIXED: Eliminated random terminal crashes by replacing Microsoft's node-pty with a custom fork that provides thread-safe operations and better resource management. This resolves critical stability issues that affected VS Code and other Electron applications.

Server Crash Detection

  • NEW: Intelligent crash detection and recovery system that automatically detects server failures and provides immediate feedback with specific error codes, dramatically reducing troubleshooting time.

📱 Mobile Experience

Terminal Stability on Mobile

  • FIXED: Resolved the continuous resize loop that made terminals unusable on mobile devices. The terminal now maintains a stable view without jumping or unexpected scrolling.
  • IMPROVED: Better mobile terminal width management - user preferences are now properly respected throughout the session.
  • ENHANCED: Support for smaller grid sizes on compact mobile devices, providing better visibility on phones.

Mobile Keyboard Support

  • NEW: Added Alt+Delete/Left/Right keyboard shortcuts specifically for mobile users, improving text editing capabilities.
  • FIXED: Mobile header no longer overflows when using dropdown menus, providing a cleaner interface.

🚀 Features & Improvements

Cloudflare Integration

  • ENHANCED: Significantly improved Cloudflare tunnel setup with faster, more reliable stream-based monitoring instead of polling. Setup is now smoother with better error handling.

Git Repository Discovery

  • IMPROVED: Enhanced folder selection when creating new sessions - VibeTunnel now intelligently discovers Git repositories in your selected folder, making project navigation easier.
  • FIXED: Several bugs in repository discovery that could cause incorrect folder detection or errors.

🎨 UI Polish

Visual Stability

  • FIXED: Terminal titles no longer jump around due to activity indicators, providing a stable and professional interface.
  • IMPROVED: Consolidated z-index management throughout the interface, preventing UI elements from appearing in incorrect layers.

🔧 Under the Hood

  • Enhanced event handling for better cross-platform compatibility
  • Improved file browser functionality with better click handling
  • Updated documentation with expanded specifications and data flow diagrams
  • Various test improvements for better code quality

[1.0.0-beta.8] - 2025-07-08

Homebrew Library Dependencies

  • FIXED: Release builds now correctly bundle all Homebrew library dependencies
  • FIXED: App launches reliably on systems without developer tools installed
  • Updated build scripts to handle dynamic library dependencies properly

File Browser Enhancements

  • FIXED: File browser going dark due to event bubbling issues with modal handling

[1.0.0-beta.7] - 2025-07-08

🎯 Major Features

🖥️ **Remote Screen Sharing (Beta) **

  • Share your Mac screen remotely through any web browser - perfect for demonstrations, pair programming, or remote support
  • Ultra-low latency using WebRTC technology with automatic quality adjustment based on network conditions
  • Privacy-focused with deferred permission requests (only asks for screen recording when you actually start sharing)
  • Automatic 4K resolution capping for 5K+ displays to prevent web interface clipping
  • Clear visual indicators when screen sharing is active

🪄 Magic Wand for AI Sessions

  • Instantly inject helpful context into Claude.ai sessions with a single click
  • Automatically detects Claude browser windows and adds project information
  • Includes git repository details, current branch, and recent commit history
  • Configurable prompts to match your workflow
  • More forceful prompt injection to prevent AI from directly using the injected title

🚀 Performance & Stability Improvements

Terminal Performance

  • FIXED: Critical flow control issue that caused xterm.js buffer overflow and terminal freezing
  • FIXED: Infinite scroll loop in terminal output that could freeze the browser
  • FIXED: Race conditions in terminal output handling causing corrupted or out-of-order text
  • Improved memory management for long-running sessions
  • Better handling of high-volume terminal output

UI Performance

  • Removed all UI animations that were causing 1-2 second delays when reopening sessions
  • Disabled View Transitions API for instant session navigation
  • Fixed modal backdrop pointer-events issues preventing interaction
  • Smoother menu bar UI without jumping when copy icon appears

📱 Touch Device & Mobile Improvements

iPad/Tablet Support

  • Unified keyboard layout for all mobile devices (removed separate iPad layout)
  • Universal touch device detection for better keyboard mode handling
  • Inline-edit pencil now always visible on touch devices
  • Reorganized touch device layout with better button placement
  • Fixed touch interaction issues with modals and overlays

Mobile Keyboard

  • New compact keyboard layout optimized for tablets
  • Better handling of keyboard shortcuts on touch devices
  • Improved responsiveness for mobile web browsers

🐚 Shell Support Enhancements

Fish Shell Integration

  • Full support for Fish shell command expansion and completions
  • Proper handling of Fish-specific syntax and features
  • Fixed shell configuration files not being loaded correctly

🔧 Developer Experience

Build System Improvements

  • Preserve Swift package resolution in build.sh for faster builds
  • Better Node.js detection that handles fnm/homebrew conflicts

Version Management

  • Implemented hash-based vt script version detection
  • Delete old sessions automatically when VibeTunnel version changes
  • Better handling of version mismatches between components

🐛 Bug Fixes

Session Management

  • 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

UI/UX Fixes

  • Fixed various UI glitches and visual artifacts
  • Resolved sidebar animation issues
  • Fixed file browser problems
  • Corrected ngrok documentation about free static domains

🔍 Other Improvements

Control Protocol

  • Unified control protocol for better terminal and screen sharing integration
  • Improved Unix socket handling with better error recovery
  • Enhanced WebRTC connection management

Documentation

  • Updated ngrok docs to clarify one free static domain per user
  • Added comprehensive ScreenCaptureKit documentation
  • Removed outdated debug documentation

[1.0.0-beta.6] - 2025-07-03

New Features

Git Repository Monitoring 🆕

  • Real-time Git Status - Session rows now display git information including branch name and change counts
  • Visual Indicators - Color-coded status: orange for branches, yellow for uncommitted changes
  • Quick Navigation - Click folder icons to open repositories in Finder
  • GitHub Integration - Context menu option to open repositories directly on GitHub
  • Smart Caching - 5-second cache prevents excessive git commands while keeping info fresh
  • Repository Detection - Automatically finds git repositories in parent directories

Enhanced Command-Line Tool

  • Terminal Title Management - vt title can set the title of your Terminal. Even Claude can use it!
  • Version Information - vt help now displays binary path, version, build date, and platform information for easier troubleshooting
  • Apple Silicon Support - Automatic detection of Homebrew installations on ARM Macs (/opt/homebrew path)

Menu Bar Enhancements

  • Rich Session Interface - Powerful new menu bar with visual activity indicators and real-time status tracking
  • Native Session Overview - See all open terminal sessions and even Claude Code status right from the menu bar.
  • Sleep Prevention - Mac stays awake when running terminal sessions

Web Interface Improvements

  • Modern Visual Design - Complete UI overhaul with improved color scheme, animations, and visual hierarchy
  • Collapsible Sidebar - New toggle button to maximize terminal viewing space (preference is remembered)
  • Better Session Loading - Fixed race conditions that caused sessions to appear as "missing"
  • Responsive Enhancements - Improved adaptation to different screen sizes with better touch targets

🚀 Performance & Stability

Terminal Output Reliability

  • Fixed Output Corruption - Resolved race conditions causing out-of-order or corrupted terminal output
  • Stable Title Updates - Terminal titles now update smoothly without flickering or getting stuck

Server Improvements

  • Logger Fix - Fixed double initialization that was deleting log files
  • Better Resource Cleanup - Improved PTY manager cleanup and timer management
  • Enhanced Error Handling - More robust error handling throughout the server stack

Simplified Tailscale Setup

  • Switched to Tailscale's local API for easier configuration
  • Removed manual token management requirements
  • Streamlined connection UI for minimal setup

[1.0.0-beta.5] - 2025-01-29

🎨 UI Improvements

  • Version Display - Web interface now shows full version including beta suffix (e.g., v1.0.0-beta.5)
  • Build Filtering - Cleaner build output by filtering non-actionable Xcode warnings
  • Mobile Scrolling - Fixed scrolling issues on mobile web browsers

🔧 Infrastructure

  • Single Source of Truth - Web version now automatically reads from package.json at build time
  • Version Sync Validation - Build process validates version consistency between macOS and web
  • CI Optimization - Tests only run when relevant files change (iOS/Mac/Web)
  • E2E Test Suite - Comprehensive Playwright tests for web frontend reliability

🐛 Bug Fixes

  • No-Auth Mode - Fixed authentication-related error messages when running with --no-auth
  • Log Streaming - Fixed frontend log streaming in no-auth mode
  • Test Reliability - Resolved flaky tests and improved test infrastructure

📝 Developer Experience

  • Release Documentation - Enhanced release process documentation with version sync requirements
  • Test Improvements - Better test fixtures, helpers, and debugging capabilities
  • Error Suppression - Cleaner logs when running in development mode

[1.0.0-beta.4] - 2025-06-25

  • We replaced HTTP Basic auth with System Login or SSH Keys for better security.
  • 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

[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

[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

[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

# 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:

📄 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