v0.4.0
Highlights — the Atlas release
Mill now has a second surface: Atlas — a map of where your truth lives. A detective-board canvas of typed cards (documents, people, topics — your own kinds) that you arrange, connect, and zoom through like one continuous map:
- One board, every level. Areas render as frames with their contents visible inside; zooming into one is a camera move, not a page change. Detail follows distance: full cards up close, compact chips and honest "+ N more" tiles one level down, bare counts beyond — and the same rule shapes the lines, so relationships draw as clean area-to-area arteries instead of spaghetti.
- Three gestures, everywhere. Click flips a card to its working summary. Double-click commits — into a place, or open a card's full page. ⌘K flies you to anything by name (↵ lands your eye there, ⌘↵ opens it). ⌘-click opens directly; ⌘↑ steps back up. Right-click works too — cards and workflow steps both carry real context menus.
- Cards carry provenance. Source link, mirrored file with freshness, a refresh workflow behind "Update now" — run through the same guardrail gate as everything else, with the receipt linked. Share any card or space as clean context for an AI or a colleague.
- Built for real density. Boards stay readable at dozens of cards: capped frame previews, auto-arranged layouts that seat related things together, and cards that never overlap by accident.
Also in this release: workflows survive schema change (field evolution with tombstones, key immutability, delete-integrity), published decision versions with runs stamped against the exact version they used, automatic rolling backups + export-everything/import with a documented bring-your-own-Postgres path, a phone-usable companion mode, and a per-surface command palette section with rebindable shortcuts throughout.
Install
Download the .zip, unzip, and drag mill.app to Applications — no build needed. The app is not Apple-notarized, so the first launch is blocked with "Apple could not verify…" — click Done (not Move to Trash), then System Settings → Privacy & Security → scroll to the mill message → Open Anyway (one time only; on pre-Sequoia macOS, right-click → Open works instead). Terminal alternative: xattr -d com.apple.quarantine /Applications/mill.app. Verify the download came from this repo's CI: gh attestation verify <the .zip> -R alicoding/mill. Prefer building from source? git clone + the README's few commands work on any Mac.
What's Changed
- feat: run analytics v2 -- duration KPI, trigger recency, step-type failure breakdown (goal 0051) by @alicoding in #139
- feat: atlas domain + service -- user-declared kinds, cards, links, spaces (goal 0061 slice A, ADR-0038) by @alicoding in #140
- feat: atlas surface -- spaces, drill, card overlay, lens, quick-panel cards (goal 0061 slice B, ADR-0038) by @alicoding in #141
- feat: atlas contract family, guarded update-now, receipt provenance (goal 0061 slice C, ADR-0036/0038) by @alicoding in #142
- chore: docs anti-rot public side -- package-comment floor, AGENTS.md, README truth (goal 0049) by @alicoding in #143
- feat: schema evolution guards -- key immutability, deprecation, field tombstones, delete integrity (goal 0046 slice 1, ADR-0040) by @alicoding in #144
- feat: decision versions -- publish, pinned resolution, run stamping (goal 0046 slice 2, ADR-0040) by @alicoding in #145
- feat: node complexity facet -- required metadata + palette progressive disclosure (goal 0047) by @alicoding in #146
- chore: step vocabulary sweep -- MCP descriptions + root document stepTypes alias (goal 0052 leftovers) by @alicoding in #147
- test: e2e flake hardening -- retire the recurring retry classes (goal 0062) by @alicoding in #148
- feat: atlas-workflow integration -- card steps, kind-scoped trigger, guarded writes (goal 0066, ADR-0035/0038) by @alicoding in #149
- feat: data stewardship -- vacuum-into backups, seeded backup workflow, export-everything (goal 0065) by @alicoding in #150
- feat: atlas share model -- card/space context copy, mirror folders, kind evolution (goal 0063, ADR-0038) by @alicoding in #151
- feat: atlas projections -- mirror rendering, traceability matrix, coverage (goal 0064, ADR-0038) by @alicoding in #152
- test: root-cause CI shard-trio flakes -- canvas click landed on the wrong node (goal 0069) by @alicoding in #154
- feat: mobile companion pass -- responsive shell, five phone jobs, install story (goal 0068) by @alicoding in #153
- fix: atlas canvas drag lag -- proper React Flow state ownership + memoized card node by @alicoding in #155
- fix: the app names itself -- Mill version in footer and Settings, Docs links to Mill by @alicoding in #156
- feat: synced-folder onboarding -- consent-first scan, kind suggestions, preview import (goal 0067) by @alicoding in #157
- docs: design/UX contracts are orchestrator work-product, never delegated by @alicoding in #158
- fix: atlas root is My space -- auto-enter, chip dedupe, visible view-mode control by @alicoding in #159
- feat: atlas one-map -- region frames, note cards with flip, drawn links (goal 0072 slice A) by @alicoding in #160
- feat: atlas camera navigation + command-K jump (goal 0072 slice B) by @alicoding in #161
- feat: atlas card page -- typed contents, meta rail, group flip (goal 0072 slice C) by @alicoding in #162
- fix: atlas count chips pluralize correctly by @alicoding in #163
- fix: atlas live pass -- board fills pane, floating link edges, page reads-first, retired-kind migration by @alicoding in #164
- feat: atlas semantic zoom -- preview cap, region chips, link reattachment, dense fixture (goal 0073 slice A) by @alicoding in #165
- fix: atlas page gutters + lens never hides a region frame by @alicoding in #166
- feat: atlas gesture model -- click glances, double-click commits, chips flip (goal 0074) by @alicoding in #167
- feat: atlas free-mode overlap resolution -- frames never overlap, arrivals place clear (goal 0073) by @alicoding in #168
- feat: atlas line semantic zoom -- edges lift to area-level arteries (goal 0073) by @alicoding in #169
- feat: link-adjacent auto-arrange + surface-scoped shortcuts (goals 0073/0071) by @alicoding in #171
- feat: context-menu architecture -- one Primer-native menu, Atlas cards + canvas steps wired (goal 0075) by @alicoding in #172
- chore: v0.4.0 -- the Atlas release by @alicoding in #173
- chore: build config version follows v0.4.0 by @alicoding in #174
- docs: DoR gains the integration-surfaces triage by @alicoding in #175
Full Changelog: v0.3.0...v0.4.0