Skip to content

Releases: unbound-app/vbound

1.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 18:37
91c1348

Added

  • Context-aware macOS toolbar actions for the two workspaces: Discord, Tweak,
    Addons, Mount, and Settings remain one click away in Logs, while Shell exposes
    Interrupt, Copy, Clear, Export, and Settings.
  • Floating "Jump to Latest" controls inside the log and shell canvases when
    browsing older output.

Changed

  • Redesigned the main window around a fixed 720×560 layout with a compact
    icon-only Logs/Shell switch, native segmented source tabs, clearer log contrast,
    and dedicated labeled action pills.
  • Reworked the Shell workspace for automatic connection, left-aligned terminal
    output, a compact status bar, and workspace-specific controls.
  • Ordered log filters as Debug, Info, and Error and restored the custom Unbound,
    React Native, and Discord artwork throughout the interface.
  • Optimized addon deployment by replacing repeated remote metadata probes with a
    single scan before parallel deployment.

Fixed

  • Finder mounting no longer hangs while selecting the wrong usbmux device or
    waiting indefinitely for SSHFS, and now reports forwarding and mount failures.
  • Shell authentication and automatic reconnection no longer overlap or discard
    useful scrollback after a transient failure.
  • Clearing the shell also resets its ANSI parser, preventing stale formatting
    from leaking into later output.
  • The command palette now supports complete keyboard navigation, activation, and
    dismissal while its search field is focused.

0.15.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 15:21
179ad34

Added

  • A first-run setup checklist verifying vphone-cli, pymobiledevice3, sshpass,
    and sshfs are all reachable, shown once on first launch and reopenable anytime
    from the app menu's "Show Setup Checklist…".
  • A command palette (⇧⌘P or Actions → Command Palette…) listing every primary
    action — Boot, Build Tweak/Addons, Stream, Shell, Discord, Mount, Settings,
    diagnostics — searchable and keyboard-navigable.
  • A global hotkey (⌥⌘V, off by default) to show/hide the vbound window regardless
    of which app is focused, toggleable in Settings → Automation.
  • Addon deployment now uploads and deploys every plugin concurrently instead of one
    at a time, and a partial failure no longer aborts the whole batch — whatever
    didn't make it can be retried individually via the new "Retry" action on the
    failure toast without rebuilding everything that already succeeded.
  • Build Addons joins Build Tweak in the Actions menu (⇧⌘I) — previously only
    reachable from the status-strip button.
  • The Tweak/Addons buttons' tooltips now show the outcome and relative time of the
    last build ("Last build: ✓ 2m ago"), and a failed build's toast gets a "Save
    Log…" action to write the full captured output to a file.
  • The Tweak build's progress bar no longer pins at 100% for a long tail when the
    file-count estimate undershoots the real step count — it now grows the estimate
    on the fly and soft-caps the displayed fraction until the build actually finishes.
  • A background notification when a build finishes while vbound isn't the frontmost
    app, and a Settings toggle (Advanced) to turn build sounds/notifications off
    independently of the system's own sound settings.
  • The log filter can switch to regex matching (via the new "⋯" menu in the log
    toolbar), and log rows can show relative ("5s"/"2m") timestamps instead of
    absolute ones.
  • Log lines can be bookmarked from their right-click menu and jumped back to from
    the "⋯" menu's Bookmarks submenu; bookmarked rows get a colored source column.
  • Visible/filtered logs can be saved straight to a file, not just copied to the
    clipboard.
  • A "Test Connection" button next to the device password field in Settings, and a
    "Copy Diagnostics" action (versions, resolved paths, tool presence, device state)
    for bug reports.
  • A failed Finder mount now surfaces the actual sshfs error (via a tooltip and a
    small red indicator on the mount button) instead of failing silently back to the
    unmounted state with no explanation.
  • An Accent Color picker in Settings → General, with a small set of choices beyond
    just following the system accent.
  • "What's New…" in the app menu, linking to the GitHub Releases page for past
    release notes outside the active update-check flow.

0.14.1

Choose a tag to compare

@github-actions github-actions released this 21 Jul 09:32
c60de0f

Added

  • The Finder mount now has root-level file access, not just mobile's. sshfs
    authenticates as mobile (root SSH login is refused outright on vphone), which
    previously meant root-owned paths like .fseventsd and dirs_cleaner showed up
    empty — confirmed this wasn't mount-specific: plain SSH as mobile gets the same
    Permission denied. vbound now grants mobile passwordless sudo for just the
    device's sftp-server binary and routes the mount's remote SFTP process through
    sudo, matching the trust boundary the Tweak/Addons actions already use for
    sudo dpkg/killall.

