Skip to content

Releases: fortranmentis/GPUTERM

GpuTerm 1.0.8 Beta

GpuTerm 1.0.8 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 16 Jul 17:22

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 ver fallback when uname is absent; MSYS/Cygwin count as Windows) and switches to Windows-native sources:
    • CPU: model/core counts from Win32_Processor and a true two-poll usage delta from raw Win32_PerfRawData_PerfOS_Processor counters — locale-independent, unlike Get-Counter paths
    • Memory: Win32_OperatingSystem with page-file usage as swap
    • Disk: Win32_LogicalDisk fixed 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
  • 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-Process delta, 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 the core:window:allow-destroy capability, 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; quser is 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

GpuTerm 1.0.7 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 16 Jul 11:53

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 via sysctl
    • Memory: vm_stat + hw.memsize using Activity Monitor's "Memory Used" semantics, plus swap from vm.swapusage
    • Disk: BSD df joined with mount for filesystem types; devfs/autofs are 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/RAM detail popovers work on macOS too (BSD ps top processes, uptime from kern.boottime).
  • Remote commands now fall back gracefully on hosts without the timeout binary (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 powermetrics and 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

GpuTerm 1.0.6 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 16 Jul 06:21

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 via xpu-smi, and Intel integrated graphics via intel_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

GpuTerm 1.0.5 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 15 Jul 07:56

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-smi on 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

GpuTerm 1.0.4 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 15 Jul 01:51

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-smi on 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

GpuTerm 1.0.3 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 14 Jul 16:19

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-smi on 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

GpuTerm 1.0.2 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 22 Jun 08:40

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-smi on the remote host.
  • This is a beta prerelease intended for testing and feedback.

GpuTerm 1.0.1 Beta

GpuTerm 1.0.1 Beta Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 17 Jun 04:06

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:dev so 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.