# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [0.2.2] — 2026-08-07 ### Fixed - `dir download` could not restore a tree containing read-only directories — which the Go module cache is throughout (0555 dirs, 0444 files). Extraction applied each archived mode as the entry landed, so the first file written into a restored 0555 directory failed with `permission denied`. Directories are now created writable and their recorded mode applied once extraction finishes, files are written writable and chmod'ed afterwards, and a read-only file left by an earlier restore is replaced instead of erroring. Caught by this repo's own CI on the first cache HIT of the new `gomod/*.tar.zst` key (build #295). ## [0.2.1] — 2026-08-07 ### Fixed - `install.sh` verified the download with `sha256sum -c --ignore-missing`, a coreutils extension busybox rejects — so on Alpine, which is what several manifests using this run on, the bootstrap aborted with a bogus "checksum mismatch". The hash is now compared as a plain string, which busybox, coreutils and macOS `shasum` all handle. - `install.sh` stages the binary inside the target directory and renames it into place, so installing over a `cacher` that is currently running can't fail with ETXTBSY. ## [0.2.0] — 2026-08-07 ### Added - `--exec