Repository navigation
Releases
Vibe99 v0.10.3
Fixes terminal clicks on supported preview file paths (Markdown, PDF and raster images) and HTTP(S) URLs across line breaks:
- Recognizes agy-style word wrapping after hyphens and path separators, preserving the complete target. Supports indented continuation lines and paragraphs containing multiple paths.
- Recognizes hard wraps at the terminal margin when a CLI/tmux redraw loses the normal wrap marker.
- Clicking either fragment opens the complete file or URL without forwarding mouse reports to the TUI. Shift selection and inactive-pane activation rules remain intact.
- Invalidates a cached wrapped link when only one of its rows changes, preventing stale destinations after agent updates.
Verified against the reported agy sample, real pointer tests in both xterm bundles, and the existing terminal-link and pane interaction suites. Reconstruction is bounded and uses margin/separator cues; arbitrary unrelated line breaks are not joined.
Windows packages remain unsigned while code-signing enrollment is pending.
Vibe99 v0.10.2
PDF page navigation, zoom, and Fit width now sit in the existing document header beside Save As and Close. The extra toolbar row is removed, with compact controls matching the header styling.
Verified PDF navigation, zoom/fit, image switching and exact-byte Save As; checked wide and 500 px pane layouts.
Windows packages remain unsigned while code-signing enrollment is pending.
Vibe99 v0.10.1
Open PDF and image files directly beside the terminal that produced them, locally or over SSH.
- PDF previews: page navigation, zoom, and Fit width.
- Image previews: expand above all panes, zoom, and pan.
- Ordinary pane behavior: drag, reorder, stack, focus, and close just like Markdown and terminal panes.
- Save As for Markdown, PDFs, and images uses a local save dialog starting in Downloads; remote files work the same way. PDF/image exports preserve the original bytes.
- Fixed browser focus scrolling that could displace panes after switching between a document and terminal.
PDF/image files are limited to 16 MiB. Supported images: PNG, JPEG, GIF, WebP, AVIF, and BMP. PDF viewing currently excludes passwords, text selection/search, forms, and link actions.
Windows: download the x64 MSI or setup EXE. Existing settings are preserved. Code signing is still pending; these Windows packages are unsigned.
Validated with automated renderer/protocol tests, native Windows local and SSH previews, exact-byte PDF export, and production-package smoke tests.
Vibe99 v0.9.0
Added
- Add a stable Windows release shortcut and local staging command, so a taskbar pin keeps launching the latest locally staged production build without replacing the pin.
- Expand Markdown images above all panes with the same zoom, pan, Fit, actual-size and keyboard controls as Mermaid diagrams. Expanded images remain stable while the document refreshes.
- Paste clipboard images into terminal tools as PNG attachments: local files are staged automatically, and simple SSH sessions upload images to the remote host before pasting its path, including inside tmux. Ctrl+V, Ctrl+Shift+V and the context menu share this behavior without submitting the prompt. Inactive panes consume the first click to focus, so links and Markdown paths open only from an active pane.
Fixed
- Open terminal HTTP(S) URLs with a normal left-click, consistently with Markdown links. Consume link gestures before a remote TUI or tmux receives mouse reports; keep Ctrl-click working and Shift-click available for selection. Inactive panes still consume the first click to focus.
Vibe99 v0.8.1
Added
- Middle-click terminal and Markdown tabs to close them using the normal cleanup rules. Mermaid diagrams can expand above all panes with wheel zoom, drag panning, Fit, actual size, and keyboard controls.
Expanded diagrams are stable snapshots: close and reopen to see file updates. Esc returns to the document; the last tab remains protected from closing.
Vibe99 v0.8.0
Added
- Open local and remote Markdown paths from terminal output as ordinary document panes, with code highlighting, math, Mermaid diagrams, local images, automatic refresh, and inline retry. New panes insert immediately after the source tab, then move and close independently using the existing pane layout and transparency settings. The MD button and command palette also accept a file path.
- Read remote Markdown through independent SSH file connections using existing noninteractive authentication and known hosts. Connections close with their document panes; heartbeat timeouts clean up disconnected remote helpers without installing a permanent server.
- Terminal file previews can infer an existing simple SSH connection from the owned Windows process tree. Complex or ambiguous connections request an explicit mapping instead of silently discarding SSH options.
Fixed
- Fix stale link targets when terminal output replaces a hovered Markdown path or hyperlink while the pointer is outside the pane. Returning to the same row now resolves the current destination, including OSC8 links in SSH output.
- Recovering mouse input now suppresses leftover alternate-screen wheel arrows only in the affected pane. A confirmed local PowerShell prompt restores a leftover alternate screen without moving the cursor on ordinary prompts. External HTTP(S) links open without the unsupported dialog-confirm command. The complete intermittent sleep/tmux/agy scroll incident remains under investigation.
Documentation
- Rewrite the README in a bilingual (EN/CN) format modeled after Owlet, and add a GitHub Pages site (
docs/) with release and repository links for Google Search Console indexing.
Misc
- Prepare SignPath Foundation onboarding with a public code signing policy and a manually dispatched Windows MSI signing and verification workflow. Production signing remains unavailable until Foundation approval and credential setup.
Windows release notes
- Windows x64 installers: choose the MSI or the setup EXE. SHA256 checksums are included.
- HTTP(S) terminal links use Ctrl+click; Markdown paths use a single click. Previews are ordinary panes and keep the existing stacking/transparency behavior.
- Real Windows and SSH tests verified current URL targets, local and remote Markdown paths, live refresh after source closure, and connection cleanup.
- Remote previews require Linux, Python 3, and existing noninteractive SSH authentication/known_hosts. Complex SSH or missing remote folder context needs an explicit location. Documents do not reconnect automatically on restart.
- Windows installers remain unsigned pending SignPath onboarding. The complete intermittent sleep/tmux/agy dual-scroll report remains under investigation.
Vibe99 v0.7.3
Fixed
- Frequent terminal title updates no longer interrupt tab clicks or renaming. Busy terminals now limit queued output so other panes stay responsive, and replaced shells cannot send stale output into their replacements.
- Keep WSL discovery off the application launch and native-shell paths. Discover distributions on request with a bounded background probe, retain usable controls and saved profiles during failure, and offer pane-local shell recovery. Constrain the header layout so its controls remain visible with long tab content.
- PowerShell prompts now recover mouse input after interrupted remote sessions. Other shells can use Recover Mouse Input from the pane menu or Ctrl+Shift+M; legacy mouse reporting and rendering after graphics context loss are also restored.
- Preserve the renderer's settings version when saving, preventing the background mask opacity migration from running again on every restart.
- Switch tabs immediately while preserving double-click rename, avoid redundant focus renders and shortcut-bar rebuilds, batch drag updates and resize measurements, and animate pane movement and activity alerts without repeated layout or shadow repaint work.
- Use the author's saved appearance preferences as shared frontend/backend defaults: 16 px font, 1210 px panes, 70% pane opacity, a 3% background mask, disabled activity alerts, and four starting panes. Preserve the activity-alert preference and migrate legacy opacity values once. Keep platform font fallbacks without bundling font files.
Code signing policy
SignPath Foundation onboarding is pending. This release is unsigned. See our Code signing policy for the proposed SignPath integration, signing scope, maintainer roles, and privacy information.
Vibe99 v0.7.2
Added
-
Added Ctrl+Left Arrow and Ctrl+Right Arrow shortcuts to switch between adjacent panes by spatial position. These shortcuts stop at boundaries (no cycling), complementing the existing cycling navigation.
-
Added
Ctrl+Tabto cycle to the most recently visited pane (browser-style). HoldCtrland pressTabagain to step further back through pane history; addShiftto cycle in reverse. -
Added a color overlay on background panes to make foreground/background distinction obvious without dimming the terminal text; mask color and alpha are configurable in settings.
-
Added font family selection in settings, allowing users to pick any installed monospace font.
-
GitHub releases now publish Windows MSI and setup EXE artifacts alongside Linux RPM, AppImage, and DEB artifacts.
-
Keyboard Shortcuts UI improvements (VIB-43):
- Nav-mode shortcuts now display a "Nav" badge in the settings modal,
making it clear they only work in navigation mode. - Fixed case display: single-letter keys (h, l, n, x, r) now show
lowercase as intended, instead of uppercase (H, L, N, X, R). - Added missing action names and descriptions for all nav-mode
customizable shortcuts (focus-first, focus-last, new-pane,
close-pane, rename-pane). - Hidden non-customizable "jump-to" (1-9) shortcut from the settings
modal, as digit-range bindings cannot be remapped. - Fixed close-pane shortcut: changed from
ctoxto match the
intended navigation-mode key binding documented in the changelog.
- Nav-mode shortcuts now display a "Nav" badge in the settings modal,
-
Navigation mode now displays mode-specific keyboard hints in the status bar. Press
Escto exit navigation mode and return focus to the source pane. -
Navigation mode now supports direct pane jumps with number keys, Home/End navigation, pane creation/close/rename actions, an in-app shortcuts help modal, close confirmation, numbered tab badges, and cleaner focus restoration when leaving navigation mode (VIB-33).
-
Press Ctrl+Shift+O (Cmd+Shift+O on macOS) to open a command palette and jump to any pane by fuzzy-matching its tab title — arrow keys to move, Enter to focus, Esc to dismiss.
-
Redesigned the shell profiles editor with a two-column profile list and editor, profile cloning, drag-and-drop ordering, clearer selected/drag/hover states, and compact sidebar controls while removing the redundant outer modal footer actions (VIB-36).
-
Replaced the pane default color palette with Okabe-Ito-based divergent colors so adjacent panes are visually distinct across the full hue circle, with alternating luminance for stronger separation (VIB-41).
-
Rewrote the app with Tauri 2 (Rust backend + vanilla JS frontend), replacing the previous Electron stack. The app now launches faster, uses significantly less memory, and produces native installers (.msi/.exe on Windows, .deb/.AppImage on Linux).
-
Session state (pane layout, directories, shell profiles, tab titles) is now restored on app restart.
-
Shell profiles are fully editable: users can create, modify, and switch profiles per pane via the right-click context menu. All profiles (auto-detected and user-created) support editing.
-
Terminal rendering now uses the WebGL renderer for crisp, properly aligned box-drawing characters and better performance.
-
WSL integration now auto-detects all installed distributions and creates a shell profile for each one. Distribution names are correctly decoded from UTF-16LE output.
-
When a backgrounded pane has settled output you haven't seen yet, the mask now pulses with a brighter accent-tinted breathing glow that stays readable at any "BG mask opacity" value, and switching back to the pane stops it immediately. You can disable the alert globally from Settings → "Background activity alert", or per-pane via the tab context menu.
Fixed
- Breathing light now cancels and restarts when new content arrives after the alert has fired. Resize-induced redraws still don't cancel the alert (consistent with VIB-29's resize quiet logic), so only genuine new content can dismiss the breathing animation.
- CJK characters now consume two cells in the terminal grid, matching what modern CLI apps (Claude Code, Ink-based UIs) assume. Lines with Chinese, Japanese, or Korean input no longer drift left when the app redraws after IME composition.
- Fixed toolbar settings button (gear icon) being visually lower than the other toolbar buttons (+tab, fullscreen). Changed
.tabs-actionsfromalign-items: stretchtoalign-items: center, and addedvertical-align: middle+line-height: 1to all three icon buttons for consistent vertical alignment. - Removed dead shell profile rendering code that was left after VIB-14 moved shell profiles to modal dialogs. The code referenced a non-existent
shell-profile-listDOM element and was never called. - Resizing the window no longer makes background panes pulse. The PTY redraw burst that follows a SIGWINCH was being treated as fresh output; it's now ignored until the pane has been silent for a beat, so even heavy multiplexer redraws (zellij, tmux) don't trip the alert.
Documentation
- README Controls table now matches the actual key bindings: new pane is
Ctrl+N(notCtrl+T), and the command palette and copy/paste shortcuts are listed.
Misc
- Added
scripts/bump-version.mjsto synchronize version numbers across package.json, tauri.conf.json, and Cargo.toml from a single command.
Vibe99 v0.4.5
Fixed
- On Windows, Codex and Typeless paste now route text and image paste correctly, the launched app uses the correct icon, and tabs close automatically when their terminal process exits.
- Windows local packaging now produces a self-contained portable Electron Builder build while keeping macOS and Linux npm workflows unchanged.
Vibe99 v0.4.4
Fixed
- Restored Linux
.debrelease packaging in the GitHub release workflow while keeping the fixed AppImage packaging path.