v0.3.0
What's Changed
- Phase 3: Space Explorer 交互与视觉打磨 by @DeadWaveWave in #109
- Fix CI: Prettier format check by @DeadWaveWave in #111
- Milestone 0: filesystem guardrails tests by @DeadWaveWave in #112
- feat(settings): add terminal font family selector by @Tian-orz in #97
- Phase 4: remote worker + web shell (SSH-first) by @DeadWaveWave in #117
- feat(sidebar): drag-to-reorder workspace projects (#87) by @yinuotxie in #119
- fix(terminal): intercept Cmd+V on macOS to prevent paste-then-edit garbling by @yinuotxie in #100
- fix: unify shared menu positioning by @DeadWaveWave in #121
- worktree: handle repos without commits by @DeadWaveWave in #120
- Fix agent terminal profile recovery by @DeadWaveWave in #110
- Milestone 4.5: Sync-first multi-client (snapshot+SSE) by @DeadWaveWave in #122
- feat: add space explorer file operations by @DeadWaveWave in #123
- M5: Productize Home Worker + CLI PATH install by @DeadWaveWave in #125
- fix: worktree branch dropdown no longer jumps to top by @DeadWaveWave in #126
- fix(update): disable macOS in-app updates for ad-hoc builds by @DeadWaveWave in #128
- feat: configurable canvas wheel behavior by @DeadWaveWave in #127
- fix: keep terminal focus stable by @DeadWaveWave in #130
- fix: focus space without over-zoom by @DeadWaveWave in #131
- fix: space pills truncation + branch badge refresh by @DeadWaveWave in #129
- fix(canvas,pty): stabilize pan + durable scrollback by @DeadWaveWave in #139
- fix: support Linux terminal copy/paste shortcuts in terminal nodes by @DeadWaveWave in #142
- feat: add experimental website window nodes by @DeadWaveWave in #141
- feat: add side-by-side explorer quick preview by @DeadWaveWave in #143
- fix: crash recovery and error boundary to prevent white screens by @andyed in #137
- fix: stabilize opencode terminal rendering and hit testing by @DeadWaveWave in #144
- Web canvas: agent resume + add project/worktree by @DeadWaveWave in #133
- Fix terminal/agent node black gutter and clipped text by @DeadWaveWave in #150
- fix: stabilize node focus ring while typing by @DeadWaveWave in #151
- chore: add CLA policy by @DeadWaveWave in #153
- docs: add trademark policy by @DeadWaveWave in #154
- fix: sync embedded OpenCode theme with app theme by @DeadWaveWave in #155
- Worker Web UI: opt-in toggle + fixed port by @DeadWaveWave in #161
- fix(web-canvas): prevent page zoom/scroll on trackpad + WebUI fullscreen by @DeadWaveWave in #160
- fix: make packaged desktop worker local-only by @DeadWaveWave in #162
- feat: center auto-focus within the visible canvas by @wosuxiongmao in #166
- ci: unify macOS CI job by @DeadWaveWave in #168
- fix: keep Windows terminal startup responsive when WSL discovery stalls by @wosuxiongmao in #164
- worktree: reuse existing branch worktrees by @DeadWaveWave in #170
- Adopt the validated Windows terminal rendering scheme by @wosuxiongmao in #148
- feat: quick menu + agent env overrides by @DeadWaveWave in #169
- M6: Desktop endpoints/mounts + project multi-mount by @DeadWaveWave in #159
- fix: forward workspace root approval to worker on Add Project by @liusining in #173
- Workspace: allow empty Spaces + archive without history by @DeadWaveWave in #171
- feat: improve terminal UX with links, WebGL fix, search toggles, keyboard remaps, and word selection by @sonSunnoi in #176
- feat: add per-workspace environment variables with terminal/agent injection by @liusining in #167
- fix: restore agent input after full restart by @DeadWaveWave in #172
- fix: terminal font rendering improvements by @wosuxiongmao in #175
- feat(ui): theme extension point + Ember as first built-in by @GabrielDrapor in #180
- feat: support file drag-and-drop into terminal nodes by @zuxinrui in #163
- fix: restore zoom shortcuts and remove zoom level clamping by @sonSunnoi in #179
- feat(ui): add Ember Light theme by @sonSunnoi in #184
- Dpi fixed, restore terminal zoom clarity after settled viewport transforms by @wosuxiongmao in #186
- Preserve terminal geometry while restoring zoom-settled clarity by @wosuxiongmao in #187
- fix: isolate space rename input interactions by @DeadWaveWave in #189
- Fix space arrange minimum size and single-node spaces by @DeadWaveWave in #188
- Add configurable archive Space actions by @DeadWaveWave in #190
- feat: add settings search and bump Node baseline by @DeadWaveWave in #192
- Fix packaged Local Worker startup and add CLI lifecycle controls by @DeadWaveWave in #195
- feat: add open-in-file-manager action to project context menu by @Liu8Can in #196
- fix: add ~/.npm-global/bin to fallback PATH for npm global installs by @Xinyuexyyyyy in #197
- feat(cli): add canvas node control commands by @DeadWaveWave in #193
- Add system notifications for agent completion by @Xinyuexyyyyy in #198
- refactor: harden terminal recovery mainline by @DeadWaveWave in #191
- perf: optimize bulk agent restore startup by @DeadWaveWave in #202
- feat: preview VS Code-supported media files in Space Explorer by @DeadWaveWave in #204
- Fix worker web UI navigation route fallback by @Xinyuexyyyyy in #201
- feat(ui): polish project sidebar agent presentation by @DeadWaveWave in #205
- fix: support image previews in Space Explorer files by @DeadWaveWave in #203
- Improve terminal display parity calibration by @DeadWaveWave in #206
- fix: add notify-send fallback for Linux system notifications by @Xinyuexyyyyy in #200
- feat(agent): improve session reload and session switching UX by @DeadWaveWave in #207
- Add markdown export for notes by @Xinyuexyyyyy in #208
- feat: add standalone CLI installation by @DeadWaveWave in #209
- refactor: centralize agent executable resolution and startup workspace approvals by @DeadWaveWave in #210
- feat(canvas): keyboard spatial navigation + shortcuts UX by @DeadWaveWave in #211
- fix: make standalone asset build cross-platform by @DeadWaveWave in #212
- fix: generate tag-pinned release installer assets by @DeadWaveWave in #213
- docs: clarify stable vs nightly installer assets by @DeadWaveWave in #214
- Improve project startup restore and loading experience by @DeadWaveWave in #215
- fix: avoid fit view after archiving active space by @DeadWaveWave in #217
- fix: detect proxied Claude completion records by @Xinyuexyyyyy in #216
- Fix terminal display calibration under canvas zoom by @DeadWaveWave in #218
- Fix trackpad canvas wheel ownership across idle hover gaps by @DeadWaveWave in #219
- docs: align public documentation structure by @DeadWaveWave in #220
- [codex] Add minimap double-click canvas navigation by @eatchip in #222
- Fix Windows agent recovery and terminal rendering by @DeadWaveWave in #221
- fix: guard terminal renderer sync during drag by @DeadWaveWave in #224
- ci: enforce PR description template by @DeadWaveWave in #225
- feat(remote): productize endpoint health and browse flows by @DeadWaveWave in #227
- [codex] extend inline title editing across canvas nodes by @eatchip in #226
- Fix Claude task recovery for worktree paths by @DeadWaveWave in #228
- feat: add issue report workflow by @DeadWaveWave in #230
- feat: refresh document nodes with Monaco and fix PTY launch by @DeadWaveWave in #233
- feat: make space explorer more vscode-like by @DeadWaveWave in #232
- fix: prevent macOS release build OOM in CI by @DeadWaveWave in #235
- Improve terminal performance diagnostics by @DeadWaveWave in #231
- Agent: unify external CLI command environment ownership by @DeadWaveWave in #236
- chore(deps): bump the github-actions-rollup group across 1 directory with 2 updates by @dependabot[bot] in #194
- chore(deps): upgrade electron to 41.5.1 by @DeadWaveWave in #238
- feat: productize managed SSH remote endpoints by @DeadWaveWave in #240
- feat: unify mount-aware space launch routing by @DeadWaveWave in #241
- [codex] feat: add project roles by @eatchip in #242
- feat: improve document editor shortcuts by @DeadWaveWave in #244
- Add full canvas browser capability by @DeadWaveWave in #246
- Add Child Space MVP by @DeadWaveWave in #245
- Fix agent launch environment parity by @DeadWaveWave in #250
- fix: auto-focus new terminal + viewport centering respects sidebar setting by @wosuxiongmao in #254
- ci: add mac intel release artifacts by @DeadWaveWave in #255
- fix: add note actions menu by @DeadWaveWave in #253
- fix: terminal text edge overflow on resume + display calibration passthrough by @wosuxiongmao in #252
- Refine scoped Space lifecycle operations by @DeadWaveWave in #257
- fix: harden PTY host shutdown IPC handling by @DeadWaveWave in #260
- Fix Managed SSH WSL worker bootstrap by @DeadWaveWave in #259
- fix: harden persistence upgrade path by @DeadWaveWave in #261
- Improve issue report diagnostics by @DeadWaveWave in #262
- fix: 修复 Windows 上 agent 无法读取注册表 PATH 的问题 by @s7952452 in #263
- Fix stale local worker reuse across app versions by @DeadWaveWave in #264
- feat: reorganize settings panel by @DeadWaveWave in #266
- fix: reject accidental empty workspace overwrites by @DeadWaveWave in #265
- Add agent CLI installer and unified settings list by @DeadWaveWave in #267
- build: add Linux deb release artifact by @DeadWaveWave in #272
- ci: skip nightly release when no changes by @DeadWaveWave in #271
- 会话列表显示 AI 语义标题:修复长会话标题漏读,并可选地缓存落盘 by @s7952452 in #270
- feat: keep window sizes during arrange by @DeadWaveWave in #275
- Fix Space Worktree terminal and agent launch state by @DeadWaveWave in #284
- [codex] fix moving windows drag CPU usage by @DeadWaveWave in #285
- [codex] fix dev terminal shutdown by @DeadWaveWave in #286
- [codex] fix image preview sizing by @DeadWaveWave in #287
- fix: polyfill renderer randomUUID by @InitialMoon in #281
- fix: reflow windows terminal scrollback on resize by @chen-985211 in #288
- chore: add architecture harness baseline tooling by @chen-985211 in #279
- chore(deps): bump the github-actions-rollup group with 2 updates by @dependabot[bot] in #290
- [codex] feat: refine project space sidebar UI by @DeadWaveWave in #291
- [codex] Refine task node actions by @DeadWaveWave in #294
- [codex] Smooth sidebar rail transitions by @DeadWaveWave in #292
- [codex] Stabilize sidebar sortable drag by @DeadWaveWave in #295
- feat: refine standby banner notification styling by @DeadWaveWave in #297
- Refine Settings hierarchy and visual design by @DeadWaveWave in #299
- fix: stabilize Space drag projections by @DeadWaveWave in #300
- feat: refine console and control center UI by @chen-985211 in #298
- fix(terminal): harden recovery, geometry authority, and theme sync by @DeadWaveWave in #301
- fix(sidebar): keep context menus anchored to hover reveal by @DeadWaveWave in #303
- Fix worktree branch dropdown layering by @DeadWaveWave in #304
- fix(worktree): avoid background Git index locks by @DeadWaveWave in #305
- feat(spaces): add pinned space pills by @DeadWaveWave in #306
- Refine contextual Project and Space popovers by @DeadWaveWave in #307
- Fix sidebar Space disclosure markers by @DeadWaveWave in #308
- Fix direct Agent session titles in completion notifications by @DeadWaveWave in #309
- fix(canvas): focus notification target agent by @DeadWaveWave in #310
- fix(worker): coalesce concurrent local worker starts by @Xinyuexyyyyy in #312
- Persist sidebar and arrange preferences across restarts by @DeadWaveWave in #316
- Support editable managed SSH endpoints with validated ports and removal impact by @DeadWaveWave in #317
- chore(scripts): make empty staged gate runs visible instead of silently passing by @DeadWaveWave in #319
- fix(terminal): report host-applied resize geometry, gate spawns, and bound lock paths by @DeadWaveWave in #318
- Require a commit before reporting work complete by @DeadWaveWave in #320
- Keep research and review write-ups out of the repository by @DeadWaveWave in #323
- Restore the macOS E2E signal and wait on settled geometry by @DeadWaveWave in #324
- Let users add a remote machine without destroying the project wizard by @DeadWaveWave in #325
- Verify the PR body against the template before pushing by @DeadWaveWave in #327
- Stop a failed persist from poisoning every later topology write by @DeadWaveWave in #328
- Fix remote worker bootstrap producing a corrupt runtime on macOS by @DeadWaveWave in #329
- Fix terminal escaping its space and protocol replies leaking after restart by @DeadWaveWave in #326
- Wait for settled sidebar and popover motion by @DeadWaveWave in #330
- Stop worker sync from hijacking the viewport after creating a terminal by @DeadWaveWave in #331
- Fix root-canvas terminal admission blocked by unvisited workspace by @DeadWaveWave in #332
- Recognize terminal agents via runtime overlay (Agent S1) by @DeadWaveWave in #333
- Give converted agent terminals full agent-window parity (Agent S1.5) by @DeadWaveWave in #334
- Add authoritative local Claude agent hook run-states (waiting) by @DeadWaveWave in #335
- Deterministic hook/session-file run-state arbitration (INV-3) by @DeadWaveWave in #336
- Recover agent run-state with per-source replay on reload (restart recovery) by @DeadWaveWave in #337
- Add a second authoritative agent hook provider via a shared channel base by @DeadWaveWave in #338
- fix(agent): make managed Codex hooks trusted and resilient end-to-end by @DeadWaveWave in #339
- feat(agent): hide Gemini from selectable providers while keeping compatibility reads by @DeadWaveWave in #341
- fix(terminal): preserve agent commands during hydration to restore ci-macos gate by @DeadWaveWave in #342
- fix(agent): resume terminal-launched agent sessions after app restart by @DeadWaveWave in #343
- fix(agent): recover terminal-launched agent state by @DeadWaveWave in #344
- fix(sync): preserve active terminal overlays against stale worker-sync by @DeadWaveWave in #345
- Add SSH config host discovery backend by @DeadWaveWave in #346
- fix(terminal): recover from failed Codex launches by @DeadWaveWave in #348
- Redesign the remote machine form by @DeadWaveWave in #347
- feat(settings): prefill remote machine from SSH config by @DeadWaveWave in #349
- fix: make Codex resume recovery writer-safe by @DeadWaveWave in #350
- docs(changelog): note Codex resume writer-safe recovery (#350) by @DeadWaveWave in #351
- Fix remote worker binding recovery by @DeadWaveWave in #352
- fix: run standalone server with bundled Node runtime by @DeadWaveWave in #355
- feat(diagnostics): make issue reports reproducible by @DeadWaveWave in #356
- fix(release): build standalone native modules from module realpath by @DeadWaveWave in #357
- fix(release): build Linux standalone natives against an old glibc by @DeadWaveWave in #358
- fix(release): scope the glibc floor check to what the server loads by @DeadWaveWave in #359
- fix(release): check every versioned symbol family, and read large binaries by @DeadWaveWave in #360
- fix(build): package the app from an allowlist by @DeadWaveWave in #361
- docs(changelog): record the packaging allowlist and its real cause by @DeadWaveWave in #362
- fix(diagnostics): keep the newest breadcrumbs in the GitHub issue body by @DeadWaveWave in #363
- docs(changelog): record the breadcrumb GitHub delivery fix by @DeadWaveWave in #364
- feat(agent): add legacy cleanup and Kimi detector by @DeadWaveWave in #365
- feat(agent): inject provider hooks per launch by @DeadWaveWave in #366
- fix(agent): widen the working hook lease to cover long generation by @DeadWaveWave in #367
- feat(agent): add pi and kimi providers by @DeadWaveWave in #369
- fix: quantize Windows terminal raster geometry by @DeadWaveWave in #368
- docs(development): document the .md-only staged gate exception by @DeadWaveWave in #370
- feat(agent): offer pi and kimi as selectable agent providers by @DeadWaveWave in #371
- fix(agent): report Pi state and distinguish Kimi startup by @DeadWaveWave in #372
- feat(terminal): adopt typed agents through private PATH shims by @DeadWaveWave in #373
- feat(terminal): add native PTY runtime and durable agent continuity by @DeadWaveWave in #376
- feat(terminal): preserve multi-client runtime continuity by @DeadWaveWave in #377
- release: prepare OpenCove 0.3.0 stable by @DeadWaveWave in #378
- fix(release): verify Windows bundles without module paths by @DeadWaveWave in #379
- fix(release): invoke Windows launcher verbatim by @DeadWaveWave in #380
New Contributors
- @Tian-orz made their first contribution in #97
- @yinuotxie made their first contribution in #119
- @andyed made their first contribution in #137
- @wosuxiongmao made their first contribution in #166
- @liusining made their first contribution in #173
- @sonSunnoi made their first contribution in #176
- @zuxinrui made their first contribution in #163
- @Liu8Can made their first contribution in #196
- @Xinyuexyyyyy made their first contribution in #197
- @eatchip made their first contribution in #222
- @s7952452 made their first contribution in #263
- @InitialMoon made their first contribution in #281
Full Changelog: v0.2.0...v0.3.0