Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 12:09
· 60 commits to main since this release

skipbuild v0.2.0

Second release — focused on build-tool integration (response files, PCH), observability, and cleaner configuration naming.

⚠️ Breaking changes

  • Environment variables renamed BUILDCACHE_* → SKIPBUILD_* (e.g. SKIPBUILD_DIR, SKIPBUILD_MAX_SIZE, SKIPBUILD_REMOTE_URL). The old BUILDCACHE_* names still work as a fallback, but SKIPBUILD_* takes precedence.
  • Default paths renamed: cache dir ~/.cache/skipbuild (was .../buildcache), config .skipbuild.conf (was .buildcache.conf). Existing .buildcache.conf files are still read.

Added

  • Response file (@file.rsp) support for compile commands (quoted/escaped args, CRLF, nested files).
  • Precompiled header (PCH) support — MSVC (/Yc, /Yu, /Fp, /Y-) and GCC/Clang (-x c++-header, -include, -fpch-preprocess).
  • REMAKE_LOG env var for log levels: debug, info, warn, error, none (legacy SKIPBUILD_DEBUG=1 still works).
  • Visual Studio / MSBuild logging — [skipbuild] output goes via OutputDebugString, visible in VS Output → Debug.
  • ARM64 CI: Ubuntu ARM64, macOS Apple Silicon, Windows ARM64.
  • MSBuild incremental behavior: caching auto-disabled when the output is newer than the source.
  • Remote caching guide (S3-compatible).

Changed

  • Version centralized; skipbuild --version now reports 0.2.0 (no hardcoded versions).
  • Response file parser hardened: strict bounds checks, max recursion depth (10), UTF-8 BOM stripping, CRLF normalization.
  • Removed orphaned cache/remote.cpp (never compiled; duplicated core.cpp).
  • Removed redundant release.yml; releases are built by build.yml.

Fixed

  • Fatal 0xC0000409 (stack-buffer-overrun) crash parsing response files with quoted args on Windows.
  • Quotes in response file tokens are now stripped (previously kept as part of the argument).
  • Test-suite crashes during cleanup (stats tracker destructor ordering).
  • Cache-key determinism across different build directories.

Downloads

  • Windows x64: skipbuild.exe
  • Linux / macOS: skipbuild

Full diff: v0.1.0...v0.2.0