Skip to content

Releases: amantus-ai/vibetunnel

VibeTunnel 1.0.0 Beta 18

Pre-release

Choose a tag to compare

@steipete steipete released this 11 Jul 08:28
v1.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 (beta dist-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

Pre-release

Choose a tag to compare

@steipete steipete released this 03 Jul 19:09
v1.0.0-beta.17
4d12219

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 beta dist-tag at 2026-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

Pre-release

Choose a tag to compare

@steipete steipete released this 16 Jun 00:16
v1.0.0-beta.16
7346496

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-fwd forwarder 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 vt sessions 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 vt git 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...
Read more

VibeTunnel 1.0.0-beta.15

Pre-release

Choose a tag to compare

@steipete steipete released this 02 Aug 00:21

✨ Major Features

Push Notifications (#475)

  • Native push notifications for terminal events - get notified when commands complete, sessions start/end, or errors occur
  • Customizable notification types: Session exits, command completion (>3s), command errors, terminal bell, Claude AI turn notifications
  • Smart Claude detection: Automatically identifies Claude CLI sessions and tracks when Claude finishes responding
  • Complete overhaul of the notification system with reliable push notifications for session events
  • Test notification feature now works seamlessly between web frontend and Mac app
  • Improved notification preferences with granular control over notification types
  • Better error handling and recovery for notification delivery failures
  • Enhanced integration between web services and native Mac notification service

Git Worktree Management & Follow Mode (#452)

  • Full worktree support: Create, manage, and delete Git worktrees directly from VibeTunnel
  • VibeTunnel intelligently follows Git worktrees instead of just branches, perfect for developers using worktrees for parallel development
  • When you switch branches in your editor/IDE, VibeTunnel automatically switches to the corresponding worktree terminal session
  • The vt follow command works contextually - run it from either your main repository or a worktree to set up appropriate tracking
  • Visual indicators: Fork icon (⑂) shows worktree sessions, branch names displayed throughout UI
  • Follow mode displays worktree paths with ~ for your home directory, making them easier to read
  • HTTP Git API: New endpoints for Git operations (/api/git/status, /api/git/branches, /api/worktrees)
  • Branch selection: Choose branches before creating sessions with real-time repository status

Comprehensive CJK (Chinese, Japanese, Korean) Input Support (#480)

  • Full support for CJK input methods with proper IME (Input Method Editor) integration
  • Fixed input duplication issues that affected Asian language users
  • Improved Z-index management to ensure IME candidates display correctly above terminal content
  • Enhanced keyboard event handling for complex character composition
  • Better compatibility with native macOS and iOS input methods

Terminal Multiplexer Integration (tmux, Zellij & Screen) (#460)

  • Full integration with tmux, Zellij, and GNU Screen terminal multiplexers for persistent sessions
  • Create, list, and attach to tmux/Zellij/Screen sessions directly from VibeTunnel interface
  • Sessions persist across VibeTunnel restarts - never lose your work
  • Perfect for remote development: attach to the same session from multiple devices
  • Supports tmux panes and windows for advanced terminal workflows
  • Seamless switching between standard VibeTunnel sessions and multiplexer sessions

Quick Session Switching with Number Keys

  • When keyboard capture is active, use Cmd+1...9 (Mac) or Ctrl+1...9 (Linux) to instantly switch between sessions
  • Cmd/Ctrl+0 switches to the 10th session
  • Works only when keyboard capture is enabled in session view, allowing quick navigation without mouse
  • Session numbers match the numbers shown in the session list

Enhanced Git Integration

  • See branch names, commit status, and sync state in autocomplete suggestions
  • Real-time display of uncommitted changes (added/modified/deleted files)
  • Branch selector dropdown for switching branches before creating sessions
  • Repository grouping in session list with branch/worktree selectors
  • Consistent branch name formatting with square brackets: [main]

Interface Polish

  • Responsive design: Better mobile/iPad layouts with adaptive button switching
  • Collapsible options: Session options now in expandable sections for cleaner UI
  • Increased menu bar button heights for better clickability
  • Improved spacing and padding throughout the interface
  • Smoother animations and transitions

🐛 Bug Fixes

Project Organization & Stability

  • Enhanced VT command reliability with self-healing capabilities - VT sessions now automatically recover from connection issues
  • Fixed menu bar icon not appearing on app launch

Advanced Features

  • Enhanced Tailscale integration with automatic authentication for seamless secure access (#472)
  • Cleaned up VT command output by removing verbose binary path prefixes and socket disconnect noise

Developer Experience

  • Improved notification system reliability - fixed test notification button integration between Mac app and server (#483)
  • Enhanced notification auto-reconnection behavior when pages are reloaded
  • Added comprehensive logging documentation to README for better troubleshooting
  • Removed obsolete bundle identifier references and updated logging configuration

🔧 Technical Improvements

Improved Terminal Output Handling

  • Enhanced asciinema stream pruning: Removes noisy ANSI sequences for cleaner recordings
  • Better mobile terminal detection to optimize output rendering
  • Fixed terminal resize event handling to prevent output corruption
  • Improved logging for debugging terminal lifecycle issues

Performance & Architecture

  • Completed Tailwind CSS v4 migration with performance optimizations
  • Enhanced Playwright test performance for faster CI runs
  • Updated all dependencies to latest stable versions
  • Improved type safety throughout the codebase, especially for Tailscale authentication
  • Modular refactoring: Split session-view.ts into 7 specialized managers
  • Component breakdown: Refactored session-create-form into smaller components
  • Unified components: Created reusable GitBranchWorktreeSelector
  • Better separation: Clear boundaries between UI and business logic
  • Session rename functionality centralized: Eliminated duplicate code across components
  • Socket-based vt command communication: Replaced HTTP with Unix domain sockets for reliability

Communication & Reliability

  • Unified notification system now uses Server-Sent Events (SSE) for all clients instead of mixed approaches
  • Fixed git status monitoring to prevent EMFILE errors through shallow directory watching
  • Standardized git status terminology - consistently uses 'New' for untracked files across all interfaces
  • Enhanced session cleanup on startup with proper JSON field handling

Developer Experience

  • Improved TypeScript type safety throughout
  • Better error handling and logging
  • Consistent code formatting across macOS and web codebases
  • Removed outdated crash investigation documentation
  • Comprehensive JSDoc documentation added to service classes
  • Removed backwards compatibility for older vt command versions

UI/UX Enhancements

  • Modernized macOS autocomplete dropdown with native SwiftUI materials and transparency
  • Fixed Quick Start Commands UI with proper native macOS table styling
  • Added help tooltips throughout settings UI explaining each notification type
  • Fixed mouse hover selection issues in autocomplete dropdown
  • Improved button click targets for better usability

Socket API Improvements

  • Refactored socket client with type-safe message handling
  • Removed HTTP fallback in favor of pure socket communication for better reliability
  • Added proper TypeScript types for all socket protocol messages
  • Cleaner public API without brittle type casting

Developer Tools

  • Added VIBETUNNEL_PREFER_DERIVED_DATA environment variable for faster Xcode builds
  • Version tracking in socket protocol for better debugging
  • Consolidated duplicate Git status implementations for maintainability
  • Enhanced error logging for session termination debugging

Self-Healing VT Command

  • The vt command now automatically recovers from connection issues and socket failures
  • Improved reliability with automatic reconnection when the server restarts
  • Better error handling for Unix socket communication

iOS Mobile Experience

  • Completely redesigned keyboard handling for iOS devices (#484)
  • Fixed keyboard dismissal issues that left the interface in an inconsistent state (#484)
  • Improved modal interactions with better keyboard management
  • Enhanced direct keyboard input manager for smoother text entry
  • Better handling of iOS-specific keyboard behaviors and quirks
  • Fixed blinking cursor issue in binary terminal mode (#489)

👥 Contributors

Thank you to all the contributors who helped make this release possible!
First-time contributors to VibeTunnel:

  • @jblwilliams - Removed unused ScreenCaptureKit import from ServerManager (#486)
  • @lox - Added Tailscale Serve integration with automatic authentication (#472)
  • @diegopetrucci - Contributed push notifications onboarding screen (via #474)
    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

Pre-release

Choose a tag to compare

@steipete steipete released this 21 Jul 15:21
102f6c5

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

VibeTunnel 1.0.0-beta.13

Pre-release

Choose a tag to compare

@steipete steipete released this 19 Jul 00:11

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

👥 First-time Contributors

  • @hewigovens - Added systemd service management for Linux deployments, refactored installer for user-level services with improved security (#419)

View full changelog

VibeTunnel 1.0.0-beta.12

Pre-release

Choose a tag to compare

@steipete steipete released this 17 Jul 17:34

[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-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

VibeTunnel 1.0.0 Beta 11

Pre-release

Choose a tag to compare

@steipete steipete released this 16 Jul 23:25

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 title command 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

  • @amazanov - Fixed PAM module and npm_config_prefix issues on Ubuntu, improving Linux compatibility (#380)

View full changelog

VibeTunnel 1.0.0 Beta 10

Pre-release

Choose a tag to compare

@steipete steipete released this 15 Jul 07:37

🎯 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)

View full changelog

VibeTunnel 1.0.0 Beta 9

Pre-release

Choose a tag to compare

@steipete steipete released this 11 Jul 08:28
2dc37db

🎯 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!