sshkeeper/docs/releases/v0.4.1.md

46 lines
1.6 KiB
Markdown

# 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.