# 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: ```bash sshkeeper --version sshkeeper version ``` A v0.4.1 release binary prints: ```text 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.