Repository navigation
Highlights
Patch release for three cache-correctness defects found by an independent audit of 0.6.1. No new features; no cache-format changes.
Install
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/rayyan0x/skipbuild/main/scripts/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/rayyan0x/skipbuild/main/scripts/install.ps1 -OutFile install.ps1; .\install.ps1Fixed
--is now a hard boundary for launcher options. Everything after--is passed to the wrapped compiler verbatim. Previouslyskipbuild -- g++ -c a.cpp --cache-dir Xsilently removed--cache-dir Xfrom the compiler command line, because the option scanner walked the whole argv.- Read-only caches are never modified.
--clean,--clear-stats,prune(), LRU access-time updates, corrupted-entry repair and remote-hit installs all respectread_onlynow. A remote hit is decompressed into a private staging directory and restored from there instead of being written into the cache, so remote reads keep working with a read-only local cache. - Remote uploads skip zero-byte sidecars instead of advertising empty files.
Tests
- New
cli_args_testcovers the--boundary, option consumption before/after the separator, and the override mask. cli_e2e_testnow asserts that a read-only--cleanfails with an explanation and leaves the cache intact, and that a writable--cleanstill removes it.test_evictionasserts a read-only cache refusesput()and does not prune existing entries.
16/16 tests pass locally (Release and warnings-as-errors builds); CI green on Windows x64/ARM64, Linux x64/ARM64, macOS ARM64/Intel.
Full details: CHANGELOG.md