Skip to content

Releases: inkeep/open-knowledge

v0.35.0-beta.11

v0.35.0-beta.11 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 07:37

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

Patch Changes

  • When OpenKnowledge invites you to report a crash it just detected, and a crash dump for that crash is on disk, the dump is now included in the report by default. The crash dump is a memory snapshot from the moment of the crash, and the single most useful artifact for finding the cause, so it now rides along unless you uncheck it. Previously it was off by default, so crash reports usually arrived without the very dump that triggered them.

    The crash-dump option now appears only when a dump actually exists for the crash, so a crash invite with nothing to include (for example a session that ended without a clean quit but left no native dump) no longer shows a dead checkbox.

    Nothing about the consent flow changes: the crash dump is still a labeled checkbox you can turn off, the note still says it can contain document content and can't be redacted, and nothing is sent until you review the exact bundle. This only affects reports triggered by a detected crash; regular bug reports are unchanged and never include a crash dump.

v0.35.0-beta.10

v0.35.0-beta.10 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 07:25

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

Patch Changes

  • Internal refactor (no user-facing change): the native application menu now
    renders its actionable command leaves from the same shared command registry the
    Cmd+K palette uses, so each command's identity — label, accelerator, keyboard
    shortcut, availability, and menu placement — is declared once in
    @inkeep/open-knowledge-core instead of being hand-maintained in two lists.
    Command availability is a pure, declarative evaluator both surfaces call; the
    menu's structural scaffolding (roles, separators, submenus, the dynamic
    Recent-project list, and the platform branches) stays declarative. The
    "Check for updates" and "Settings" platform placements are now data-driven,
    and a ratchet fails the build if a command is ever hand-placed twice in the same
    platform's menu bar. Menu items, order, labels, accelerators, and enabled/checked
    states are unchanged on every platform.

v0.35.0

Choose a tag to compare

@inkeep-internal-ci inkeep-internal-ci released this 20 Jul 14:11

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.

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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • Background shadow-repo garbage collection no longer races the write path. Previously, the maintenance gc (which packs and prunes the attribution journal's loose objects) could run concurrently with an in-flight auto-save commit; in the race window, git's object-directory cleanup could make the commit fail transiently (unable to create temporary file / failed to insert into database), logged as a per-writer shadow commit failure and dropping that flush's version-history entry until the next auto-save. Shadow mutations and the gc leg are now mutually exclusive: gc waits for in-flight commits to drain and briefly holds new ones until it finishes, so auto-saves can no longer fail because maintenance happened to run at the same time.

  • Pasting source at the end of a document no longer corrupts or loses content when the paste lands against a code fence or a JSX container's closing tag. A paste that glued onto a closing ```line used to reopen the fence to the end of the document; the editor's serializer then invented a closing fence the document never had, the collaboration bridge saw permanent divergence between the WYSIWYG and source views, and its repeated repair merges could drop lines from both — in multi-user sessions this surfaced as text vanishing for everyone. Documents that end in an unclosed code fence now round-trip byte-exactly (the fence stays unclosed until you type below it), and content pasted directly under a</Steps>-style container close is recognized as equivalent to its canonical blank-line-separated form instead of triggering endless repair cycles.

  • Trailing spaces or tabs at the end of a paragraph, heading, or table cell no longer round-trip through an unstable intermediate form. Typing a trailing space in the editor used to serialize the space byte, which the next parse silently discarded — an avoidable divergence between the WYSIWYG view and the stored source that cost an extra canonicalization cycle on every save/load. The serializer now strips insignificant line-final whitespace up front (the exact canonicalization the parser already applies to files on disk), so the first emission is a stable fixed point. Significant whitespace is untouched: boundary spaces inside bold/italic/strike/highlight still mint their &#x20; character references, mid-paragraph hard breaks of both markdown styles stay byte-exact, non-breaking spaces survive, and whitespace-only paragraphs keep their minted character reference. A new editor-construct fixed-point sweep now guards this whole class: every editor-constructible document shape must serialize to bytes that are their own re-parse fixed point, with an explicit fail-closed allowlist for documented benign canonicalizations.

  • Fixed a rare content-corruption bug where text written to a document while a collaborator's connection was catching up could split freshly-applied content in two. When a file changed on disk (or an agent rewrote a document) at the same time as an offline-typed edit from another client arrived, part of the new content could end up interleaved with the concurrent edit — observed as a line split in the middle with the other client's text in between. The sync bridge now applies changed content as whole lines in single contiguous runs, which makes this interleaving structurally impossible; unchanged lines still keep their edit history and attribution.

v0.35.0-beta.9

v0.35.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Jul 09:10

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

Patch Changes

  • Fixed a rare content-corruption bug where text written to a document while a collaborator's connection was catching up could split freshly-applied content in two. When a file changed on disk (or an agent rewrote a document) at the same time as an offline-typed edit from another client arrived, part of the new content could end up interleaved with the concurrent edit — observed as a line split in the middle with the other client's text in between. The sync bridge now applies changed content as whole lines in single contiguous runs, which makes this interleaving structurally impossible; unchanged lines still keep their edit history and attribution.

v0.35.0-beta.8

v0.35.0-beta.8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Jul 07:31

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

Patch Changes

  • Trailing spaces or tabs at the end of a paragraph, heading, or table cell no longer round-trip through an unstable intermediate form. Typing a trailing space in the editor used to serialize the space byte, which the next parse silently discarded — an avoidable divergence between the WYSIWYG view and the stored source that cost an extra canonicalization cycle on every save/load. The serializer now strips insignificant line-final whitespace up front (the exact canonicalization the parser already applies to files on disk), so the first emission is a stable fixed point. Significant whitespace is untouched: boundary spaces inside bold/italic/strike/highlight still mint their &#x20; character references, mid-paragraph hard breaks of both markdown styles stay byte-exact, non-breaking spaces survive, and whitespace-only paragraphs keep their minted character reference. A new editor-construct fixed-point sweep now guards this whole class: every editor-constructible document shape must serialize to bytes that are their own re-parse fixed point, with an explicit fail-closed allowlist for documented benign canonicalizations.

v0.35.0-beta.7

v0.35.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:50

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

Patch Changes

  • Pasting source at the end of a document no longer corrupts or loses content when the paste lands against a code fence or a JSX container's closing tag. A paste that glued onto a closing ```line used to reopen the fence to the end of the document; the editor's serializer then invented a closing fence the document never had, the collaboration bridge saw permanent divergence between the WYSIWYG and source views, and its repeated repair merges could drop lines from both — in multi-user sessions this surfaced as text vanishing for everyone. Documents that end in an unclosed code fence now round-trip byte-exactly (the fence stays unclosed until you type below it), and content pasted directly under a</Steps>-style container close is recognized as equivalent to its canonical blank-line-separated form instead of triggering endless repair cycles.

v0.35.0-beta.6

v0.35.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:31

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

Patch Changes

  • Background shadow-repo garbage collection no longer races the write path. Previously, the maintenance gc (which packs and prunes the attribution journal's loose objects) could run concurrently with an in-flight auto-save commit; in the race window, git's object-directory cleanup could make the commit fail transiently (unable to create temporary file / failed to insert into database), logged as a per-writer shadow commit failure and dropping that flush's version-history entry until the next auto-save. Shadow mutations and the gc leg are now mutually exclusive: gc waits for in-flight commits to drain and briefly holds new ones until it finishes, so auto-saves can no longer fail because maintenance happened to run at the same time.

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 &#x20; (space), &#x9; (tab), or &#xA0; (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.