Releases: tomertec/HyperShell
Releases · tomertec/HyperShell
v0.1.9
Changed
- Dependency security updates — upgraded Electron, electron-builder, Vite, and better-sqlite3, then refreshed the pnpm lockfile. Added a pnpm override for PostCSS so
pnpm audit --audit-level moderatereports no known vulnerabilities. - UI build now type-checks React code —
@hypershell/uibuild runstsc --noEmitbefore Vite, preventing renderer TypeScript regressions from passing CI/build gates. - TypeScript dead-code checks enabled — root compiler config now enables
noUnusedLocalsandnoUnusedParameters; unused imports, stale helpers, and test-only dead code were removed across desktop, session-core, db, and UI workspaces.
Fixed
- Renderer URL allowlist tightened — desktop renderer loading now allows only the exact packaged renderer file or the exact dev origin (
http://127.0.0.1:5173), reducing preload API exposure risk. - SFTP preload logging removed —
sftpListno longer logs file names or raw response samples during normal operation or validation failures. - Renderer type-safety regressions fixed — tmux detection, host import defaults, transfer event narrowing, terminal network state handling, tunnel store updates, host port-forward payloads, settings tests, and global app-version typing now pass strict UI type-checking.
- Terminal focus restored after tab and snippet actions — switching terminal tabs now refits and focuses the visible xterm instance, and sending a snippet returns focus to the active terminal session so pressing Enter submits to the terminal instead of the snippets panel.
v0.1.8
What's Changed
Full Changelog: v0.1.7...v0.1.8
v0.1.7
Full Changelog: v0.1.6...v0.1.7
v0.1.6
Full Changelog: v0.1.5...v0.1.6
v0.1.5
Fixed
- Host metrics for SSH config aliases and ProxyJump hosts — status bar metrics (CPU, memory, disk, uptime) now work for hosts defined as SSH config aliases (e.g.,
ssh medalink-tunnel) and hosts behind ProxyJump. The stats collector now uses the system SSH binary instead of the ssh2 library, matching how the terminal connection itself works.
v0.1.4
Added
- SFTP status bar — each pane now shows a footer with folder count, file count, and total size. When items are selected, selection stats are shown on the right side.
- SFTP mouse-drag multi-select — click and drag across rows to select a range of files/folders. Ctrl+Click (toggle) and Shift+Click (range) continue to work. Drag-and-drop file transfer is preserved for already-selected items.
- Local file explorer context menu — right-click on local files now offers Open (files open with default app, directories navigate), Rename, Delete (moves to Recycle Bin), Copy Path, Show in Explorer, and Upload to Remote.
- Auto-hide completed transfers setting — new toggle in Settings → General → Transfers to automatically hide the SFTP transfer popup when all transfers finish.
- Auto-refresh after transfers — both local and remote panes now refresh automatically when a file upload or download completes.
Fixed
- All drives now visible in local pane — the drive selector shows all accessible drives (D:, E:, etc.), not just C:.
- SFTP delete fails on files — deleting a single file via the remote context menu no longer fails with "No such file". The recursive delete logic now stats the path first and uses
unlinkfor files instead of attempting to list them as directories.
v0.1.3
Changed
- SFTP transfers use native SCP — file downloads and uploads now use the system
scpbinary instead of ssh2's pure-JavaScript SFTP streams, achieving ~100 MB/s on LAN (previously ~1.5 MB/s). Falls back to ssh2 streams for password-only auth, resume transfers, or whenscpbinary is unavailable.
Fixed
- SFTP transfer conflict resolution UI — downloading folders with existing local files no longer hangs on "Waiting for conflict resolution". The transfer popup now shows inline action buttons (Overwrite, Skip, Rename) when a file conflict is detected, with "Overwrite all" and "Skip all" options to batch-resolve remaining conflicts.
- SFTP path state lost on tab switch — navigating to folders in the SFTP pane, switching to an SSH tab, and switching back no longer resets both panes to root. SFTP tabs now stay mounted (CSS visibility) like terminal tabs instead of unmounting and disposing their store.
v0.1.2 — Tmux Session Detection
What's New
Tmux session detection — detect and attach to existing tmux sessions on remote hosts before connecting.
Added
- Per-host opt-in toggle in host settings ("Detect tmux sessions on connect")
- Pre-connection SSH probe runs
tmux lsto discover sessions - Modal picker shows session name, window count, creation time, and attached/detached status
- Selecting a session sends
tmux attach -t <name>after connecting; detaching returns to a normal shell
Fixed
- Password-only hosts automatically skipped for tmux probing (requires key-based auth)
- Shell injection protection for tmux session names
- Tmux attach only sent on first connect, not on auto-reconnect
- Stale probe results discarded on concurrent connections
Full Changelog: v0.1.0...v0.1.2
HyperShell v0.1.1
HyperShell v0.1.1
Changes
- feat: SFTP transfer improvements, UI polish, and repo branding
- feat: pause/resume/cancel for SFTP transfers with batch support
- feat: sequential transfers (one at a time) instead of parallel
- feat: redesigned compact transfer popup with blue theme
- feat: Outfit font for context menu
- feat: SVG logo for GitHub README with dark/light theme support
- feat: Linux support — AppImage and deb packages
- fix: pause button race condition (immediate status update after abort)
- fix: safe IPC send wrapper for destroyed renderer frames
- fix: env var fallback (SSHTERM_/HYPERSHELL_) with flexible parsing
- refactor: extract shared toErrorMessage utility, persistSettings helper
- refactor: consolidate transfer store state and useMemo calls
- refactor: panel mutual exclusion, click-outside close, aria-hidden
Installation
- Windows: Download
hypershell-0.1.1-x64.exeand run the installer. - macOS: Download
hypershell-0.1.1-mac-x64.dmg, open it, and drag HyperShell to Applications. - Linux: Download
hypershell-0.1.1-linux-x86_64.AppImage(chmod +x and run) orhypershell-0.1.1-linux-amd64.deb(dpkg -i).
System Requirements
- Windows 10/11
- macOS 12+ (Monterey or later)
- Linux x64 (Ubuntu 20.04+, Fedora 36+, or equivalent)