Skip to content

v1.4.4

Choose a tag to compare

@ianwieds ianwieds released this 12 May 21:39
· 13 commits to main since this release

Icon resolution simplified to convention-only with retina derivation.

⚠️ BREAKING

  • app.icons config block removed. Remove the icons: { appMac, trayMac, dmgMac, ... } block from app: in your config/electron-manager.json — icons are now discovered by file convention.
  • macOS tray input filename is now tray.png (was trayTemplate.png). Rename config/icons/macos/trayTemplate.pngconfig/icons/macos/tray.png. EM owns the Template suffix when writing the dist output for macOS dark-mode auto-inversion.
  • Ship native (@2x) size only. Delete any <name>@2x.png files. EM downscales the @1x sibling via sharp at build time.
    • macOS tray: 32×32 native
    • macOS DMG background: 1080×760 native

Added

  • config/icons/global/<slot>.png — universal fallback. Used by any platform with no platform-specific override.
  • docs/icons.md — full reference: layout, resolution chain, retina rules, macOS Template magic, common scenarios.
  • New deps: sharp + gulp-responsive-modern.
  • New outFile field in SLOTS (separates input/output filenames where needed).

Changed

  • Resolution waterfall: <platform>/<slot>global/<slot> → (Linux only) windows/<slot> → bundled <platform> → (Linux only) bundled windows/. Most specific wins.
  • resolveAndCopy() is async now (sharp is async-only). gulp/build-config awaits it.
  • Linux fallback chain walks through windows/ (consumer + bundled) before giving up — preserves legacy "Linux reuses Windows assets" behavior.

Fixed

  • .gitignore: added /.claude/ (Claude Code's /loop runtime state should never be tracked). Renamed /.em-cache//.cache/ (stale from v1.4.1).

All 604 tests pass.