Skip to content

Releases: inkeep/open-knowledge

v0.36.0-beta.20

v0.36.0-beta.20 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 04:36

Delta since previous beta (v0.36.0-beta.19) — 1 new changeset.

Patch Changes

  • Agent writes no longer block the server on large-document markdown parsing. The parse that turns a written document's markdown into editor structure now runs on a bounded worker-thread pool for documents past 8KB, so a big write (or rollback, edit, frontmatter patch) no longer freezes every other in-flight agent tool call while it parses — the event-loop stall for a concurrent 1MB write drops from roughly 2 seconds to roughly half a second, and small-write latency under load matches idle latency. Small documents keep the faster inline path, output is byte-identical either way, and any worker failure transparently falls back to the previous inline behavior.

v0.36.0-beta.19

v0.36.0-beta.19 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 03:08

Delta since previous beta (v0.36.0-beta.18) — 1 new changeset.

Minor Changes

  • The OpenKnowledge desktop app can now be built for Windows and Linux. This first slice makes the app buildable and full-featured on both platforms — installers are not published yet (they'll appear on the releases page after internal QA):

    • Windows: one-click per-user NSIS installers (x64 + arm64) that put the bundled ok CLI on your PATH and register openknowledge:// links. Linux: AppImage and deb packages (x64 + arm64); the deb installs /usr/bin/ok and registers links system-wide, while AppImages self-register a link handler each time they run.
    • Windows and Linux windows get proper chrome: a frameless titlebar with native window controls and an in-app menu bar (File / Edit / View / Window / Help) that mirrors the macOS menus.
    • Everything the Mac app wires up on your machine now works on Windows and Linux too: MCP entries for your editors (Claude, Cursor, Codex, and friends), Agent Skills, and ok launching the desktop app when installed.
    • The built-in terminal stays macOS-only for now; its buttons and settings are hidden on other platforms instead of failing.

v0.36.0-beta.18

v0.36.0-beta.18 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 01:46

Delta since previous beta (v0.36.0-beta.17) — 1 new changeset.

Patch Changes

  • Error and warn log lines across the server, CLI, and desktop main process now attach the raw error under the err key, so on-disk JSONL logs (what bug-report bundles collect) carry the full name/message/stack instead of a pre-stringified message with no stack. API error log lines additionally carry the request's x-request-id for correlation with the access log and client reports, the MCP stdio logger serializes Error values instead of flattening them to {}, and the desktop root logger gained explicit err serializers. No wire-shape changes.

v0.36.0-beta.17

v0.36.0-beta.17 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 00:20

Delta since previous beta (v0.36.0-beta.16) — 1 new changeset.

Patch Changes

  • Add POST /api/agent-write-batch: apply up to 100 document writes in one HTTP call. Each entry uses the same write semantics as POST /api/agent-write-md (create or update, append/prepend/replace, per-entry summary, .mdx extension on create) and every entry is attributed to the calling agent. Outcomes are per-entry — a reserved doc name, merge conflict, or disk failure fails only that entry while its siblings land — and the response reports per-entry results with broken-link validation that resolves links between documents written in the same batch. The batch amortizes what N single calls pay N times: one round-trip, one presence/focus update, one admitted-doc-set scan for link validation, and one coalesced shadow-repo commit. The per-document mermaid render validation and lint advisories stay on the single-write endpoint.

v0.36.0-beta.9

v0.36.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 16:40

Delta since previous beta (v0.36.0-beta.8) — 12 new changesets.

Minor Changes

  • Add in-app AI agent threads via the Agent Client Protocol (ACP). "Open with AI" now includes a "Start an agent" option that runs a coding agent (Claude, Codex, Gemini, Cursor, Copilot, OpenCode, and the rest of the ACP registry) inside OpenKnowledge itself, in both the desktop app and the browser.

    "Start an agent" is available from every launch surface: the sparkles popover, the file-tree and empty-space right-click menus, and as a selectable default in the Ask AI and create-project composers. Every agent gets OpenKnowledge's MCP tools: agents that support HTTP MCP connect to the running server directly, and all others are handed a stdio bridge, so tools like search, write, and edit work regardless of the agent's transport support. When the agent's own harness already has OpenKnowledge's managed MCP entry installed (a project or user config written by ok init or the desktop consent flow), the thread skips injecting a second copy — the agent connects through the installed entry instead of two same-named servers fighting over which one loads. The check matches on what the entry launches (OpenKnowledge's own server command), so a harness's own per-tool approval settings layered onto that entry don't defeat it.

    Threads show the agent's messages, its plan, tool calls with diffs, and permission prompts, and you approve or decline each sensitive action. Agent replies render as markdown — headings, lists, tables, links, and code blocks with a copy button — live while the text streams, closing half-finished formatting cleanly mid-stream instead of flashing raw ** and backticks. Agents edit your notes through OpenKnowledge's own write path, so their changes are attributed to the agent and appear live in the editor. Each agent uses its own account and billing; nothing proprietary is bundled. Registry adapters install on first use and run as separate processes. For adapters that rely on an existing harness, OpenKnowledge detects locally installed Claude, Codex, Cursor, and OpenCode CLIs and offers those agents across the session dock, prompt composers, and Open with AI menus without overriding explicit choices or terminal defaults.

    Follow the file: while an agent works, the editor follows along, opening each document the agent creates, reads, or edits so you can watch the work happen live — including documents referenced through OpenKnowledge's own MCP tools (write, edit, move, and paths inside exec commands). Toggle it from the thread header (on by default).

    Switch agents any time: the thread dock's "+" lists every agent you've registered plus "Choose another agent…" to browse the catalog, so the first pick is never locked in. Reopening an empty sessions dock repeats that same preferred agent, CLI, or terminal choice, and the selected tab stays scrolled into view as the strip fills up. When an agent offers session settings — model, reasoning effort, fast mode, approval policy, or sandbox mode — they appear together in one labeled settings menu in the thread header (Agent Client Protocol session config options).

    Lifecycle and cost guarantees: closing a thread (or shutting down the server) kills the agent's entire process tree and waits for it to actually die, so a stuck agent can't keep running — and billing its account — invisibly after you close it. A turn still running with no window attached is asked to stop after 10 minutes and force-closed after 20. Stop shows "Stopping…" and, if the agent ignores the request, offers Force stop; a message that can't be delivered surfaces as a toast instead of vanishing; hiding the thread dock actually hides it. Long transcripts also render much more smoothly — events arrive in batches and the transcript updates incrementally instead of re-rendering the whole history on every streamed chunk.

v0.36.0-beta.8

v0.36.0-beta.8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 13:30

Delta since previous beta (v0.36.0-beta.7) — 1 new changeset.

Patch Changes

  • Copying text from inside quotes, lists, headings, and tables no longer includes the block's markdown syntax or fabricates structure on paste. Drag-highlighting text inside a blockquote, heading, bullet or task list item, code block, or footnote definition previously copied the block's markers (> , # , - , - [ ] , code fences, [^1]: ) along with the text, and pasting into Open Knowledge or a markdown-aware app fabricated new structure — a bullet inside a table cell, an extra nesting level from a nested list item, a heading from a heading fragment. Rich-text (text/html) copies of partial selections likewise no longer carry the full block element into destinations like Docs, Notion, or Gmail. Whole-structure copies are unchanged: selecting an entire list, quote, or table still copies its full markdown, and copying the complete text of a single list item still copies it as that item.

v0.36.0-beta.7

v0.36.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 08:23

Delta since previous beta (v0.36.0-beta.6) — 1 new changeset.

Patch Changes

  • Add a persistence staleness watchdog that bounds how long CRDT edits can sit unflushed to disk. If a document's in-memory edits ever fail to reach the on-disk markdown (for example after a transient disk error, since the store debounce only re-arms on the next edit), the server now detects the stale file within minutes and re-runs the store through the normal persistence path instead of leaving disk outdated until the next edit. The watchdog never overwrites external edits: any on-disk state the persistence layer has not reconciled makes it stand down and log instead. Three new counters (persistenceStalenessDetected, persistenceStalenessForcedStores, persistenceStalenessStoodDown) surface these events alongside the existing persistence queue metrics; a sustained non-zero persistenceStalenessStoodDown rate is the alertable one (unflushed edits pinned in memory would be lost on a restart).

v0.36.0-beta.6

v0.36.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 05:57

Delta since previous beta (v0.36.0-beta.5) — 1 new changeset.

Patch Changes

  • Local Git-backed workflows now inspect repositories consistently across the ok CLI, Desktop, and the collaboration server. This removes several places where each surface parsed .git, HEAD, refs, and remotes differently.

    • Linked worktrees now read HEAD from the worktree-specific Git directory while reading remotes, refs, and clone-wide excludes from the shared common Git directory. Folder validation, share-receive matching, branch display, and ok config-sharing therefore work the same in a linked worktree as in a primary checkout.
    • Shadow-repository setup now recognizes the nearest enclosing repository when an OpenKnowledge project is rooted in a subdirectory, while still refusing to promote a repository rooted at the user's home directory.
    • Branch and remote inspection now handles loose and packed refs, symbolic refs, SHA-1 and SHA-256 object IDs, relative or absolute worktree pointers, and quoted or commented remote configuration through one shared implementation.
    • Missing refs, malformed metadata, stale worktree pointers, inaccessible Git files, and unsafe ref paths are classified separately so sync and branch-watching code can fail safely instead of treating every read problem as a missing branch.
    • Branch-switch conflict checks now wait for both Git probes to finish before returning an invalid-target error, preventing a leftover child process from racing repository cleanup.

    No configuration or migration is required.

v0.36.0-beta.5

v0.36.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 05:32

Delta since previous beta (v0.36.0-beta.4) — 1 new changeset.

Patch Changes

  • Pasting bullet lists from rich-text sources no longer inserts blank lines before nested sections

    Copying a tight bullet list from a rendered surface (Google Docs, Notion, Slack, ChatGPT, a web page) and pasting it into the editor used to synthesize blank lines between every item and before each nested sub-list, and swapped the bullet markers to *. The HTML-to-markdown conversion now normalizes the rich-editor DOM shape (paragraph-wrapped list items, nested sub-lists) back to a tight list, and mints the editor's canonical - bullet marker. List items that genuinely contain multiple blocks (two paragraphs, a paragraph plus a code block) still paste as loose lists so their blocks stay separate.

v0.36.0-beta.4

v0.36.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 05:20

Delta since previous beta (v0.36.0-beta.3) — 1 new changeset.

Patch Changes

  • Edits typed while the connection drops are no longer lost when the document recycles

    Typing right after the editor lost its server connection (for example after switching windows) could silently destroy that edit: a short debounce timer recycles idle disconnected documents, and it only checked for unsynced edits when it was armed, not when it fired. An edit typed inside that window rode into the teardown; if the server identity changed before the next sync (an app update relaunch does exactly this), the edit was gone permanently. The recycle now re-checks for unsynced edits at fire time and leaves dirty documents alone, and the server-restart recovery replays a preserved edit at content level so it also survives a server identity change instead of being parked as an unresolvable CRDT delta.