Releases: cashapp/hermit
Releases · cashapp/hermit
v0.52.1
v0.52.0
feat: parrallellize hermit install downloads (#558) Download package archives concurrently during install using errgroup, with concurrency defaulting to `runtime.NumCPU()`. A new `-j` flag allows overriding the parallelism level. Only the download phase is parallelised. Extraction and linking remain serial because unpack triggers may execute binaries from dependency packages. Both install paths benefit: - **No-args** (re-install existing): parallel download, then serial CacheAndUnpack. - **With packages**: parallel download, then serial install/link loop. A new `State.Download` method is added to expose download-only functionality, separate from `CacheAndUnpack`. Co-authored-by: Amp <amp@ampcode.com>
v0.51.0
Guard zsh prompt prefix updates (#555) ## Summary - only capture `_HERMIT_OLD_PS1` and prepend the Hermit prompt once in `update_hermit_ps1` - avoid re-prepending the Hermit prompt on later precmd runs once the original prompt has been recorded ## Testing - `go test ./...` Co-authored-by: Amp <amp@ampcode.com>
v0.50.2
fix: sync sources on ListInstalled resolution failure (#552) Co-authored-by: Amp <amp@ampcode.com>
v0.50.1
fix: move download outside global lock in CacheAndUnpack (#551) ## Summary - Move the network download step outside the global file lock in `CacheAndUnpack()` so slow downloads no longer block other hermit processes - Only the fast local extract + link operations remain under the lock, preventing "timed out acquiring lock" errors in CI - Consistent with `CacheAndDigest()` which already downloads outside any lock This is safe because cache paths are content-addressed (SHA256-based) and the cache layer uses temp files + atomic `os.Rename` (see `cache/http.go` `downloadHTTP()`). per [ADR-0098](https://docs.google.com/document/d/1CxeLv3gArVytK8pJLw-MMA3t6j4OqE65rK1Kbs6RcrM/edit) and the [Workspace Contract](https://docs.google.com/document/d/18Susz4iTeWoINhchvIFmSen_fHU657hAurvNlZFliuY/edit). ## Test plan - [x] \`go build ./...\` compiles successfully - [x] \`go test ./state/... ./cache/...\` passes - [ ] Verify in CI that parallel hermit installs no longer produce lock timeout errors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
v0.50.0
fix: move all make commands to just (#548)
v0.49.4
What's Changed
- Quote activation exports and paths for space-containing roots by @robmaceachern in #545
New Contributors
- @robmaceachern made their first contribution in #545
Full Changelog: v0.49.3...v0.49.4
v0.49.3
v0.49.2
chore: add just commands for release workflow (#543) Adds `just` and `gh` as Hermit dependencies and creates a justfile with release commands: - `just release` — auto-calculates next patch version, confirms, and creates a GitHub release - `just release-minor` — same but bumps the minor version - `just release-status` — shows recent release workflow runs - `just release-watch` — live-watches the latest release workflow - `just release-list` — lists recent releases Also updates RELEASE.md to reference the new commands. ℹ️ The repo also has a Makefile - I've not touched that... perhaps we eventually want to move it all to just 🤔 . Co-authored-by: Amp <amp@ampcode.com>