Skip to content

v0.2.1 β€” cask exec-bit fix

Latest

Choose a tag to compare

@4thel00z 4thel00z released this 15 Jun 07:36

Fix

.zip casks were installed without the executable bit, because std.zip does not preserve Unix file modes. This broke:

  • binary casks (e.g. ngrok) β€” permission denied when run.
  • .app casks distributed as .zip β€” the bundle's Mach-O executable was non-runnable, so the app wouldn't launch.

metalbrew now restores the executable bit at install time: binary artifacts are placed executable, and an app bundle's Contents/MacOS/* is made executable after the bundle is copied. .dmg and .tar.gz casks were unaffected (their modes were already preserved) and behave the same.

The end-to-end CI now installs real casks across every no-sudo path (.zip+app, .dmg+app, .zip+binary) and asserts an executable survives in each β€” plus runs the installed ngrok binary.

Upgrade from v0.2.0 recommended for anyone using metalbrew cask.