Skip to content

v0.20.10

Choose a tag to compare

@github-actions github-actions released this 26 Aug 20:44
· 43 commits to main since this release

What's Changed

0.20.9 shipped no packages. Its tag exists, but every build job failed and no
GitHub release, no artifact and no channel update was ever produced — so
everything listed under 0.20.9 below reaches users with this release. The tag was
left in place rather than moved: rewriting a published tag is destructive for
anyone who already fetched it, and a patch release costs nothing by comparison.

Fixed

  • rustconn-cli did not compile with the features every package builds it with — 0.20.9 gave build_sftp_browser_uri a fourth parameter, the NetworkSettings carrying the new global jump-host tier, and one of its two call sites was not updated: cmd_sftp's file-manager branch still passed three arguments. Nothing local caught it, because rustconn-cli declares default = [] and that branch sits behind #[cfg(feature = "client-launch")]cargo clippy --all-targets, cargo test --workspace and the CI clippy job all compile the crate with no features, where the code does not exist. Every package builds it as --features full, so all four release jobs — deb, RPM, AppImage and Flatpak — failed on the same E0061, and the jobs that publish (GitHub release, OBS, Homebrew, snap) were skipped behind them. CI does cover this, in cargo test -p rustconn-cli --features full, but that job runs on the push that carries the tag rather than before it, and on release day GitHub Actions was in a major outage — a database primary failing over — so of the three workflows the tag should have started, one was created and stalled in queued with zero jobs and two were never created at all. The fix went in with the file-manager branch extracted into its own function: adding the missing argument pushed cmd_sftp past clippy::too_many_lines, which CI treats as an error.

Improved

  • verify.sh now compiles the CLI the way the packages do — the gate that was supposed to be the mechanical half of the Definition of Done ran cargo clippy --all-targets and nothing else, so it agreed with a tree four packaging jobs would reject. It gained a -p rustconn-cli --features full clippy gate, the matching test run under --tests, and -- -D warnings on the existing clippy gate — without it clippy exits 0 on a pedantic warning and the gate reported ok for a tree the CI clippy job, which does pass -D warnings, would fail.

Installation

Flatpak (Recommended)

flatpak install flathub io.github.totoshko88.RustConn

Snap

sudo snap install rustconn

Debian/Ubuntu (.deb from this release)

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

Fedora (.rpm from this release)

sudo dnf install rustconn-0.20.10-1.fc44.x86_64.rpm

AppImage

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

macOS (Homebrew)

brew tap totoshko88/rustconn
brew install rustconn
open $(brew --prefix)/opt/rustconn/RustConn.app

All dependencies (GTK4, libadwaita, VTE, Adwaita icons) are installed automatically.
Requires macOS 13 (Ventura) or later.

OBS Repositories

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

# Debian 13 (Trixie)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/ /' \
  | sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/Release.key \
  | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn

# Ubuntu 24.04 LTS (Noble)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/ /' \
  | sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/Release.key \
  | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn

# Ubuntu 26.04 LTS (Resolute)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/ /' \
  | sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/Release.key \
  | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn

# Fedora 44
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_44/home:totoshko88:rustconn.repo
sudo dnf install rustconn

# Fedora 43
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_43/home:totoshko88:rustconn.repo
sudo dnf install rustconn

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

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

Arch Linux (AUR)

yay -S rustconn

FreeBSD (Ports)

pkg install rustconn

Full installation guide: https://github.com/totoshko88/RustConn/blob/main/docs/INSTALL.md