Changelog / v1.4.0 / 22 Sept 2026

A first-run guide, exports that carry a receipt, and an auditable MCP log

First run is now a six-step guide you can reopen as the manual, and every managed export writes a receipt naming the revision and check verdict it came from. Settings → MCP access gains a real paged activity log with filters and a redacted diagnostics bundle, and the 3D viewport holds its frame budget under load.

Installers and signatures for v1.4.0

New

2
  • A guide, not just an agent picker.

    First run is now a six-step walkthrough — Welcome, Agent, The loop, The brief, Steering, Ship — and it stays available as the manual: Home's "How it works" and Settings → General → Guide reopen it any time, with nothing written on replay.

    • The loop lays out what a turn is: brief → project folder → the agent plans, writes files and screenshots its own work → the preview follows → the turn ends with a snapshot and the gate.
    • The brief teaches brief-writing as six weak-versus-strong pairs — name the thing and its reader, bring real content, two or three adjectives not ten, say what would make it a failure, show rather than only tell, leave the parts you don't care about.
    • Steering covers the moves after a first draft: ⌥-click element picks, comment pins, drawing on a screenshot, tweaks that apply without a turn, variants, design systems — and why one change per message beats six.
    • Detection still runs live on the Agent step, and the pick is now remembered — Home's composer starts from it. Skippable from step one; every step is reachable from the rail.
  • Exports carry a receipt.

    A managed export — a social placement set, or artifact_export through the studio's command surface — writes .1design/artifacts/exports/<id>/receipt.json beside the bytes: the revision they came from, that revision's check verdict and whether the source has moved since.

    • A receipt naming a revision the tree has drifted past is refused SOURCE_CHANGED rather than stamped, and the source is re-walked after the capture — a turn rewriting the tree mid-export refuses too.
    • Receipt ids are content-addressed: re-exporting identical bytes updates one row instead of piling up near-duplicates, and the artifact drawer's export list reads them.

Improved

4
  • The MCP activity feed is a real log.

    Settings → MCP access → Activity was a flat fetch of recent rows; it now pages the retained log with host-side filters (connection, project, outcome — including an Errors bucket), Load older, Refresh, and Clear — the wipe itself is recorded, so the feed is never silently empty.

    • Rows record what an audit needs: the call kind, the client label, the artifact, the policy decision taken before the outcome, a stable error code, the request and result sizes, and the duration. Calls that never authenticated write a row too, and job transitions an MCP call started are recorded — "what did that client do" no longer has silent gaps.
    • The log keeps 30 days or 10,000 calls, whichever comes first.
    • Export diagnostics writes a redacted bundle to the exports folder — the same activity rows plus connection and job state — sized for attaching to a bug report.
  • 3D scenes stay interactive under load.

    Modifier stacks evaluate on a worker pool instead of the viewport thread; clicking an object picks through a per-geometry BVH instead of raycasting every triangle in the scene; and an evaluated-geometry cache means selecting a second object no longer re-runs every modifier stack in the document.

  • Adaptive render quality.

    The viewport steps render resolution down to hold the frame budget and back up when there is headroom — with a dead zone between the two thresholds so a scene sitting at budget does not oscillate — and a GL context that keeps dying stops restoring forever and says so.

  • Imported GLBs keep their materials.

    Texture transforms (KHR_texture_transform), alpha modes (opaque / mask / blend) and clearcoat/transmission factors now survive import, material slots key on a deterministic glTF order, and lights and colors round-trip without shifting hue.

Fixed

1
  • Project trash survives a crash.

    Trash and restore now journal each move and settle half-finished receipts at launch — a crash mid-move rolls forward or back, so the library never lists a project whose folder already moved (or loses one that has not). Trashing is refused while a run owns the workspace or a job is live, and restore names the exact receipt — trash → restore → trash again restores the right move.

Privacy

2
  • Trashing a project cuts external access without losing the grant.

    Its MCP grants suspend — the project leaves each connection's scope but stays on record — so restoring the folder can't silently re-enable access; re-granting is an explicit edit in Settings → MCP access.

  • The activity log and diagnostics bundle carry no secrets.

    Rows record tool names, decisions, error codes and byte sizes — never arguments, prompts, briefs or credentials — and the diagnostics export strips credential fields from the connection rows it includes.