sfetch v0.2.5
Release Notes
v0.2.5
Summary
Self-update reliability improvements (version-aware behavior) plus a schema-backed embedded self-update configuration for auditable, reusable update logic.
Highlights
Self-update version checking
--self-updateskips reinstall if already at the target version (exit 0).--self-update-forcereinstalls the same version and allows major-version jumps (existing guard preserved unless forced).--tagsupports explicit downgrades (major-version guard still applies unless forced).--dry-runnow includes a “Version check” section showing current/target and status.
Embedded, schema-backed update config
- Self-update now loads an embedded update target config instead of relying on inferred defaults.
- New flags:
--show-update-config--validate-update-config
Reusable library surface (initial)
- New
pkg/updatepackage contains the self-update decision matrix and version comparison helpers.
Signing workflow standardization
- All signing-related environment variables now use an
SFETCH_prefix for CI/scripting consistency:MINISIGN_KEY→SFETCH_MINISIGN_KEYPGP_KEY_ID→SFETCH_PGP_KEY_IDGPG_HOMEDIR→SFETCH_GPG_HOMEDIR- Added
SFETCH_MINISIGN_PUBfor explicit public key path
Install
curl -sSfL https://github.com/3leaps/sfetch/releases/latest/download/install-sfetch.sh | bashDetails
- See
CHANGELOG.mdfor the complete list.
v0.2.4
Summary
Bug fix for self-update failing when SHA2-512SUMS is preferred over SHA256SUMS.
Highlights
Fixed self-update checksum mismatch
- Self-update and fetch now correctly detect the hash algorithm from the checksum filename.
- Previously, when SHA2-512SUMS was selected, the code still used sha256 for hashing, causing "checksum not found" errors.
Install
curl -sSfL https://github.com/3leaps/sfetch/releases/latest/download/install-sfetch.sh | bashDetails
- See
CHANGELOG.mdfor the complete list.
v0.2.3
Summary
Installer hardening and signing script improvements for custom GPG environments.
Highlights
Installer Parsing Improvements
- Prefer
jq(if present) for GitHub release JSON parsing; dependency-free fallback retained - Added threat-model comments for pre-extraction path traversal scanning
make bootstrapnow advisory;make prereqsremains strict
Signing Script Fixes
- Added
GPG_HOMEDIRenvironment variable support for custom GPG homedirs - Uses
env GNUPGHOME=...to avoid polluting user's global GPG settings
Documentation
- Updated docs to reflect checksum-only opt-in and signature defaults
- Added DO/DONOT section to
AGENTS.mdwith push approval policies
Install
curl -sSfL https://github.com/3leaps/sfetch/releases/latest/download/install-sfetch.sh | bashDetails
- See
CHANGELOG.mdfor the complete list.
Older releases: docs/releases/