All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
First stable release.
- Release channels:
install --channel nightly|beta|stable search --channel <name>filters releases by channel- Channel pattern overrides in
.gitclaw.tomlunder[channels] exportoutputs installed packages as TOML to stdoutexport -o deps.tomlwrites to fileimport deps.tomlinstalls all packages from a TOML file- Import skips already-installed packages unless
--forceis set - Asset caching: downloaded archives cached to
~/.gitclaw/cache/, reused on subsequent installs cache cleanandcache sizecommandslist --outdatedcompares installed versions against latest GitHub releases- Local installs:
install --local user/repoinstalls to./.gitclaw/ uninstall --localfor local project directory- Platform-aware asset selection with scoring system
runcommand to execute installed binaries directlygcwshort alias binary- Constants module for all string literals and magic values
- Taglines and output section headers for better CLI UX
- Repository moved to
airscripts/gitclaw - Restructured as a library with
src/lib.rsand separatesrc/bin/entrypoints - Replaced all
"latest"string literals withRELEASE_TAG_LATESTconstant - Improved variable naming in channel matching (wildcard flags)
- Codebase cleanup: removed dead code and unnecessary comments
- UI and output polishing across all commands
- CI action versions upgraded
- Platform asset matching with proper scoring for Linux-only releases
- Symlinks in
bin/now use absolute paths - Install channel persisted in registry for consistent updates
- Install channel persisted in registry:
--channelstored per package updaterespects stored channel when checking for newer releases- Optional
channelfield onInstalledPackage(backward compatible) - New tests in
tests/channel_persist.rs
- Release channels:
install --channel nightly|beta|stable search --channel <name>filters releases by channel- Channel pattern overrides in
.gitclaw.tomlunder[channels] exportoutputs installed packages as TOML to stdoutexport -o deps.tomlwrites to fileimport deps.tomlinstalls all packages from a TOML file- Import skips already-installed packages unless
--forceis set - Export output is deterministic: sorted by owner then repo
- Asset caching: downloaded archives cached to
~/.gitclaw/cache/, reused on subsequent installs cache cleanandcache sizecommandslist --outdatedcompares installed versions against latest GitHub releases- Local installs:
install --local user/repoinstalls to./.gitclaw/ uninstall --localfor local project directory
- Semver range support:
install user/repo "^1.2.3" - Lockfile:
lockgeneratesgitclaw.lock,install --lockedreproduces exact versions - Package aliases:
alias add rg BurntSushi/ripgreptheninstall rg alias listandalias removecommands
.debarchive extraction with ar format parsingzstddecompression for.tar.zstarchives- GNU and BSD ar header size field support
gcwshort alias binary- 74 new integration tests
identifierfield set to repo name at install timeuninstallaccepts short name (repo or identifier) in addition toowner/repolistshows anIdentifiercolumn#[serde(default)]applied toidentifierfield for backward compatibility
- Platform asset matching now correctly selects platform-specific assets
- Rust target triple aliases added for ripgrep and similar projects
- Symlinks in
bin/now use absolute paths
- Self-update command (
self-update,self-update --check) - Checksum verification for downloaded assets (
--verifyflag) - Parallel install support (
install pkg1 pkg2 pkg3)
- Configuration file support with multiple config sources
--dry-runflag for install commandcompletionscommand for shell completions- Config options:
install_dir,show_progress,prefer_strip,verify_checksums,color,quiet,verbose
- Initial release
- Install binaries from GitHub releases
- Archive support: tar.gz, tar.bz2, tar.xz, zip
- Automatic architecture detection (Linux x86_64, aarch64)
- Package registry for tracking installed packages
- List, update, uninstall, and search commands
- Progress bars for downloads
- GitHub Actions CI/CD