|
| 1 | +## 🧱 v0.0.8 — The "New Foundation" Release |
| 2 | + |
| 3 | +- **Release date:** 2026-06-26 |
| 4 | +- **Previous release:** `v0.0.7-alpha.1` (2026-04-13) — the initial v0.0.7 line |
| 5 | +- **Range:** `v0.0.7-alpha.1..v0.0.8` |
| 6 | +- **Delta:** **1,427 commits**, **1,647 files changed**, **+131,487 / −137,152** |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +### A bigger codebase, then a smaller one. Wallfacer was rebuilt from the ground up. |
| 11 | + |
| 12 | +The entire v0.0.7 alpha line rolls up into v0.0.8 — over ten weeks and 1,400 commits of work. This is not a feature bump. The frontend was rewritten as a Vue SPA, the native desktop app was retired, multi-harness and host-execution support landed, a full spec-coordination lifecycle was built, and the groundwork for multi-user cloud collaboration went in. We deleted nearly as much code as we added, and what remains is a real platform. |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +## 🖥️ A Brand-New Frontend — Rebuilt in Vue |
| 17 | + |
| 18 | +The legacy hand-rolled vanilla-JS `ui/` is gone. The entire interface is now a **Vue single-page app**, shipped as the default: |
| 19 | + |
| 20 | +- **Vue SPA is the default UI** — the legacy interface was removed entirely after a full parity migration |
| 21 | +- **Chat / Plan / Board navigation** — three first-class surfaces instead of one monolithic view |
| 22 | +- **History-based routing** with deep links, last-route memory, and migrated legacy hash URLs |
| 23 | +- **CodeMirror 6 file editor** with **VS Code-style editor tabs** — single-click preview, double-click/save to pin, and a board-status indicator on each tab |
| 24 | +- **Dockable panel workspace** — drag the terminal to any edge, maximize, split, and tab-group panels, all driven by a pure layout-reducer store |
| 25 | +- **App-native components** — `AppSelect` replaces every native dropdown across settings, analytics, composer, agents, flows, and routines |
| 26 | + |
| 27 | +## 💬 A Real Chat & Planning Surface |
| 28 | + |
| 29 | +Planning is now a conversation, not a form: |
| 30 | + |
| 31 | +- **Dedicated Chat surface** plus a **floating, draggable chat popup** available on every tab and resizable from any edge or corner |
| 32 | +- **Codex-style agent trajectory** — the agent's work streams in as clean prose, animates in, shimmers on the active step, and folds when done |
| 33 | +- **Token usage and cost shown per turn and per thread**, with a compact command preview under each tool step |
| 34 | +- **Auto-titled sessions** — threads name themselves from the opening message, shown live; deferred thread creation until the first message |
| 35 | +- **Session management** — group by status and by last-activity date ranges, archive, and permanently delete archived threads |
| 36 | + |
| 37 | +## 🤖 Multi-Harness Support & Host Execution |
| 38 | + |
| 39 | +Wallfacer is no longer tied to one agent or to containers: |
| 40 | + |
| 41 | +- **Five harnesses** behind a unified abstraction: **Claude, Codex, Cursor, OpenCode, and Pi** |
| 42 | +- **Host-execution mode** — run agents directly on the host with no container, including `cursor-agent`, `opencode`, and `pi` |
| 43 | +- **Harness pickers everywhere** — logo+text selectors in the task composer, settings, and the landing page, surfaced from the registry |
| 44 | +- `wallfacer doctor` probes host binaries; `CURSOR_API_KEY` and friends are wired through env GET/PUT/test |
| 45 | +- Heavyweight, inspector, and headless agent roles all migrated onto the shared `Harness` interface |
| 46 | + |
| 47 | +## 📐 Spec Coordination — A Full Lifecycle |
| 48 | + |
| 49 | +The spec system grew from notes into a coordinated, drift-aware workflow: |
| 50 | + |
| 51 | +- **Explicit lifecycle states** — `drafted → validated → dispatched → testing → done`, with a completion gate |
| 52 | +- **Drift testing** — an agent-backed drift tester compares a finished task against its spec, with verdict types, a pure classifier, and a tester-failure override |
| 53 | +- **Staleness propagation** — advisory cross-tree scans surface stale candidates with mark-stale/dismiss and bulk-dismiss; chat edits fan out to dependents |
| 54 | +- **Archive/unarchive** that relocates the spec file via `git mv` and resolves archived specs by logical path |
| 55 | +- **Folder dispatch** of non-leaf subtrees and per-workspace commit mutexes for safe concurrent spec commits |
| 56 | +- **Spec comments** rendered in a margin rail (drop the centered popover), with fold toggles and breakpoint auto-fold |
| 57 | + |
| 58 | +## ☁️ Cloud & Multi-User Foundations |
| 59 | + |
| 60 | +The groundwork for shared, signed-in, multi-tenant operation: |
| 61 | + |
| 62 | +- **Browser sign-in by default** via a public OAuth client; `wallfacer auth login/logout/whoami` CLI subcommands |
| 63 | +- **Device-auth flow** — `/api/auth/device/{start,poll,cancel}` for local SPA sign-in |
| 64 | +- **Org switching** with a shared `latere-ui` account menu; workspaces isolated by org in cloud mode |
| 65 | +- **Coordination plane** — outbound connector, accept-side websocket handler, an in-memory instance registry, and a **durable Postgres comment store** with a shared pool and versioned `golang-migrate` migrations |
| 66 | +- **Token-audience validation** and authenticated-principal gating on the feedback and comment routes |
| 67 | +- Opt-in coordination with a persisted toggle, status endpoints, and an out-of-sync banner |
| 68 | + |
| 69 | +## 🗺️ Knowledge-Graph Map & Console |
| 70 | + |
| 71 | +- **Map redesigned as a navigable knowledge graph** with deterministic community detection and a readability-tuned layout |
| 72 | +- **Console sidebar redesign** — Wallfacer/Workspace branding, shared fold, search bar, and a resizable spec tree |
| 73 | +- **Two-step workspace picker wizard** |
| 74 | + |
| 75 | +## 🎨 Design System & Branding |
| 76 | + |
| 77 | +- **Depth system** — an elevation ladder, frosted floating overlays, tactile filled buttons, and depth on panels and the status bar |
| 78 | +- **Hanken Grotesk** as the UI font |
| 79 | +- **Signature chat look** — a pixel-mark agent and ember accents, Claude-style threads |
| 80 | +- **Free-form, Apple-style landing page** with OS auto-detection on the install page and theme-aware screenshots |
| 81 | + |
| 82 | +## ⏰ Routines |
| 83 | + |
| 84 | +- **Scheduled / recurring tasks** with interval and flow pickers, a redesigned Routines page, and full backlog editing (prompt, sandbox, deps, `scheduled_at`) |
| 85 | +- Routines self-unregister when stopped, auto-disable when the last live instance is cancelled, and hide their system cards from the board |
| 86 | +- **Flows renamed to Workflows**, rendered as a pipeline |
| 87 | + |
| 88 | +## 🧹 The Great Subtraction |
| 89 | + |
| 90 | +This release removed as much as it added: |
| 91 | + |
| 92 | +- **Native desktop app retired** — the Wails build, tray, deps, and CI are gone; Wallfacer is web-only |
| 93 | +- **Rebrand** — module path migrated to `latere.ai/x/wallfacer`, with vanity import resolution |
| 94 | +- **Legacy `ui/` deleted** after the Vue parity migration completed |
| 95 | +- Removed the workspace `AGENTS.md` editor and the host-mode banner; dropped `--container`/`--image` flags from `wallfacer desktop` |
| 96 | + |
| 97 | +## ⚡ Performance |
| 98 | + |
| 99 | +- **Incremental stream parsing** for planning and task-activity logs — no more O(n²) re-parsing on every chunk |
| 100 | +- **Lazy-loaded telemetry** shrinks the eager entry chunk |
| 101 | +- Shared `useNow` ticker and `tasksById` map across cards; batched critical-path scoring for autopilot candidates |
| 102 | +- Skip the mermaid enhancer on the streaming hot path; drop redundant `git rev-parse`/re-stat per comment thread |
| 103 | + |
| 104 | +## 🛡️ Reliability |
| 105 | + |
| 106 | +- Fixed live task detail going stale across SSE updates on the board and map |
| 107 | +- Double-click guards and immediate feedback on task-detail actions |
| 108 | +- Fixed a live-log relay goroutine leak on client disconnect |
| 109 | +- Coordinator persists resolve/reopen before fan-out (matching create/reply) and ignores stale socket leaves |
| 110 | +- Config-toggle and routine background passes run on a detached context so they survive request cancellation |
| 111 | +- Don't carry the active workspace across an org switch; strip SSG landing markup on cloud deep routes to stop the flash |
| 112 | + |
| 113 | +--- |
| 114 | + |
| 115 | +## Upgrading |
| 116 | + |
| 117 | +### One-liner install (recommended) |
| 118 | + |
| 119 | +```bash |
| 120 | +curl -fsSL https://raw.githubusercontent.com/changkun/wallfacer/main/install.sh | sh |
| 121 | +``` |
| 122 | + |
| 123 | +### Direct binary download |
| 124 | + |
| 125 | +Download the binary for your platform from the **Assets** section below, then: |
| 126 | + |
| 127 | +```bash |
| 128 | +chmod +x wallfacer-* |
| 129 | +sudo mv wallfacer-* /usr/local/bin/wallfacer |
| 130 | +wallfacer doctor # verify setup |
| 131 | +wallfacer run # launch |
| 132 | +``` |
| 133 | + |
| 134 | +> **Note:** the standalone desktop app has been removed. Wallfacer now runs as a local web app — `wallfacer run` serves the Vue UI in your browser. |
| 135 | +
|
| 136 | +--- |
| 137 | + |
| 138 | +**1,427 commits. A frontend rebuilt, a desktop app retired, five agent harnesses, and the first steps into the cloud.** This is the release where Wallfacer's foundation was poured. [Tell us what breaks](https://github.com/changkun/wallfacer/issues). |
0 commit comments