Releases: vrypan/stash
Releases · vrypan/stash
0.9.0
Release Notes
- Color attribute keys in
stash attroutput (cyan when stdout is a
terminal; disable with--color false). - Add attribute value listing, so attribute-oriented workflows can inspect
the distinct values stored for a given key. - Performance improvements in listing hot paths:
- Replace sort + reverse with a single descending sort in
list_entry_ids. - Eliminate intermediate
Vecallocation when building the inline
attribute string inls -A. write_list_cachenow takes ownership of items to avoid cloning
the full entry list on cache writes.all_attr_keyscomputes the key index from already-loaded items
instead of re-reading the cache file.
- Replace sort + reverse with a single descending sort in
- Add in-process Criterion benchmarks (
BenchmarkLsLib1000,
BenchmarkLsLibAll1000,BenchmarkLsJsonLib1000) for reliable
regression detection without process-spawn variance. - Improve
stash rmconfirmation output:- show entry previews before deletion
- reuse the long-listing rendering for a more informative confirmation
- Expand stash-switching workflows:
- add
chstash.shhelper for switching between named stashes - add pocket-based stash selection (STASH_POCKET)
- update
chstashto use pockets in the selector flow
- add
Install stash-cli 0.9.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.9.0/stash-cli-installer.sh | shDownload stash-cli 0.9.0
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.8.1
Release Notes
- Extend
stash catselection:- allow multiple refs in one call
- add
-a/--attrfiltering withnameandname=value - add
-r/--reverseto reverse the output order
- Extend
stash ls -a/--attrfiltering:- allow
-a name=valuefor exact-value filtering - allow
-a ++name=valueas shorthand for-a name=value -a +name
- allow
- Update the
lshelp text and docs so++nameand++name=valueare
described as shorthand aliases.
Install stash-cli 0.8.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.8.1/stash-cli-installer.sh | shDownload stash-cli 0.8.1
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.8.0
Release Notes
Breaking UI change: The meaning of stash ls -a key and stash ls -a +key
has been swapped. Now -a key means "filter where key exists" and
-a +key means "show key (value) where set".
- Remove the in-process
stash completionsubcommand in favor of the
standalonestash-completionhelper binary. - Refine
stash ls -a/--attrselection:-a namefilters on the attribute-a +nameshows the attribute column-a ++namefilters and shows in one argument
- Add -a/--attr to
stash cat - Add -r/--reverse to
stash cat. - Update the README, reference docs, and demos to match the current
ls
attribute behavior.
Install stash-cli 0.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.8.0/stash-cli-installer.sh | shDownload stash-cli 0.8.0
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.7.1
- Reduce the binary size by about 40%.
- Improve
stash catthroughput by using a 64KBBufReader.
Install stash-cli 0.7.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.7.1/stash-cli-installer.sh | shDownload stash-cli 0.7.1
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.7.0
Release Notes
stash log has been removed in favor of stash ls.
stash logremoved.stash lsis now the single listing command.- Expand
stash lsoutput modes:- add
--jsonwith rich per-entry output - add
--attrs=list|count|flag - add
--headersfor labeled tabular output - make
-lexpand to--date --size --attrs=flag --preview - color explicit
-acolumns and inline-Aoutput in cyan
- add
- Improve listing and store hot paths:
- reduce allocations in
ls - reuse output buffers in tabular rendering
- tighten cache validation and id resolution
- add and tune Criterion benchmarks for
ls,attr, andpush
- reduce allocations in
- Add
stash rm --afterto remove entries newer than a referenced entry. - Migrate the internal list cache serialization from
bincodetorkyv. - Update
signal-hookto0.4.4. - Keep empty
-A/--attrs=listcells aligned acrossstash lsrows. - Refine
stash ls -a/--attrselection:-a nameshows the attribute column-a +namefilters on the attribute-a ++namefilters and shows in one argument
- Improve the
stash-fzf.zshhelper:- use a richer multiline ref picker
- fix picker cancel and insertion behavior
- add
fzf-powered attribute completion fromstash attrs --count - support
-a,-a +, and-a ++attr completion prefixes
Install stash-cli 0.7.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.7.0/stash-cli-installer.sh | shDownload stash-cli 0.7.0
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.6.0
Release Notes
This is a major code refactor with small perf improvements and significant
code quality improvements.
- Add
stash attrsfor listing attribute keys across the stash, with optional
per-key counts. - Improve
stash-rg, the helper script for searching through stashed
attributes and data. - Refactor the Rust codebase into smaller modules:
- split the old
cli.rsmonolith into per-command modules undercmd/ - split
store.rsinto astore/module - extract shared display/rendering code into a
displaymodule
- split the old
- Simplify and tighten the store/cache implementation:
- store
Metadirectly in the list cache - move
MetaSelectioninto store-related code - keep
newest()on the cache-based path
- store
- Improve performance in several hot paths:
- avoid extra item passes in
ls --preview - fix N+1 cache reads in
stash attrs - reduce allocations in preview and ANSI-trimming helpers
- speed up attr parsing and ULID encoding
- avoid extra item passes in
- General internal cleanup and deduplication:
- deduplicate the push/tee read loop
- consolidate UTC date conversion helpers
- simplify path handling and attribute-selection internals
Install stash-cli 0.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.6.0/stash-cli-installer.sh | shDownload stash-cli 0.6.0
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.5.7
Release Notes
- Escape control characters like
\nin plain-text attribute output for
stash attr,stash ls, andstash log. - Add
stash-rg, a helper script for searching across stashed attributes and
data withrg. - Add
rstash, a helper script for pushing stdin or files to a remote stash
host overssh.
Install stash-cli 0.5.7
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.5.7/stash-cli-installer.sh | shDownload stash-cli 0.5.7
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.5.6
Release Notes
- Make
--printrequire an explicit value to avoid ambiguity with
stash push [file]. - Save captured input on
Ctrl-Cin bothstash teeand stdin-driven
stashwhen--save-on-error=trueapplies. - Align interruption handling more closely with
tee:SIGINTreturns130SIGTERMreturns143- non-signal partial saves return
1
- Treat downstream broken pipes as successful exits while still keeping any
captured output. - Keep
partial=trueonly for input interruption/failure, not downstream
output closure.
Install stash-cli 0.5.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.5.6/stash-cli-installer.sh | shDownload stash-cli 0.5.6
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.5.5
Release Notes
- Replace the earlier quiet flag with
--print=stdout|stderr|nullfor
stash,stash push, andstash tee, with numeric aliases1,2,
and0. - Rename
--partialto--save-on-error, default it totrue, and keep
downstream broken pipes out of the saved-on-error path. - Treat broken pipes as normal exits in pipeline use.
Install stash-cli 0.5.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.5.5/stash-cli-installer.sh | shDownload stash-cli 0.5.5
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.5.4
Release Notes
- Add smart default behavior for bare
stash:- in the middle of a pipeline, it behaves like
stash tee - otherwise, it behaves like
stash push
- in the middle of a pipeline, it behaves like
- Simplify
stash attrsyntax:stash attr <ref>lists all attributesstash attr <ref> key...reads selected attributesstash attr <ref> key=value...writes attributesstash attr <ref> --unset key...removes attributes
- Add
stash rm -afor attribute-based entry removal with confirmation. - Allow
stash rmto remove multiple refs in one command. - Add
--quietforstash,stash push, andstash teeto suppress the
generated entry ID. - Refine
lsandlogattribute flags:-a/--attrselects attribute filters-A/--attrsshows all attributes
- Add
cargo install stash-clito the installation docs. - Use
stash-cli-*release asset names for the custom Homebrew formula updater.
Install stash-cli 0.5.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/vrypan/stash/releases/download/v0.5.4/stash-cli-installer.sh | shDownload stash-cli 0.5.4
| File | Platform | Checksum |
|---|---|---|
| stash-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| stash-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| stash-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| stash-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |