Releases: fortranmentis/GPUTERM
Releases · fortranmentis/GPUTERM
Release list
GpuTerm 1.0.8 Beta
Highlights
- Windows remote telemetry: connecting to a Windows host (OpenSSH Server) now populates the full telemetry bar. GpuTerm detects the remote OS per connection (with a
cmd.exe /c verfallback whenunameis absent; MSYS/Cygwin count as Windows) and switches to Windows-native sources:- CPU: model/core counts from
Win32_Processorand a true two-poll usage delta from rawWin32_PerfRawData_PerfOS_Processorcounters — locale-independent, unlikeGet-Counterpaths - Memory:
Win32_OperatingSystemwith page-file usage as swap - Disk:
Win32_LogicalDiskfixed drives (C:, D:, …) - Users:
quser, parsed positionally so localized headers don't break it - NVIDIA GPUs: full metrics (utilization, VRAM, power, temperature, processes) via
nvidia-smi, same as Linux - AMD/Intel GPUs: utilization and dedicated VRAM from WDDM GPU performance counters
- CPU: model/core counts from
- Hybrid iGPU+dGPU hosts show both cards — counter data is attributed by adapter LUID from the DirectX registry, and the GPU detail popover appends the integrated GPU alongside the NVIDIA cards. VRAM totals for counter-based GPUs come from the registry's
DedicatedVideoMemory. - All per-tick commands are batched into a single PowerShell 5.1 script sent as
-EncodedCommand, so telemetry works whether the OpenSSH default shell is cmd.exe or PowerShell — nothing is installed on the server and no admin rights are required. - CPU/RAM detail popovers work on Windows too (per-core usage, top processes from a two-sample
Get-Processdelta, uptime). The detail path now caches the detected remote OS per session instead of re-probing every popover tick. - Refreshed app icon set (all platforms).
Fixes
- The main window now closes properly from the title-bar close button on every platform. Registering the close-requested handler (which takes detached detail windows along) had disabled Tauri's automatic close, and the follow-up
destroy()call lacked thecore:window:allow-destroycapability, so the request was silently rejected.
Validation
- 54 frontend tests passed.
- 83 Rust tests passed (33 new Windows parser/detection fixtures).
- cargo clippy is clean; verified against a live Windows host over SSH.
Notes
- Windows remotes need Windows PowerShell 5.1+ (preinstalled on Windows 10/11).
- Load averages don't exist on Windows and show as n/a.
- AMD/Intel GPU power/temperature aren't exposed by the counters (needs Windows 10 1709+ with a WDDM 2.x driver for utilization/VRAM).
- Process owners and GPU process command lines require elevation and fall back to n/a / process names;
quseris missing on Home editions, so the Users section stays empty there. - This is a beta prerelease intended for testing and feedback.
GpuTerm 1.0.7 Beta
Highlights
- macOS (Apple Silicon) telemetry: connecting to a Mac now populates the full telemetry bar. GpuTerm detects the remote OS per connection and switches to macOS-native sources:
- CPU: chip name with the P/E core layout (e.g. "Apple M2 Pro (8P+4E)"), a true 1-second usage sample from
top, and load averages viasysctl - Memory:
vm_stat+hw.memsizeusing Activity Monitor's "Memory Used" semantics, plus swap fromvm.swapusage - Disk: BSD
dfjoined withmountfor filesystem types;devfs/autofsare hidden by default - Apple GPU: utilization and in-use memory read from
ioreg's IOAccelerator statistics — no root required; cards carry an APPLE vendor tag
- CPU: chip name with the P/E core layout (e.g. "Apple M2 Pro (8P+4E)"), a true 1-second usage sample from
- CPU/RAM detail popovers work on macOS too (BSD
pstop processes, uptime fromkern.boottime). - Remote commands now fall back gracefully on hosts without the
timeoutbinary (macOS 12 and older).
Validation
- 54 frontend tests passed.
- 51 Rust tests passed (13 new macOS parser fixtures).
- TypeScript and Vite production builds passed; cargo clippy is clean.
Notes
- Apple GPU power, temperature, and per-core CPU usage require root
powermetricsand are shown as n/a. - AMD support currently targets
rocm-smi. - This is a beta prerelease intended for testing and feedback.
GpuTerm 1.0.6 Beta
Highlights
- Per-key-type host fingerprints: known_hosts.json now records one SHA-256 fingerprint per host key algorithm, like OpenSSH. A client or server switching algorithms (e.g. RSA → ECDSA) now shows a trust prompt with the key type instead of a false "host key mismatch"; matching legacy entries migrate automatically.
- AMD and Intel GPU telemetry: the bottom bar now monitors AMD GPUs via
rocm-smi, Intel discrete GPUs viaxpu-smi, and Intel integrated graphics viaintel_gpu_top(root or CAP_PERFMON required), alongside NVIDIA. Tools are auto-detected per host, every card shows a vendor tag, and multiple vendors on one machine are collected together. - ProxyJump: pick another saved profile as a jump host to reach servers behind a bastion. Supports key/agent or password auth for the jump host, verifies each hop's host key, guards against chain loops, and tunnels the terminal, SFTP, telemetry, and detail views alike.
- The SSH library now builds against OpenSSL on Windows, adding curve25519-sha256 and ecdh-sha2-nistp* key exchange so current OpenSSH servers (e.g. Ubuntu 26.04) connect again.
- Added a main-window screenshot to the READMEs.
Validation
- 53 frontend tests passed.
- 37 Rust tests passed.
- TypeScript and Vite production builds passed; cargo clippy is clean.
Notes
- AMD support currently targets
rocm-smi;amd-smi-only hosts are detected but not yet parsed. - Building from source on Windows now requires Perl (Strawberry Perl) for the vendored OpenSSL compile.
- Remote system telemetry remains Linux-first.
- This is a beta prerelease intended for testing and feedback.
GpuTerm 1.0.5 Beta
Highlights
- Multiple concurrent SSH sessions: connecting to a new server no longer drops the current one. Each session keeps its own terminal instance, scrollback, and SFTP path; connected profiles show a green dot in the sidebar and clicking one switches the terminal, SFTP browser, and telemetry to that session.
- Detachable detail windows: every telemetry popover (CPU, Memory, GPU, Disks, Users) has a pop-out button that opens it in a separate OS window. Detached windows refresh independently, close automatically when their session disconnects, and are cleaned up when the main window closes.
- Centered alerts: errors now appear as a centered modal dialog that must be acknowledged, while success and info messages show as a top-center toast that dismisses itself after three seconds.
- Telemetry payloads are tagged with their session id, and background sessions keep their metrics and transfer progress up to date while another session is in view.
- Disconnect now targets the viewed session and falls back to the most recently connected one.
- Updated the English and Korean READMEs for the new capabilities.
Validation
- 49 frontend tests passed.
- 19 Rust tests passed.
- TypeScript and Vite production builds passed; cargo clippy is clean.
Notes
- Remote system telemetry remains Linux-first.
- NVIDIA detail monitoring requires
nvidia-smion the remote host. - Directory drag-and-drop and transfer resume are not implemented yet.
- This is a beta prerelease intended for testing and feedback.
GpuTerm 1.0.4 Beta
Highlights
- Connection banners (MOTD) are now shown reliably: early terminal output is buffered and replayed after the session attaches, on both first connect and reconnect.
- Multiple session profiles can now be saved: a New button starts a fresh profile and the form shows whether it is editing a saved profile or creating a new one.
- Added a logged-in Users section to the telemetry bar (right of the GPUs) with a detail popover listing user, TTY, login time, and origin.
- The terminal/SFTP split is now adjustable with a drag handle; the chosen width persists across launches and re-clamps automatically on small windows.
- Resource detail popovers (CPU, RAM, Disk, GPU, Users) can be dragged by their title bar and resized from the corner; they hold their position through scrolling, window resizes, and telemetry refreshes.
- The startup warning about a remembered local SFTP path that no longer exists is silenced; explicit browse errors are still reported.
- Rewrote the English and Korean READMEs with a quick-start guide, architecture overview, and troubleshooting reference.
Validation
- 49 frontend tests passed.
- 19 Rust tests passed.
- TypeScript and Vite production builds passed; cargo clippy is clean.
Notes
- Remote system telemetry remains Linux-first.
- NVIDIA detail monitoring requires
nvidia-smion the remote host. - Directory drag-and-drop and transfer resume are not implemented yet.
- This is a beta prerelease intended for testing and feedback.
GpuTerm 1.0.3 Beta
Highlights
- Added an explicit trust-on-first-use prompt that displays the remote SSH host key fingerprint before saving it.
- Added production and development content security policies for the Tauri window.
- Improved SSH connection timeouts, cleanup, disconnect handling, and blocking task isolation.
- Fixed terminal output when multibyte UTF-8 characters are split across SSH read chunks.
- Stabilized terminal reset, focus, and resize behavior across reconnects and session changes.
- Added working per-file SFTP transfer cancellation.
- Downloads now use temporary files so failed or canceled transfers do not leave partial destination files.
- Improved SFTP error isolation and cleanup during network or session failures.
- Consolidated telemetry parsers and frontend metric formatting into shared, tested utilities.
- Expanded telemetry, GPU selector, disk priority, SFTP, formatting, and terminal stream tests.
Validation
- 38 frontend tests passed.
- 17 Rust tests passed.
- TypeScript and Vite production build passed.
Notes
- Remote system telemetry remains Linux-first.
- NVIDIA detail monitoring requires
nvidia-smion the remote host. - SFTP transfers can be canceled but cannot yet be resumed.
- This is a beta prerelease intended for testing and feedback.
GpuTerm 1.0.2 Beta
Highlights
- Added clickable CPU, RAM, GPU, and Disk telemetry details.
- Added CPU per-core usage, load, uptime, and top-process views.
- Added detailed RAM, swap, cache, buffer, and top-process views.
- Added NVIDIA GPU detail tabs with utilization, VRAM, power, temperature, clocks, and compute processes.
- Fixed multi-GPU selection by using controlled UUID-based state.
- GPU selection now survives telemetry refreshes and detail popover reopening, with safe fallback when a GPU disappears.
- GPU selection resets cleanly when switching SSH sessions.
- Kept telemetry collection isolated from the interactive SSH terminal channel.
Validation
- 25 frontend tests passed.
- 11 Rust tests passed.
- TypeScript and Vite production build passed.
Notes
- Remote system telemetry is Linux-first.
- Detailed GPU metrics require NVIDIA drivers and
nvidia-smion the remote host. - This is a beta prerelease intended for testing and feedback.
GpuTerm 1.0.1 Beta
GpuTerm 1.0.1 Beta
Beta release focused on disk telemetry details and SFTP transfer UX.
Highlights
- Added a clickable Disk summary in the telemetry bar that opens a full disk detail popover.
- Added disk detail fields for mount point, filesystem, filesystem type, total, used, available, and usage percentage.
- Added disk usage progress bars with warning state at 80%+ and critical state at 90%+.
- Added a "Show hidden filesystems" toggle in the disk detail popover.
- Fixed the disk detail popover so it renders outside the telemetry bar and is not clipped by footer overflow.
- Added SFTP drag-and-drop upload from the local file panel to the remote panel.
- Added SFTP drag-and-drop download from the remote file panel to the local panel.
- Added a TransferQueue UI with filename, direction, source path, target path, progress, status, and per-file errors.
- Added overwrite confirmation before upload/download when the target file already exists.
- Changed SFTP transfer streaming to use 1 MiB chunks.
- Added backend command placeholders for transfer cancellation.
- Updated app/package versions to 1.0.1-beta.
Notes
- Directory drag-and-drop is detected but not supported yet.
- Transfer cancellation UI and command shape are present, but active stream cancellation is not wired in this beta.
- After updating from source, fully restart
npm run tauri:devso Rust commands and Tauri configuration changes are reloaded.
Verification
npm run test: 16 tests passed.npm run build: passed with the existing Vite chunk-size warning.cargo test: 7 tests passed.