v0.28.0
0.28.0
Stable promotion of beta v0.28.0-beta.8.
Aggregated changes since previous stable:
0.28.0-beta.0
Minor Changes
- Link authoring in the visual editor now matches the conventions of the editors
you already know. Typing a full URL (https://…,www.…, or an email) and
pressing space or enter converts it to a link — including local-development
URLs likehttp://localhost:5174— while plain words and filenames like
AGENTS.mdare never touched, and one undo restores plain text. Pasting or
dropping a lone URL links it; pasting a URL over selected text links that text
instead;Cmd+Shift+Vstill pastes plain. Typing markdown's[text](url)
shorthand converts on the closing parenthesis.Cmd+Kis now dual-role: with
text selected it opens the link popover (focused, pre-filled from your
clipboard when it holds a URL), with the cursor inside a link it opens that
link for editing, and everywhere else it keeps opening the command palette.
Linkification never fires on content written by other collaborators or agents
— only on your own local typing and paste gestures. Also fixes two
long-standing popover bugs: the URL input now reliably takes focus on open,
and Escape correctly closes the popover after dismissing path suggestions.
0.28.0-beta.1
Minor Changes
-
Settings → This project gains an "AI tools" section — the project-scoped sibling of the "AI tools & CLI" section. It manages OpenKnowledge's project-local footprint for the project the window has open: the per-editor project MCP config files (
.mcp.jsonfor Claude Code,.cursor/mcp.jsonfor Cursor,.codex/config.tomlfor Codex, and the OpenCode/Pi equivalents) and the project runtime skill (.claude/skills/open-knowledge/). Every row reflects its live installed state and a click installs or uninstalls that one component; removal follows the same guest discipline as install (only entries OpenKnowledge recognizably wrote are deleted). Because a written project config is not always a connected one, each installed row states its remaining step — Claude Code needs a one-time approval, Cursor must be enabled in its own settings, Codex auto-connects on a trusted project. Editors with no project surface (Claude Desktop) are omitted. Mutations resolve and serialize against the sender window's project in the desktop main process.This also fixes a related leak in the existing "AI tools & CLI" (user-global) section: project-only editors such as Pi have no user-global MCP config, so they surfaced there as a permanently-unmanageable row. The global section now lists only
scope: 'global'editors; Pi is managed in the new project section instead.
Patch Changes
- Fix the
execMCP tool being unable to read any file below the project root on
Windows.cat,ls,grep, andfindagainst a subpath (e.g.cat notes/x.md)
returned "No such file or directory" even though the file existed, because the
bundledjust-bashsandbox judged every backslash-separated Windows path as
"outside sandbox". Bumpingjust-bashto the release that handles Windows path
separators restores subpath reads/listings; only genuinely-absent files now
report ENOENT. macOS and Linux are unaffected.
0.28.0-beta.2
Patch Changes
- Fix git rename detection for non-ASCII filenames in two more places. A shared doc or folder whose name contains non-ASCII characters (umlauts, accents, CJK) that is renamed on the remote now reports its correct new location instead of showing as deleted, and version-timeline entries recover the real document name instead of garbled text. All git path-listing now routes through a single NUL-safe helper (
git-paths.ts) so this class of bug cannot recur at new call sites.
0.28.0-beta.3
Patch Changes
- Clicking anywhere in an Ask AI composer now focuses its input. Previously only the text itself was a focus target, so the padding around the field, the gaps beside the send button, and the empty space in the card were dead — a click there did nothing. Both composers get the standard chat-composer behavior: the bottom docked composer (open-doc and folder-overview modes) and the empty-state "Create with AI" composer. Keyboard and screen-reader users are unaffected — the input keeps its own semantics and is still reached directly via Tab and ⌘L.
0.28.0-beta.4
Patch Changes
- Make the
open-knowledge-uientry in.claude/launch.jsonlaunchable on Windows. Previouslyok initalways wrote a/bin/shchain, so Claude Code Desktop's preview pane could not start the OpenKnowledge UI on Windows (there is no/bin/sh). On Windows,ok initnow scaffolds apowershell -NoProfile -NonInteractive -Command <chain>entry that resolves the npm-globalok.cmdshim first, thennpx.cmd, then common version-manager/installer paths, and runsok start --ui-portso the opened folder gets its own collab server. Theok startlaunch.json repair sweep now recognizes both platforms' canonical shapes on every OS, so alaunch.jsoncommitted on one platform is never rewritten back and forth by the other, and custom entries are still preserved.
0.28.0-beta.5
Minor Changes
- Add manual rename to terminal tabs. Double-click a terminal tab (or press F2
while it's focused) to give it a name of your own, edited inline. The custom
name pins over whatever title the running program sets via its terminal title
escape sequence — useful for agent CLIs that constantly rewrite their title — so
the tab keeps the name you chose. Press Enter or click away to commit, Escape to
cancel; committing an empty name clears the custom label and restores the
program's title (or the positional "Terminal N" default).
0.28.0-beta.6
Patch Changes
- Fixed symbolic links (mode
120000) being automatically staged as deleted in the background Git sync loop. The filesystem scanner now correctly walks and includes symbolic links inside the content directory so they are recognized as on-disk files and are not incorrectly removed from Git tracking during sync commits.
0.28.0-beta.7
Patch Changes
- Hide server-launched Git and helper subprocess console windows on Windows by setting hidden console spawn options on direct child-process calls.
0.28.0-beta.8
Patch Changes
ok deinit(and the per-project sweep inok uninstall) now removes OK-installed skill projection symlinks (pack and authored skills under.claude/skills/,.cursor/skills/, etc.) instead of refusing them with "Refusing to write through a symbolic link" — removal unlinks the link itself and never touches its target. Dangling projection symlinks are cleaned up too; the refusal for symlinked ancestors that escape the project is unchanged.