Changelog
- 99154d9 Restrict /health/realtime metrics exposure (MUL-1342) (#1608)
- 2cced51 docs(changelog): publish v0.2.14 + v0.2.15 release notes (#1517)
- 059356c docs(claude-md): trim implementation archaeology, keep rules (#1540)
- 9dcc082 docs(handler): note that GetConfig is public-only and what may be returned (#1538)
- 6107211 docs(selfhost): correct WebSocket guidance for LAN access (#1567)
- 977b0c0 feat(agents): show profile card on agent avatar hover (#1577)
- 6717db1 feat(agents): surface task source on AgentTaskResponse + use it in Tasks tab (#1455)
- 6c72c71 feat(analytics): add onboarding_runtime_detected event on desktop Step 3 (#1553)
- 40cea84 feat(autopilot): redesign modal — simpler schema, consistent schedule UI (#1595)
- 35aca57 feat(chat): Chat V2 — sidebar entry + main-area page (#1580)
- e0e91fc feat(daemon): harden agent mention-loop instructions (#1581)
- 8f10741 feat(daemon/gc): tighten GC defaults + flex duration suffix (#1559)
- 5e51f5b feat(desktop): add right-click context menu with clipboard actions (#1575)
- 8c2e084 feat(docs-site): rewrite docs as bilingual flat content tree (#1591)
- d6e7824 feat(feedback): in-app feedback flow + Help launcher (#1546)
- e994d77 feat(help): mark external links with arrow, move Feedback last (#1560)
- d54daa6 feat(issues): right-click context menu + unified issue actions (#1594)
- 83a3683 feat(landing): add sticky date navigation to changelog page (#1552)
- 9142475 feat(realtime): phase 0 — extract Broadcaster interface + add metrics (MUL-1138) (#1429)
- 6fd1255 feat(runtimes): remove Test Connection / runtime ping feature (#1554)
- 9ed1fa9 feat(server): add readiness health endpoints (#1605)
- c7e725e feat: surface docs from onboarding + landing, unify Autopilot naming (#1613)
- fae3afe fix(agents): drop auto-loading Local Runtime Skills section from Skills tab (#1551)
- 98edc6b fix(auth): make /api/config publicly accessible (#1530)
- 147fb2e fix(autopilot): confirm before deleting autopilot or trigger (#1604)
- 71cc646 fix(chat): prevent UI flicker when streaming response finalizes (#1583)
- bb767e0 fix(chat): prevent chatbox jump when sending first message (#1582)
- b51d1c4 fix(cli): make browser-login work from a machine that isn't the server (#1556)
- cbe0cbe fix(daemon): retry local-skill reports on transient server errors (#1561)
- 6d9ca9d fix(daemon): suppress agent terminal windows on Windows (#1474)
- 9c17756 fix(daemon/repocache): make bare repo cache keys collision-resistant
- 95bcffe fix(desktop): expose search params from root navigation adapter (#1547)
- 88b892f fix(desktop): preserve last-opened workspace on app start (MUL-1269) (#1515)
- f2ba087 fix(editor): preserve nested ordered lists through readonly render (#1512)
- 0bd6ba9 fix(issues): cleaner board card hover with shadow elevation (#1600)
- 044d144 fix(issues): keep reply editor expand icon muted on focus (#1565)
- 502add4 fix(issues): restore compact single-line reply editor, keep expand overlap fix (#1562)
- efc08a1 fix(issues): stop expand button from covering text in comment/reply editors (MUL-1297) (#1558)
- 5bab95a fix(issues): unify board card hover and active visual (#1603)
- 7375bda fix(landing): scope landing route to always-light palette (MUL-1277) (#1537)
- 2a248b8 fix(openclaw): raise agent discovery timeout to 30s (#1495)
- 1713674 fix(runtimes): fix dark mode chart visibility and invalid CSS color syntax (#1573)
- 4f40f70 fix(skills): remove double-flicker on CreateSkillDialog close (#1610)
- 5ef957c fix(skills): resolve aliased skills.sh imports (#1432)
- ad803b8 fix(skills): shared-state runtime local-skill stores (MUL-1288) (#1557)
- fe84e29 fix(ui): stop menu hover from overriding icon colors (#1612)
- f84d216 fix(views): restore issue-mention class on for mention card (#1516)
- 9e1e398 fix(workspace): defense-in-depth owner check in DeleteWorkspace handler
- d97aec8 fix: pass model to Hermes ACP and add hermes to InjectRuntimeConfig (#1203)
- 7067d8f refactor(skills): redesign list page and add skill detail page (#1607)
- f7fe082 refactor(skills): wrap list as card, use shared PageHeader, add scroll fade (#1614)