v0.4.6
Added
- Electron Intel Mac DMG (
darwin-x64) is now published alongside the Apple Silicon DMG on every release. The CI matrix gained amacos-13row that producesPI-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 helperpackages/electron/scripts/build-installer.shgained a--mac-bothflag, 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>.dmgtoPI-Dashboard-darwin-arm64-<ver>.dmgfor 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/arm64onmacos-14,darwin/x64onmacos-15-intel) used to emit a staticPI Dashboard.dmgbasename, causingsoftprops/action-gh-release@v2to 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'snamefield 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 newPI-Dashboard-darwin-${arch}-${version}.dmgpattern. Locked byforge-config-dmg-naming.test.ts. (change:fix-darwin-dmg-arch-collision) - Tasks popover now renders rows for every change, not just those whose
tasks.mduses1.1-style numeric ids. Previously, changes authored without numeric id prefixes (e.g.- [ ] Verify runner image) showedTasks 24/36on the button butNo 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 stableL<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:
- Click More info.
- 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):
- Right-click the downloaded
.exe(or the.zip) → Properties. - At the bottom of the General tab, tick Unblock next to "This file came from another computer...".
- 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:
- Open the DMG and drag PI Dashboard to Applications.
- In Applications, right-click (or Control-click) PI Dashboard → Open.
- 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.