github totoshko88/RustConn v0.8.7

latest releases: v0.10.8, v0.10.7, v0.10.6...
one month ago

What's Changed

Security

  • Variable injection prevention — All variable substitution in command-building paths now validates resolved values, rejecting null bytes, newlines, and control characters to prevent command injection
  • Checksum policy for CLI downloads — Replaced placeholder SHA256 strings with ChecksumPolicy enum (Static, SkipLatest, None) for explicit integrity verification
  • Sensitive CLI arguments masked — Password-like arguments (/p:, --password, token=, etc.) are masked in log output
  • Configurable document encryptionEncryptionStrength enum (Standard/High/Maximum) with per-level Argon2 parameters; backward-compatible with legacy format
  • SSH Agent passphrase handlingadd_key() now uses SSH_ASKPASS helper script with SSH_ASKPASS_REQUIRE=force to securely pass passphrases to ssh-add without PTY; temporary script is cleaned up immediately after use

Added

  • Internationalization (i18n) — gettext support via gettext-rs with system libintl; i18n module with i18n(), i18n_f(), ni18n() helpers; translations for 14 languages: uk, de, fr, es, it, pl, cs, sk, da, sv, nl, pt, be, kk; closes #17
  • SPICE proxy supportSpiceConfig.proxy field stores proxy URL from virt-viewer .vv imports; remote-viewer receives --spice-proxy flag for Proxmox VE tunnelled connections; fixes #18
  • RDP HiDPI fix — IronRDP embedded client now multiplies widget dimensions by scale_factor() to negotiate device-pixel resolution on HiDPI displays, eliminating blurry upscaling; fixes #16
  • Property tests for variable injection — 8 proptest properties validating command injection prevention
  • CLI delete confirmation — Interactive prompt with --force flag to skip
  • CLI --verbose / --quiet — Global flags for controlling output verbosity
  • CLI --no-color / NO_COLOR — Per no-color.org convention
  • CLI shell completionscompletions <shell> for bash, zsh, fish, elvish, PowerShell
  • CLI --dry-run for connect — Prints command without executing
  • CLI pager for long output — Pipes through less when output exceeds 40 lines
  • CLI auto-JSON when piped — List commands switch to JSON when stdout is not a terminal
  • CLI fuzzy suggestions — "Did you mean: x, y, z?" on connection name mismatch
  • CLI man page generationman-page subcommand via clap_mangen
  • Ctrl+M "Move to Group" — Keyboard shortcut for moving sidebar items between groups
  • Search history navigation — Up/Down arrows cycle through sidebar search history
  • CI version check workflow — Weekly GitHub Action checks upstream CLI versions
  • Client detection caching — 5-minute cache for CLI version checks
  • Flathub x-checker-data — Automated dependency tracking for vte, libsecret, inetutils, picocom, mc
  • Flathub device metadata<requires>, <recommends>, <supports> in metainfo.xml

Fixed

  • CLI --config flag — Was declared but never used; now threads through all 43 ConfigManager call sites
  • Flatpak components dialog — Hides unusable protocol clients in sandbox; shows only network-compatible tools
  • SPDX licenseGPL-3.0+GPL-3.0-or-later in metainfo.xml

Changed

  • VTE updated to 0.83.90 — From 0.78.7 in all Flatpak manifests
  • CLI modularized — Split 5000+ line main.rs into 18 handler modules
  • CLI structured loggingtracing replaces eprintln! with --verbose/--quiet control
  • VNC viewer list deduplicated — Single VNC_VIEWERS constant shared across detection
  • Protocol icon mapping unifiedget_protocol_icon_by_name() in core replaces duplicate match blocks
  • Protocol command building unifiedProtocol::build_command() trait; CLI delegates to ProtocolRegistry
  • Send Text dialog — Migrated to adw::Dialog per GNOME HIG
  • Sidebar minimum width — Reduced from 200px to 160px
  • Tray polling optimized — Split into 50ms message handling + 2s state sync with dirty-flag tracking

Deprecated

  • Flatpak host command functionshost_command(), host_has_command(), etc. in flatpak.rs; flatpak-spawn --host disabled since 0.7.7

Improved

  • Accessible labels — Added to 20+ icon-only buttons for screen reader compatibility
  • Czech translation (cs) — Native speaker review by p-bo; 45 translations improved (PR #19)
  • Remmina RDP import — Now imports gateway_server, gateway_username, and domain fields from Remmina RDP profiles (#20)

Installation

Debian/Ubuntu

sudo dpkg -i rustconn_0.8.7_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora

sudo dnf install rustconn-0.8.7-1.fc41.x86_64.rpm

AppImage

chmod +x RustConn-0.8.7-x86_64.AppImage
./RustConn-0.8.7-x86_64.AppImage

openSUSE (OBS)

Packages available at: https://build.opensuse.org/package/show/home:totoshko88:rustconn/rustconn

# Tumbleweed
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Tumbleweed/ rustconn
sudo zypper ref
sudo zypper in rustconn

# Leap 16.0
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/16.0/ rustconn
sudo zypper ref
sudo zypper in rustconn

Don't miss a new RustConn release

NewReleases is sending notifications on new releases.