Download Latest Version OpenKnowledge-0.21.0-arm64-mac.zip (188.0 MB)
Email in envelope

Get an email when there's a new version of OpenKnowledge

Home / v0.19.1
Name Modified Size InfoDownloads / Week
Parent folder
latest-mac.yml 2026-06-26 520 Bytes
OpenKnowledge-0.19.1-arm64-mac.zip 2026-06-26 186.0 MB
OpenKnowledge-0.19.1-arm64-mac.zip.blockmap 2026-06-26 188.5 kB
OpenKnowledge-arm64.dmg 2026-06-26 193.6 MB
OpenKnowledge-arm64.dmg.blockmap 2026-06-26 204.0 kB
README.md 2026-06-26 11.5 kB
v0.19.1 source code.tar.gz 2026-06-26 14.9 MB
v0.19.1 source code.zip 2026-06-26 16.6 MB
Totals: 8 Items   411.6 MB 0

0.19.1

Stable promotion of beta v0.19.1-beta.11.

Aggregated changes since previous stable:

0.19.1-beta.0

Patch Changes

  • Fix markdown serializer boundary-whitespace defects on the WYSIWYG-to-source path. An insignificant trailing space or tab at a block edge now serializes to a literal character instead of a visible   / 	 character reference, so source mode no longer shows the escape where a space was typed (a leading tab, or a leading run of four or more spaces, still encodes, since it would otherwise trigger an indented code block on re-parse and turn the paragraph into a code block). Strikethrough (~~) and highlight (==) marks authored with boundary whitespace now char-ref-encode that whitespace so the mark survives re-parse instead of silently dropping. Emphasis and strong already behaved correctly and are unchanged.

  • Fix: JSON files now render with syntax highlighting in the read-only code viewer. The extension-to-language table mapped jsonc to the JSON grammar but omitted plain json, so opening a .json file (for example config.json, package.json, or .mcp.json) resolved to no language and CodeMirror fell back to unhighlighted plaintext. Adding the json entry routes these files to the JSON grammar that was already available. The media-kind dispatch is unaffected — .json already resolved as a text asset through the sidebar text set, which is checked before the code-language set.

  • Launching Claude Code from the docked terminal ("Open in Claude") no longer shows the one-time "New MCP server found in this project" trust prompt for Open Knowledge's own MCP server. The pre-approval applies only to OK's own server: a foreign or modified open-knowledge entry in a shared or cloned project still shows Claude Code's trust prompt, and the check runs per launch so it reflects the project's current state. Codex and Cursor launches are unchanged.

0.19.1-beta.1