0.14.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 09:16
948c919

Fixed

  • The Finder mount now actually works, end to end, verified against a live device.
    It targets macFUSE + gromgit/fuse/sshfs-mac instead of FUSE-T, which has an open,
    unfixed upstream bug (macos-fuse-t/fuse-t#63)
    that breaks directory listings outright. Separately, sshfs with -o reconnect runs
    in the foreground as the FUSE server for as long as the mount is alive rather than
    daemonizing — vbound was awaiting its exit to detect mount success, which hung
    forever and left the Mount button stuck showing "Mounting…" even though the mount
    had actually succeeded. It's now tracked as a persistent process (like the shell/log
    stream connections) and mount success is polled against mount output instead.

0.13.3

Choose a tag to compare

@github-actions github-actions released this 20 Jul 18:15
fa55037

Fixed

  • Every status-strip button (Boot/Stop, Discord, Tweak, Addons, Settings) showed the
    window's default keyboard-focus ring whenever vbound became the key window, not just
    the Mount/Finder button — all of them are now excluded from keyboard focus, matching
    the fix already applied there.

0.13.2

Choose a tag to compare

@github-actions github-actions released this 20 Jul 18:00
8e0cf64

Changed

  • Addon deployment is back to always using scp + SSH, regardless of whether vphone is
    mounted. The mounted copy still moves the same bytes over the same SFTP transport, so
    it wasn't a meaningful speedup — not worth coupling the automated deploy pipeline to
    FUSE's reliability for a marginal (if any) gain. The Finder mount stays as a standalone
    convenience for manually browsing/dragging files.

Fixed

  • Unmounting a genuinely-attached FUSE-T mount didn't reliably respond to plain umount
    (confirmed directly: it can report success or "not mounted" while mount still lists
    the entry). Unmount now falls back to diskutil unmount force when the mount is still
    present afterward.
  • The Mount/Finder button showed the window's default keyboard-focus ring whenever
    vbound became the key window, making the folder glyph hard to see.

0.13.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 17:44
d364a6b

Fixed

  • The Finder-mount feature silently no-opped: gromgit/fuse/sshfs-mac, the more
    commonly recommended sshfs package, is built against classic macFUSE/libfuse headers
    and isn't actually compatible with FUSE-T — it exits successfully without ever
    attaching the mount, leaving ~/vphone empty and making Unmount look like it does
    nothing (there was never anything mounted to unmount). vbound now looks specifically
    for FUSE-T's own sshfs build at /usr/local/bin/sshfs
    (macos-fuse-t/homebrew-cask/fuse-t-sshfs) and verifies against mount output
    rather than trusting sshfs's exit code, so a broken mount can't be reported as
    successful again.
  • The ~/vphone mount point's custom icon is now the standard folder glyph with a
    small phone badge, not a bare phone icon replacing the folder shape.

0.13.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 17:31
39b181e

Added

  • vphone can now be mounted in Finder over SSHFS. A folder icon next to the
    status indicator mounts it at ~/vphone (requires
    FUSE-T and gromgit/fuse/sshfs-mac, checked
    automatically); click again to open it in Finder, right-click to unmount.
    The mount is torn down automatically on shutdown and app quit.

Changed

  • When vphone is mounted, the Addons action deploys by copying straight into
    Discord's container on the mounted volume instead of scp-ing to a staging
    path and moving it into place over SSH.

0.12.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 17:00
6ce28ac

Fixed

  • Starting an addon build turned the Tweak button into the Cancel button
    instead of the Addons button that was actually clicked, since both build
    pipelines shared one running-state flag. The Tweak and Addons buttons now
    each track their own build target, so only the button that started a build
    turns into its Cancel control.

0.12.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 15:51
bb15e4e

Added

  • Plugin deployment: vbound builds every plugin in the configured workspace,
    replaces each plugin's deployed dist/ payload on vphone, and relaunches
    Discord. The Discord data-container UUID is discovered on-device, so it
    remains correct across installs.
  • An Addon Workspace folder picker in Settings.

Changed

  • The status-strip controls are now labelled Discord, Tweak, and Addons.

Fixed

  • Plugin builds now include Bun's standard ~/.bun/bin location in vbound's
    process environment, allowing the Addons action to find bunx when the app
    is launched outside a shell.
  • Addon deployment no longer relies on nested remote-shell quoting and skips
    local SSH-key offers before authenticating with the configured device password.