Skip to content

Releases: inkeep/open-knowledge

v0.35.0-beta.5

v0.35.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jul 21:28

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

Patch Changes

  • Typing or pasting a literal whitespace character reference such as   (space), 	 (tab), or   (non-breaking space) into the editor no longer silently turns it into the actual whitespace character. Previously these typed characters were stored unescaped, so on the next reopen or sync every reader saw an invisible space instead of the text you typed. They now survive edit, save, and reopen exactly as written. Spaces the editor itself preserves at bold/italic boundaries are unaffected, and existing files on disk keep their exact bytes.

v0.35.0-beta.4

v0.35.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jul 03:49

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

Patch Changes

  • Opening a shared document by cloning from GitHub no longer requires the GitHub CLI (gh) to be installed. OpenKnowledge now authenticates the clone with the GitHub account you're already connected as, rather than delegating to gh or to whatever credential helper your machine's git config happens to point at. "Clone to a new folder" previously failed on a clean machine — or one with a leftover gh auth setup-git config after gh was removed — with gh: command not found and could not read Username; it now uses your connected account directly.

v0.35.0-beta.3

v0.35.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jul 01:12

Delta since previous beta (v0.35.0-beta.2) — 1 new changeset.

Patch Changes

  • Internal refactor of the Cmd+K command palette: the fixed command rows now render from a single command registry that also drives the palette/menu parity ratchets, replacing the per-command hand-wiring. No user-facing changes — the commands, their grouping, labels, shortcuts, and behavior are unchanged.

v0.35.0-beta.2

v0.35.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jul 00:25

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

Patch Changes

  • Feature: typing $$…$$ or $…$ in the WYSIWYG editor now autoconverts to
    an inline math atom on the closing delimiter (currency-safe; Ctrl+Z restores
    the raw literal). The inline-math edit popover closes on Enter, gains a Done
    button, and drops the caret right after the atom so typing continues inline.

v0.35.0-beta.1

v0.35.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

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

Delta since previous beta (v0.35.0-beta.0) — 1 new changeset.

Patch Changes

  • The Problems panel gains two new lint actions. A "Fix all" button applies every auto-fixable problem at once — in the "This doc" tab it fixes the open document instantly (undoable, attributed to you), and in the "Project" tab it sweeps every fixable file and refreshes the audit, reporting any files it could not fix. On desktop, each problem row also offers "Ask AI": it composes a grounded fix prompt (document, rule, line, message, and the offending text) and types it into your running agent terminal for review — or launches Claude with it if no terminal is open. Deterministic fixes triggered from the UI are now attributed to you (the principal) rather than to an agent; fixes requested by agents over MCP keep agent attribution.

v0.35.0-beta.0

v0.35.0-beta.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 20:23

Delta since previous beta (v0.34.1-beta.0) — 1 new changeset.

Minor Changes

  • The Cmd+K command palette now reaches the actions that used to live only in the native menu bar. You can search for and run Check for updates, New from template, New worktree, Switch worktree, Rename, Duplicate, Move to Trash, Reveal in Finder, Copy full path, Copy relative path, Close tab, the View toggles (sidebar, document panel, terminal, hidden files, .ok folders, only markdown files, skills section), Expand all, Collapse all, New Terminal, Kill Terminal, Set up OpenKnowledge integrations, Check spelling while typing, and OpenKnowledge on GitHub, all from Cmd+K.

    Toggle commands show their current state (for example the sidebar row reads "Hide sidebar" when the sidebar is open), and the commands that do not need the desktop shell now work in the web app too, not just Desktop. These rows appear once you start typing, so the palette's empty state stays lean.

    On macOS, "Check for updates" no longer appears twice. It shows once, in the App menu, matching where Settings lives.

v0.34.1-beta.0

v0.34.1-beta.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 20:08

Delta since previous beta (v0.33.0-beta.13) — 1 new changeset.

Patch Changes

  • Long Ask-AI, Open-with-AI, and Create-with-agent instructions are no longer silently cut to ~1,400-2,200 characters when launched in the docked terminal. The terminal launch previously inherited the web deep-link's URL budget even though it feeds the agent CLI directly through the terminal; it now carries instructions up to ~100 KB, so a long typed prompt reaches Claude, Codex, Cursor, and the other agent CLIs in full. Web deep-link handoffs keep their intentional URL-size budget, and selections continue to travel losslessly on both paths.