Patch Changes

  • Fix the fullscreen graph overlay's header on macOS desktop. The "GRAPH" title row now vertically aligns with the window's traffic lights: the overlay is fixed inset-0 so it starts at the raw window top, 8px above where the normal editor chrome row sits (inside SidebarInset's m-2), so its header reproduces that 8px inset and matches the chrome row's height — landing the title on the same midline the traffic lights are tuned to. The header continues to reserve the traffic-light footprint so the title never overlaps the buttons.

Window dragging works again in fullscreen graph mode, and the Explore/Orphans/Hubs tabs are reliably clickable. The overlay paints over the editor's -webkit-app-region: drag chrome; previously those drag regions showed through and silently converted clicks on the mode tabs into window drags. The header is now scoped like the editor header — the header row is the drag region and the controls cluster opts back out with no-drag — so the window stays draggable by the header while the tabs and buttons receive clicks.

  • @inkeep/open-knowledge-core@0.19.1-beta.0
  • @inkeep/open-knowledge-server@0.19.1-beta.0

0.19.1-beta.2

Patch Changes

  • Rename the product brand from "Open Knowledge" to "OpenKnowledge" (one word) across the desktop app, CLI output, MCP/skill copy, and docs.

The macOS app, its helper bundle, the DMG artifact, and the userData directory are renamed. A one-time, identity-verified migration runs on the first launch of a renamed build: it relocates an existing user's app state (recent projects, window restore, auto-update cache) from ~/Library/Application Support/Open Knowledge/ to .../OpenKnowledge/, but only after verifying the legacy directory is ours (its state.json parses as our schema), so another vendor's identically-named directory is never touched. It copies, verifies, then removes the legacy directory; any failure degrades to a clean first run.

Technical identifiers are unchanged: the npm package @inkeep/open-knowledge, the macOS appId com.inkeep.open-knowledge, the openknowledge:// deep-link scheme, the openknowledge.ai domain, and the open-knowledge MCP server name. "Open Knowledge Format" (Google's external standard) is also preserved.

0.19.1-beta.3

Patch Changes

  • Fix jumpy, inconsistent mouse-wheel scrolling inside full-screen terminal apps that capture the mouse (the claude TUI, vim, less, top). In mouse-tracking mode xterm.js forwards one mouse-wheel report per OS wheel event with no accumulation, so the high-frequency event stream from trackpad momentum and free-spin/fast-scroll wheels floods the app — scrolling that lurches and can run away ("rocket scroll"). The terminal now accumulates fractional rows of travel and emits one wheel report per whole row of distance crossed, so scroll tracks the actual distance moved regardless of how many events deliver it: gentle drags and fast flicks over the same distance scroll the same amount, with no dead zone and a per-event clamp that absorbs momentum spikes. Normal scrollback (no mouse-capturing app) additionally gets smooth scrolling. Desktop only.

0.19.1-beta.4

Patch Changes

  • External URL nodes in the graph now open in your default OS browser on the desktop app, instead of a new in-app Open Knowledge window. Clicking an external node (or its "Open link" button in the graph side panel) routes through the desktop bridge's openExternal, so the link lands in your system browser the same way external links already open elsewhere in the editor. On the web build the behavior is unchanged (a new browser tab). Previously these three graph call sites used a raw window.open, which Electron turns into a new BrowserWindow rather than handing off to the OS.
  • @inkeep/open-knowledge-core@0.19.1-beta.0
  • @inkeep/open-knowledge-server@0.19.1-beta.0

0.19.1-beta.5

Patch Changes

  • Add OpenCode as a supported agent. ok init — and the desktop first-launch consent dialog plus the create-project dialog — now writes an open-knowledge MCP server entry to opencode.json (project-local, and ~/.config/opencode/opencode.json for a global install), using OpenCode's mcp config shape and the same resilient launcher every other editor gets. OpenCode reads the Open Knowledge skill from the shared .agents/skills/ directory it already scans, so no extra skill copy is written.

OpenCode is also wired into the Ask AI composer and Open-in-Agent menus as a terminal CLI: it appears as "OpenCode (CLI)" in the Terminal section and launches opencode '<prompt>' in the docked terminal. (It's terminal-only — no URL scheme — so it's deliberately absent from the GUI deep-link Desktop section.)

Adds an OpenCode integration page and brand logo to the docs site.

  • Lists now follow GFM-style delete and creation behavior. Backspace on the empty line left after exiting a list (or on an empty nested item) merges back into the list instead of spawning a stray empty bullet or toggling the bullet on and off. Typing an ordered marker like 1. directly below a bullet list now starts a real numbered list rather than being absorbed into the bullet list as an empty item.

The unified list node (one node type for bullet and ordered, distinguished by the ordered attr) had two mismatches: the list keymap was bound to the upstream bulletList/orderedList wrapper names instead of list, so its Backspace/Delete handling never fired; and the list-creation input rules joined any adjacent list of the same node type regardless of kind. Both are now pointed at this schema.

0.19.1-beta.6

Patch Changes

  • Fix the bottom "Ask AI" composer dropping the typed instruction when launching a Terminal CLI. A composer dispatch carries its instruction (and @-mentions / selection) in input.compose, but the docked-terminal launcher only checked the top-level input.instruction the toolbar popover uses — so every composer-typed message fell through to the bare "load OK, then stop" prompt and the agent never saw what the user asked. The terminal launcher now routes compose-scope dispatches through the same prompt assembler as the deep-link handoff, so the instruction threads through to the launched CLI exactly as it does to a Claude/Codex/Cursor deep link.
  • @inkeep/open-knowledge-core@0.19.1-beta.0
  • @inkeep/open-knowledge-server@0.19.1-beta.0

0.19.1-beta.7

Patch Changes

  • Tune embedded-terminal wheel scrolling to feel closer to a native terminal (e.g. Ghostty). The smooth mouse-tracking scroll added previously was correct but sluggish: macOS bakes velocity acceleration into wheel deltas, and the per-event clamp was clipping the accelerated fast-flick range. The mouse-mode accumulator now uses a modest base sensitivity with a higher per-event cap so OS acceleration carries through — fast flicks travel far while slow drags stay gentle — and normal scrollback gets a faster per-notch travel. Desktop only.

0.19.1-beta.8

Patch Changes

  • Task-list checkboxes now stay clickable when an editor transitions from read-only to editable. The list-item NodeView set the checkbox's disabled state once at creation from editor.isEditable, but a setEditable() flip updates the view's editable flag without a document change, so ProseMirror never re-renders the NodeView and the stale disabled was never cleared. A checkbox created while the editor was read-only (for example, content loaded before the editor goes live) stayed permanently uncheckable. The NodeView now keeps disabled in sync with editability via the editor's update event (which setEditable() emits) and on every NodeView update.

0.19.1-beta.9

Patch Changes

  • Add bun run --filter=@inkeep/open-knowledge-desktop instances to launch multiple isolated desktop instances in parallel from the packaged app. Each <name>=<project> gets its own --user-data-dir (own single-instance lock + storage), opens its project, and is launched detached via open -n so it survives the launching process — the path that works for agent/automated launches, where dev-mode windows don't. Launches are staggered to avoid a boot race. Script: packages/desktop/scripts/launch-instances.mjs.
  • @inkeep/open-knowledge@0.19.1-beta.0
  • @inkeep/open-knowledge-core@0.19.1-beta.0
  • @inkeep/open-knowledge-server@0.19.1-beta.0

0.19.1-beta.10

Patch Changes

  • Parallel desktop instances now carry their instance name in the macOS menu-bar app name (OpenKnowledge (work)) and editor window titles, so multiple instances running side by side are distinguishable. The label is derived from the launch's per-instance userData directory — set by the parallel-instance launcher (--user-data-dir ~/.ok/instances/<name>) or dev OK_INSTANCE — so it requires no extra flags and is a no-op for the default install.
  • @inkeep/open-knowledge@0.19.1-beta.0
  • @inkeep/open-knowledge-core@0.19.1-beta.0
  • @inkeep/open-knowledge-server@0.19.1-beta.0

0.19.1-beta.11

Patch Changes

  • The "Ask AI" composer's agent picker now shows each terminal CLI's own brand icon (Claude, Codex, Cursor, OpenCode) instead of a generic terminal glyph, matching the "Open with AI" menus. OpenCode is terminal-only, so this is the first place its brand mark appears in the picker — both the dropdown row and the primary "Ask OpenCode (CLI)" button.
  • @inkeep/open-knowledge-core@0.19.1-beta.0
  • @inkeep/open-knowledge-server@0.19.1-beta.0
Source: README.md, updated 2026-06-26