sshkeeper/docs/releases/v0.4.1.md

1.6 KiB

sshkeeper v0.4.1 — Package Install & Version Fixes

This patch release makes native Linux packages authoritative after installation and exposes the version embedded in the executable.

Package installation now wins over legacy binaries

DEB and RPM installs detect older sshkeeper copies at known legacy paths:

  • /usr/local/bin/sshkeeper;
  • per-user ~/.local/bin/sshkeeper paths discovered from the system account database.

A detected legacy entry is preserved as *.legacy-backup, then its old path is replaced by a symlink to /usr/bin/sshkeeper. This deliberately handles both PATH precedence and shells that have already cached the previous executable path. No database, vault, configuration, SSH key, or other user data is touched.

The migration is idempotent across package upgrades. Removing the package restores the preserved legacy binary when the redirect is still package-managed; if the user changed that path while the package was installed, the package leaves the user's replacement alone and keeps the backup rather than overwriting it.

Version reporting

Both forms are now supported without initializing the database or vault:

sshkeeper --version
sshkeeper version

A v0.4.1 release binary prints:

sshkeeper v0.4.1

The build and release scripts now link the discovered version into the real cmd.Version symbol instead of the stale main.version target.

Packaging verification

The release gate now tests legacy-path migration and restoration in addition to the existing Go tests, vet, and cross-platform builds. DEB/RPM packages continue to contain the exact Linux binary produced for the matching tarball.