Interleave 0.4.0 — signed & notarized: installs with no Gatekeeper warning
Interleave 0.4.0 is the first Developer ID–signed and Apple-notarized build: a downloaded .dmg now mounts and installs with no Gatekeeper warning and no xattr workaround, even offline. On top of that headline, the daily /process loop, queue, and reader get another deep round of polish and hardening. Everything still runs 100% on-device against native SQLite + a filesystem asset vault — no cloud dependency. Built on v0.3.0.
Highlights
Installs with no warning — signed & notarized
- Developer ID signing + Apple notarization + stapling, applied to both the app and the
.dmg. Gatekeeper opens it cleanly on first launch — the oldxattr -dr com.apple.quarantinedance is gone. - Works offline — the notarization ticket is stapled into the app and the disk image, so a freshly downloaded copy verifies without a network round-trip.
- Hardened runtime with the minimal entitlements the on-device native modules (SQLite, embeddings, OCR) need, and a one-step signed-release build.
A more focused daily loop — process & queue
- Inline process session controls and work routed by actionable stage, so the one-at-a-time
/processloop sends you to the right next step. - Queue clarity — clarified eligibility semantics, a "soon" inbox-triage path, a queue sidebar badge that refreshes on updates, a hidden/By-default-quiet queue search area, and in-place undo kept aligned with lifecycle actions.
- Process source reader — realigned design and layout, reclaimed vertical space, fixed text measurement, restored scroll + rich content display, fixed stale block-processing reads, and kept metadata on a single line.
- Process extract workbench — expanded the workbench, bounded extract→source references, contained distillation prose scrolling, and verified reader reachability from an extract.
- Read-now sources are scheduled to return instead of falling out of view.
Inbox & capture
- Actionable triage — the inbox balance banner/warning now surfaces its triage actions directly instead of just flagging a problem.
- Sharper extension brand mark in the Chrome capture popup.
Reader & review
- Large-selection toolbar anchoring fixed in the reader.
- Flatter review card surfaces for a cleaner grading view.
Under the hood
- Electron E2E suite stabilized and local macOS launches quieted; Interleave dock icon shown in dev.
- Agent/contributor instructions split by scope; workspace lint clean.
Quality gates (all green at this commit)
pnpm typecheck— 14/14 projectspnpm lint— Biome clean (905 files)pnpm test— Vitest 3,248 passing (376 files)pnpm --filter @interleave/desktop dist:release— produces the signed + notarized.dmgbelow
Install (macOS, Apple Silicon)
No quarantine workaround anymore — this build is notarized:
- Download
Interleave-0.4.0-arm64.dmgbelow (requires an Apple-Silicon / arm64 Mac), open it, and drag Interleave to Applications. - Open Interleave. That's it — no right-click → Open, no
xattr.
The Chrome extension is built separately: pnpm --filter @interleave/extension build, then load apps/extension/dist/ unpacked in Chrome and pair the token in Settings → Browser capture.
sha256(Interleave-0.4.0-arm64.dmg) = 627fe17ae719add1c330045b868e6e02683a8e3cdbbff4372a16dd80f4c40487
This is a pre-1.0 release: green and heavily tested, but not yet daily-driven/battle-tested. Your data is local — back it up (automatic) from Settings.
Full changelog: v0.3.0...v0.4.0