Releases: amantus-ai/vibetunnel
Releases · amantus-ai/vibetunnel
Release list
VibeTunnel 1.0.0 Beta 18
Changed
- Replaced the Zig terminal forwarder with Rust and pinned its Cargo toolchain, while preserving glibc 2.28 compatibility for prebuilt Linux binaries.
Fixed
- Made the Dockerfile bundled in npm packages build and run directly from packaged runtime artifacts.
View full changelog
Distribution and verification
- npm package (
betadist-tag) - Registry tarball
- Integrity:
sha512-AhTGPMe1cO9wEdTtGYQ7DtlFPnB24mGJQuY3CQKL7UB5h1GHWZPoVCZ+1b8FO3e4m8VRt1XEjRu0hHGFTBRi0Q== - Proof: PR #709 passed all 11 checks; the shipped app and DMG are notarized and stapled; the packaged Rust forwarder passed a live forwarded-command test.
VibeTunnel 1.0.0 Beta 17
Added
- Let HQ remotes advertise a reachable callback origin with
--remote-url, including validated IPv6 and tailnet addresses (thanks @Ebonsignori) (#699).
Fixed
- Require the web session form to select a registered HQ machine, without exposing remote callback tokens or the HQ router's filesystem as machine-local data (thanks @Ebonsignori).
- Updated file-upload dependencies, rebuilt Monaco against a patched sanitizer, and removed an unused vulnerable proxy dependency.
- Kept Tailscale CLI status timeouts responsive when the Swift concurrency executor is saturated.
- Let HQ remotes rejoin automatically after sleep or a network interruption without restarting VibeTunnel (thanks @Ebonsignori) (#698).
- Stopped HQ registration diagnostics from logging Basic or bearer authentication material.
- Restored macOS Release builds on Xcode 16.4 by making Pangolin connection-state handling compatible with Swift 6.1.
View full changelog
npm
- Package: vibetunnel@1.0.0-beta.17, published under the
betadist-tag at2026-07-03T19:21:46.155Z. - Registry tarball: vibetunnel-1.0.0-beta.17.tgz
- Integrity:
sha512-17IbmrdCLoeMfrTvWcN2uSXryxLQe7T2Hb6azR1tD0AIENdcT2NDLd9ZKoLqzj8Aps0NK4Dk4ZloAwCF05cprg== - Package SHA-256:
939d0d98cbbcf2c5d003e5109a2df15e1af0aaddc377b99a7156e3794b4db1ae - Proof: exact-head npm package CI plus a fresh packaged-runtime smoke test of the published tarball candidate.
VibeTunnel 1.0.0 Beta 16
Fixed
- Fixed release preflight to validate the shipped Zig toolchain instead of the removed Rust toolchain.
- Fixed Linux bootstrap for unprivileged users by enabling the repository-pinned pnpm through Corepack with the required permissions.
- Fixed clean-install TypeScript checks by keeping terminal renderer declarations on Lit's public types.
- Fixed the iOS quick-test helper to select an installed iOS 26 simulator instead of an arbitrary older runtime.
- Prevented npm package builds from silently publishing stale runtime dependency versions.
- Prevented tag pushes from racing the signed release script with an obsolete unsigned GitHub release workflow.
- Fixed npm packages to include and select the correct Zig forwarder for Intel and Apple Silicon Macs and x64 and arm64 Linux hosts.
- Fixed packaged servers to load Ghostty's WASM terminal parser, advertise through
bonjour-service, preserve Error diagnostics, and stop cleanly on SIGTERM. - Fixed source-tree terminal snapshots to resolve Ghostty's exported WASM asset before a frontend build.
- Fixed Playwright CI to use configured system Chromium installations without requiring Playwright's browser or ffmpeg bundles.
- Fixed release builds to require exact Zig and pnpm versions, rebuild native resources, and ship a consistently arm64 Apple Silicon app.
- Replaced obsolete callback-style Vitest cases and made CLI forwarding tests independent of stale local build artifacts.
- Restricted npm installs to the documented Node.js 22-24 range, avoiding broken PAM native builds on unsupported newer runtimes.
✨ Improvements
- Add Pangolin Newt integration for managed remote access from the Mac app (#315)
- Add Pinggy CLI integration for public remote access, including optional Keychain token storage for persistent URLs (requested by @empz) (#505)
- Recognize Augment Code's Auggie CLI as an AI assistant, add it to default Quick Start commands, and document setup (requested by @rishitank) (#526)
- Expose a stable, labeled terminal input node for browser automation and accessibility tools (reported by @bharath2020) (#339)
- Show line insertion and deletion counts alongside file changes in web session Git status badges (thanks @abhinavgautam01) (#48)
- Add OpenAI BYOK voice transcription to the iOS terminal keyboard toolbar, with secure Keychain storage and review-before-execution input (via @jblwilliams) (#523)
- Let mobile users reorder, hide, and choose layouts for terminal quick keys, with browser-local persistence and an unchanged default layout (via @ndraiman) (#564)
- Restore clickable Ctrl+letter shortcuts in the Ghostty terminal renderer (reported by @manmal, based on the original implementation by @hjanuschka) (#51)
- Show returning users only the CLI maintenance page after updates, while keeping the full onboarding flow available manually (reported by @MrMage, with earlier investigation by @gioneill) (#411)
- Pin CI actions, runner images, and downloaded build tools to immutable, checksum-verified versions (via @davisbuilds) (#616)
- Make the web app installable with correctly sized 192px and 512px manifest icons (via @Tyoneva) (#615)
- Enlarge mobile session navigation and terminal quick-key tap targets (via @Nachx639) (#647)
- Rotate server logs at 50 MB while retaining one backup file (via @Nachx639) (#641)
- Require Node.js 22.12+ for npm/native builds and generate maintained Node 22/24 prebuilds only.
- Improve mobile session UI with action bar, clipboard manager, and quick keys (via @Jerome2332) (#518)
- Update the native
vt-fwdforwarder and all build paths to Zig 0.16.0, with exact toolchain enforcement (via @sourman) (#611) - Tighten macOS app icon padding to remove white edge
- Add JSONValue coverage for Codable JSON handling
- Add explicit architecture selection to the macOS build tooling (via @rothnic) (#557)
🐛 Bug Fixes
- Run test-port cleanup once per Vitest invocation instead of once per test file, preventing high-core setup timeouts.
- Reject oversized Unix socket frames instead of retaining attacker-controlled multi-gigabyte payload lengths.
- Harden terminal/chat reconnects, Unix socket framing, tunnel startup, Git event fallback, Linux process parsing, and multi-setting config updates against stale or partial state.
- Honor custom control directories in the Zig forwarder and repair incomplete Linux Node.js toolchains during bootstrap.
- Prevent terminal output from a previous session appearing after switching sessions in the web app.
- Detect nix-darwin and other CLI-based Tailscale installations, including daemon status when the macOS app API is unavailable (reported by @teehemkay) (#259)
- Enable native autocorrect for mobile Chat Mode while preserving case-sensitive terminal input and keeping command spellcheck disabled (reported by @patrickjm) (#423)
- Require macOS releases to rebuild the server with the trimmed Node.js runtime instead of silently embedding the full system binary (#271)
- Clarify whether browser login expects a system or configured VibeTunnel password, that verification happens on the host without saving it, and that SSH keys avoid browser password entry (reported by @tleyden) (#555)
- Guide first-time users from local access through Tailscale setup and directly into Remote settings (reported by @carlosjunod) (#539)
- Focus the matching Ghostty tab when opening a macOS session instead of stopping after focusing its window (reported by @singiamtel) (#273)
- Let force-terminated
vtsessions exit instead of rerunning commands outside VibeTunnel, including suspended jobs (reported by @cameroncooke) (#278) - Show long session titles with ellipsis in the compact iPhone header instead of hiding them entirely. (#516)
- Report Tailscale Serve as running after its background setup command exits successfully, instead of leaving the macOS app stuck on “Starting…” (#556)
- Preserve the configured Tailscale Serve port when reset fails instead of hiding a persistent non-default proxy.
- Guide macOS terminal-test permission failures to the correct Automation or Accessibility settings pane (#554)
- Add Warp Preview as a selectable macOS terminal, including app detection and command launching. (#535)
- Show friendly authentication labels in the web user menu instead of raw internal method names (#369)
- Keep macOS DMG labels readable and fully visible across Finder toolbar settings (reported by @MrMage) (#409)
- Accept iOS hardware keyboard input without first opening the software keyboard (#491)
- Keep iOS hardware Escape keys inside active terminal sessions (#492)
- Keep the mobile terminal prompt visible when opening the software keyboard and quick keys (#544)
- Stop reporting macOS Accessibility permission as granted when VibeTunnel can inspect only its own windows (#337)
- Open the current macOS app build's notification settings, including debug/ad-hoc bundle variants, and fall back to the general Notifications pane when needed.
- Show the Accessibility recovery flow when Ghostty or another terminal rejects System Events keystrokes (#625)
- Decode macOS session-creation timestamps in the server's ISO 8601 wire format, preventing a false error after the terminal opens (via @apex-skyner and @yashiels) (#635)
- Allow the macOS app to bind the server to validated custom IPv4 or IPv6 addresses, including dual-stack
::, with correct IPv6 dashboard URLs (via @waxzce) (#576) - Restore iOS terminal rendering, preserve output received during Ghostty startup, and stream stdout for immediate input echo (via @waxzce) (#577)
- Keep Korean and other CJK IME composition events intact and position desktop candidate windows at the terminal cursor (via @jiangwenhan) (#617)
- Prevent rapid iOS slash-command redraws from queuing redundant smooth terminal scrolling (via @Ilakiancs) (#590)
- Keep mobile session header controls visible and comfortably tappable at narrow phone widths (via @nikolasdehor) (#605)
- Jitter iOS reconnection backoff within its configured cap to spread retries after outages (via @bianbiandashen) (#593)
- Keep
vtgit metadata alive for sessions in repositories without an upstream branch, preventing forwarder crashes (via @ndraiman) (#566) - Keep HQ remotes registered through transient health-check failures and remove them only after three consecutive failures (via @bianbiandashen and @nikolasdehor) (#594)
- Fix session creation "data couldn't be read" error on Mac app (#500)
- Correct empty-session CLI setup instructions to point to Settings → General → Command Line Tool (via @saqibameen) (#582)
- Import standard OpenSSH and PKCS#8 Ed25519 private keys with correct public-key derivation and strict integrity validation (via @ye4241) (#638)
- Persist JWT signing secrets across server restarts without weakening file permissions or concurrent star...
VibeTunnel 1.0.0-beta.15
✨ 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 followcommand 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.tsinto 7 specialized managers - Component breakdown: Refactored
session-create-forminto 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_DATAenvironment 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
vtcommand 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)
Additional contributors: - @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)
View full changelog
VibeTunnel 1.0.0-beta.14
✨ 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.jsonshared 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
- 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/configreplacing 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)
Additional contributors: - @hewigovens - Fixed mobile keyboard issues and co-authored systemd support (#426, #441)
View full changelog
VibeTunnel 1.0.0-beta.13
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
vtcommand 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
👥 First-time Contributors
- @hewigovens - Added systemd service management for Linux deployments, refactored installer for user-level services with improved security (#419)
VibeTunnel 1.0.0-beta.12
[1.0.0-beta.12] - 2025-01-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-pamnow 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
VibeTunnel 1.0.0 Beta 11
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)
Improved WebRTC Support
- Fixed threading issues in WebRTC screen capture (#375, #378)
- Resolved screen capture authentication problems (#264, #374)
- More stable screen sharing with proper main thread dispatch
UI Context Awareness
- Screen sharing button only appears when Mac app is connected (#367)
- 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 titlecommand to update session names from within a VibeTunnel session
🐛 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
- Fixed repeated screen recording permission dialogs
👥 First-time Contributors
VibeTunnel 1.0.0 Beta 10
🎯 Major Features
Repository Discovery
- Automatic Git repository detection when creating new sessions
- Recently modified repositories are displayed in the new session dialog
- Quick project access with one-click repository selection
Keyboard Shortcut Handling
- Redesigned keyboard capture system with intelligent priority handling
- Browser shortcuts now work naturally: Cmd+Shift+A (tab search), Cmd+1-9 (tab switching), Alt+Arrow keys (browser navigation)
- 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
- Professional light mode with improved contrast and modern styling
- Easy theme switching between light and dark modes
- Enhanced terminal color schemes and theme management
🚀 Performance & Developer Experience
Development Server Mode
- New "Development Server" mode in Debug Settings enables hot reload for web changes
- Significantly faster iteration when developing the web interface
- Hot reload works with full VibeTunnel functionality
🛠️ Bug Fixes & Improvements
Cross-Platform Compatibility
- FIXED: Safari clipboard paste now works reliably on iOS and macOS
- Improved mobile experience with better responsive behavior
- Enhanced cross-browser compatibility
Session Management
- FIXED: Prevented duplicate session creation with intelligent detection
- Added keyboard navigation in session grid (arrow keys, Enter, etc.)
- Improved session organization and list management
Network & SSH
- FIXED: Race conditions in network access mode that caused connection failures
- More robust network configuration handling and error recovery
- Improved SSH key manager with better modal layout and responsive design
🔧 Under the Hood
- Updated all dependencies to latest stable versions
- Enhanced TypeScript configuration with better type safety
- Simplified CI workflow and improved build reliability
- More comprehensive test suite with better coverage
👥 First-time Contributors
- @birwin93 - Transformed SessionListView to clean MVVM architecture for better maintainability (#217)
- @tarasenko - Added browser keyboard shortcut support with intelligent priority handling (#298)
- @thesunshinejr - Consolidated z-index management to prevent UI layer conflicts (#291)
- @mrshu - Implemented Git repository discovery with folder selection and automatic repo detection (#274)
- @taoxugit - Fixed SSH key manager modal layout and improved test compatibility (#325)
VibeTunnel 1.0.0 Beta 9
🎯 Major Improvements
Stability & Reliability
- Replaced Microsoft node-pty with vendored fork (#304) - Fixes terminal crashes and improves overall stability
- Added crash detection to server monitoring (#308) - Detects and recovers from server process crashes
Mobile Experience
- Fixed mobile terminal resize loop (#305) - Terminals no longer continuously resize on mobile devices
- Improved mobile UI (#310) - Better font sizing and mobile detection for improved readability
- Fixed mobile header overflow (#295) - Dropdown menu prevents UI overflow on small screens
- Added Alt key navigation support on mobile (#290) - Alt+arrow keys now work on mobile devices
🐛 Bug Fixes
UI/UX Fixes
- Removed activity indicator jumping (#309) - Fixed title jumping caused by activity indicator
- Consolidated Z-index logic (#291) - Resolved layering issues throughout the application
- Fixed Mac file selection (#279) - File selection now works correctly in the macOS app
Feature Fixes
- Fixed repository discovery bugs (#282) - Git repository discovery is now more reliable
- Improved folder selection with git repo discovery (#274) - Better integration between features
🔧 Technical Improvements
- Improved Cloudflare integration (#306) - Enhanced performance and reliability
- Added Alt+Delete/Left/Right keyboard support - Expanded keyboard shortcuts for power users
- Expanded specification with data flow documentation - Better developer documentation
- Fixed Playwright test issues - Improved test reliability
👥 First-time Contributors
- @janremes - Implemented Git repository discovery with folder selection and automatic repo detection (#274)
- @jeffhurray - Consolidated z-index management to prevent UI layer conflicts (#291)
This release brings significant stability improvements, especially with the vendored node-pty fork, and major enhancements to the mobile experience. Thank you to all contributors!