v0.34.0

Choose a tag to compare

@inkeep-internal-ci inkeep-internal-ci released this 17 Jul 18:28

Minor Changes

  • External link hover previews are now on by default. Previously they shipped off by default (opt-in). Hovering an external link in the editor now shows a preview card — site name, page title, description, favicon — fetched by your local server, which sends that link's URL to the destination site (one request per previewed link). Turn it off per machine in Settings → Link previews, which sets linkPreviews.enabled: false in project-local config. Unchanged: the SSRF guard still refuses to fetch private or internal hosts, no cookies or credentials are attached, results are cached locally, and any fetch failure falls back silently to the plain URL pill. Internal document-to-document previews were already always on and read entirely from the local index with no network request. Note: external previews are not yet available in the packaged desktop app; this default applies to the browser and ok ui surfaces.

  • Mermaid diagrams are now fully visually editable. The diagram renderer is powered by mermaid-wysiwyg: click any node, edge, participant, or message to select it and get an action popover right on the diagram (change node shape, edge type, colors, message arrows, participant types, duplicate, delete, and more), double-click any label to edit its text in place, drag between nodes to connect them, and drag sequence messages to reorder. Every gesture becomes a minimal edit to the underlying Mermaid source, so the code fence (or standalone .mmd doc) stays the source of truth and collaborative editing keeps working. Diagram styling, theming, and the pan/zoom controls are unchanged.

