# Butler v0.0.7

## Change Log

- Fixed Butler App macOS release packaging so the packaged `.app` uses the
  Butler icon instead of falling back to Electron's default icon.
- Made the app release packager pass the Butler `.icns` file as an absolute
  path, matching the repo-root execution context used by GitHub Actions.
- Isolated the packager icon input from the adjacent `assets/butler.icon`
  directory so macOS runners without Xcode 26 do not enter the Icon Composer
  `.icon` packaging path.
- Added a release-time macOS app icon hash check so future app releases fail if
  the packaged icon does not match `assets/butler.icns`.
- Tightened app package smoke coverage to compare the packaged icon resource
  against the Butler icon hash, then verify the normalized macOS plist points at
  `Contents/Resources/butler.icns`.

## Validation

- `bun run check` passed after release preparation.
- `bun run release:gate` passed after release preparation.
- `bun run release:app:package --out dist/release/app --artifact-base-url
  https://github.com/Hexpy-Games/butler/releases/download/v0.0.7` rebuilt the
  macOS app zip, Linux app tarball, SHA256 files, app release manifest, and app
  update manifest.
- The generated macOS app zip was extracted locally and its normalized packaged
  `Contents/Resources/butler.icns` hash matched the Butler `assets/butler.icns`
  hash.
- Published `v0.0.7` GitHub Release assets and manifests were verified after
  upload.
