Skip to content

v0.4.6

Choose a tag to compare

@github-actions github-actions released this 02 May 22:45

Added

  • Electron Intel Mac DMG (darwin-x64) is now published alongside the Apple Silicon DMG on every release. The CI matrix gained a macos-13 row that produces PI-Dashboard-darwin-x64-<ver>.dmg. Fixes the long-standing "cannot be opened" error on Intel Macs trying to run an arm64-only artifact (Rosetta cannot translate arm64 → x86_64). The site's Download section now renders Apple Silicon and Intel as two equally prominent buttons. Local-builder helper packages/electron/scripts/build-installer.sh gained a --mac-both flag, sentinel-driven per-arch cache invalidation, and a Rosetta 2 preflight so maintainers can validate both DMGs on an Apple Silicon mac before cutting a release. (change: add-darwin-x64-build)

Changed

  • Breaking (direct download links): the macOS Apple Silicon DMG is renamed from PI-Dashboard-<ver>.dmg to PI-Dashboard-darwin-arm64-<ver>.dmg for symmetry with the new Intel build (PI-Dashboard-darwin-x64-<ver>.dmg). External deep links pointing at the old unsuffixed filename will 404 — update them to the new naming or link to the Releases page instead. (change: add-darwin-x64-build)

Fixed

  • macOS DMG release-asset collision — both macOS matrix legs (darwin/arm64 on macos-14, darwin/x64 on macos-15-intel) used to emit a static PI Dashboard.dmg basename, causing softprops/action-gh-release@v2 to silently overwrite one arch with the other on release-asset upload (it dedups by basename). Even though the CI matrix correctly built two DMGs per release, only one ever survived in the published GitHub Release — whichever job finished last won. Intel users were hit hardest because their DMG was usually overwritten by the arm64 one and Rosetta cannot translate arm64 → x86_64. The DMG maker's name field is now composed at config-evaluation time as `PI-Dashboard-darwin-${process.arch}-${pkgVersion}` so each leg lands a distinct asset. One-time release-asset URL change: anyone scripting downloads against the unsuffixed legacy URL (releases/download/<tag>/PI%20Dashboard.dmg) will see a 404 starting from the next release — link to the Releases page or the new PI-Dashboard-darwin-${arch}-${version}.dmg pattern. Locked by forge-config-dmg-naming.test.ts. (change: fix-darwin-dmg-arch-collision)
  • Tasks popover now renders rows for every change, not just those whose tasks.md uses 1.1-style numeric ids. Previously, changes authored without numeric id prefixes (e.g. - [ ] Verify runner image) showed Tasks 24/36 on the button but No tasks. in the popover — a silent disagreement between the openspec CLI's count and the dashboard's stricter parser. The parser now accepts top-level checkboxes with or without ids, synthesizing a stable L<line> identifier for id-less rows that round-trips through the toggle endpoint without ever leaking into the file. The button count and popover row count are now contractually identical, locked by a new spec scenario. (change: relax-tasks-parser-id-optional)

Windows users — SmartScreen warning

The Windows installer is not yet code-signed, so Microsoft Defender SmartScreen will show "Windows protected your PC" the first time you run pi-dashboard-Setup-0.4.6.exe (or any of the .exe artifacts). Two ways to proceed:

Option A — at the SmartScreen dialog:

  1. Click More info.
  2. Click Run anyway.

Option B — pre-clear the Mark-of-the-Web (useful if SmartScreen does not surface the More info link, or you want to clear it on the portable / ZIP archives before running):

  1. Right-click the downloaded .exe (or the .zip) → Properties.
  2. At the bottom of the General tab, tick Unblock next to "This file came from another computer...".
  3. Click OK and run as normal.

For ZIP archives, unblock the archive itself before extracting so the contained .exes inherit the cleared zone.

macOS users — Gatekeeper / quarantine

The DMGs are not yet notarized, so macOS will refuse to launch the app on first run with "PI Dashboard cannot be opened because the developer cannot be verified" or silently quarantine it. Two ways to proceed:

Option A — control-click the app:

  1. Open the DMG and drag PI Dashboard to Applications.
  2. In Applications, right-click (or Control-click) PI Dashboard → Open.
  3. Click Open in the confirmation dialog. Subsequent launches are unrestricted.

Option B — clear the quarantine attribute from the terminal (useful for arm64 DMGs that Gatekeeper sometimes refuses outright on Sonoma+, or when scripting):

xattr -d com.apple.quarantine "/Applications/PI Dashboard.app"

If the DMG itself is being blocked, clear it on the mounted volume before copying:

xattr -d com.apple.quarantine "/Volumes/PI Dashboard/PI Dashboard.app"

Authenticode (Windows) signing is tracked in change windows-authenticode-signing; macOS notarization will follow under a separate macos-notarization change. Until both ship these workarounds are expected; the artifacts are the exact ones built by .github/workflows/publish.yml against this tag.