Patch Changes

  • Installing an update no longer lands you in the wrong window. When you relaunch to install the latest version with several project windows open, OpenKnowledge reopens all of them and now brings the window you were last working in back to the front, instead of whichever window happened to finish loading last.

  • Opening a shared branch in a worktree (and other git operations) no longer fails with a generic error when the repository uses git-lfs installed via Homebrew. The desktop app and its server now append well-known tool directories (Homebrew, MacPorts, ~/.local/bin, asdf/mise shims) to the PATH used for git commands, so helpers git spawns mid-operation — LFS filters, credential helpers, hooks — resolve even though macOS launches apps with a minimal PATH. When a required helper still can't be found, the error now names it ("Git needs git-lfs…") instead of a retry-blind generic message, and the underlying git error is recorded in the desktop log.

  • Fix: opening a share link no longer offers to initialize a folder that is no longer a git checkout. If a project was moved or deleted outside OK, its recents entry could still be presented as the share target with a "this branch is checked out in " claim and an "Initialize it and open?" prompt, because the path still existed on disk. Share receive now requires a candidate to be a real git working tree at that exact path, so a stale entry falls through to the launcher's "Clone from GitHub" / "I already have it locally" choices instead. Stale entries also no longer suppress worktree enumeration, so a share whose branch is checked out in a linked worktree now opens that worktree directly rather than prompting to switch branches.

    • @inkeep/open-knowledge@0.32.1-beta.0
    • @inkeep/open-knowledge-core@0.32.1-beta.0
    • @inkeep/open-knowledge-server@0.32.1-beta.0
  • Report a bug now records why the server last exited. When the background server process goes away, the desktop app writes the exit code and the reason it left (a clean shutdown, a crash, or an out-of-memory / OS kill) to state/last-server-exit.json in the report bundle, next to server.lock. Until now a bundle could only show that the server's port was "unreachable", which looks identical whether the server crashed or was shut down cleanly, so a "my app crashed" report could not be told apart from a routine stop. The new record captures the death even when the server was killed and had no chance to log anything itself. It holds only the exit code, the reason, the pid, and a timestamp, so it carries no document content or paths.

  • Fix a stray backslash appearing at the end of lines after a hard break

    A hard break (Shift+Enter) at the end of a paragraph serialized to a trailing \ in the markdown source, which users saw as an unexpected character at the end of a line. Worse, deleting it did not stick: the WYSIWYG fragment kept the break node, so the next sync re-emitted the \ (a fragment/source round-trip that never settled, hidden from the invariant watchdog by parse-equivalence tolerance). A trailing hard break has no CommonMark meaning — a backslash form decays to a literal backslash on the next parse and a two-space form is stripped — so it is now dropped at serialize time. Mid-paragraph hard breaks, source-authored breaks, void <br> breaks, and literal backslashes in text are all unaffected and still round-trip byte-for-byte.

  • Migrate the build, test, and CI toolchain from Bun to pnpm 10 and Vitest 4.

    This is an internal toolchain migration with no runtime behavior change for the
    published CLI: it still runs on Node (engines.node >= 24, shebang
    #!/usr/bin/env node). The workspace is now a standard pnpm workspace
    (pnpm-workspace.yaml + pnpm-lock.yaml), all five test tiers run under Vitest
    via a bun:test compatibility shim and a Bun.* facade, and every TypeScript
    entry point runs through Node + tsx. bun.lock, bunfig.toml, and
    .bun-version are removed, and the public mirror ships pnpm.

    Bun-specific fences retired as part of the cutover:

    • findBunLockMetadataDrift and the bun.lock metadata-drift guard (the pnpm
      frozen-lockfile check supersedes it).
    • check:bun-run-fallthrough (the bun run PATH-fallthrough guard) and its
      test, along with the run-bun-if-available.sh root fan-out wrapper.
    • bun-install-ci.sh, the retry/idle-timeout install wrapper that existed to
      work around a Bun install-hang issue; pnpm's install path replaces it.
    • The run-test-dom.sh --isolate mock-leak mitigation (the per-file
      fresh-module-registry workaround for a Bun mock.module in-place-patch leak);
      the DOM tier is now a dedicated Vitest project with isolate: true.

    Two small, required behavioral deltas ride along with the swap: `ok diagnose

v0.33.0-beta.9

v0.33.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 01:00

Delta since previous beta (v0.33.0-beta.8) — 1 new changeset.

Minor Changes

  • External link hover previews are now on by default. Previously they shipped off by default (opt-in). Hovering an external link in the editor now shows a preview card — site name, page title, description, favicon — fetched by your local server, which sends that link's URL to the destination site (one request per previewed link). Turn it off per machine in Settings → Link previews, which sets linkPreviews.enabled: false in project-local config. Unchanged: the SSRF guard still refuses to fetch private or internal hosts, no cookies or credentials are attached, results are cached locally, and any fetch failure falls back silently to the plain URL pill. Internal document-to-document previews were already always on and read entirely from the local index with no network request. Note: external previews are not yet available in the packaged desktop app; this default applies to the browser and ok ui surfaces.

v0.33.0-beta.13

v0.33.0-beta.13 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 04:57

Delta since previous beta (v0.33.0-beta.12) — 1 new changeset.

Patch Changes

  • Migrate the build, test, and CI toolchain from Bun to pnpm 10 and Vitest 4.

    This is an internal toolchain migration with no runtime behavior change for the
    published CLI: it still runs on Node (engines.node >= 24, shebang
    #!/usr/bin/env node). The workspace is now a standard pnpm workspace
    (pnpm-workspace.yaml + pnpm-lock.yaml), all five test tiers run under Vitest
    via a bun:test compatibility shim and a Bun.* facade, and every TypeScript
    entry point runs through Node + tsx. bun.lock, bunfig.toml, and
    .bun-version are removed, and the public mirror ships pnpm.

    Bun-specific fences retired as part of the cutover:

    • findBunLockMetadataDrift and the bun.lock metadata-drift guard (the pnpm
      frozen-lockfile check supersedes it).
    • check:bun-run-fallthrough (the bun run PATH-fallthrough guard) and its
      test, along with the run-bun-if-available.sh root fan-out wrapper.
    • bun-install-ci.sh, the retry/idle-timeout install wrapper that existed to
      work around a Bun install-hang issue; pnpm's install path replaces it.
    • The run-test-dom.sh --isolate mock-leak mitigation (the per-file
      fresh-module-registry workaround for a Bun mock.module in-place-patch leak);
      the DOM tier is now a dedicated Vitest project with isolate: true.

    Two small, required behavioral deltas ride along with the swap: `ok diagnose