OpenKnowledge

v0.28.1

Released Jul 9, 2026. Part of the OpenKnowledge changelog.

Patch Changes

  • Restore npm publishing for the beta channel. npm 12.0.0 ships without the bundled sigstore module its publish-with-provenance path requires, which broke the npm uploads for 0.28.1-beta.0 and 0.28.1-beta.1 (their GitHub releases and macOS builds shipped normally). Release CI now pins npm to the 11.x line, and this release carries all changes from the two npm-skipped versions.
  • Standalone Mermaid files (.mmd / .mermaid) are now editable, matching the WYSIWYG editing you already get for ```mermaid code fences inside a document. Opening one of these files shows the same rendered diagram — click a flowchart node/edge label, a sequence message, or a participant to edit it in place — and the toolbar's source toggle now opens an editable source view (with Mermaid syntax highlighting) instead of a read-only one. Edits autosave to the file and sync live, since these files are now backed by the same real-time collaboration and undo as every other document.
  • When you edit a label in a Mermaid diagram and the change propagates to other places the same text appears — for example, renaming a sequence-diagram participant updates both its top and bottom boxes — those other occurrences now briefly flash, so it's clear they changed too. Same visual cue as the flash the editor already uses when it absorbs an agent's edits. A one-off label edit with no linked occurrences stays quiet.
  • Fix desktop terminal lagginess and resize flicker. Typing and scrolling no longer pay for xterm's screen-reader mode when no assistive tech is attached — the mode (which mirrors the whole viewport into a live accessibility DOM on every write and scroll) now follows the OS screen-reader signal, turning on the moment VoiceOver attaches and staying on for screen-reader users. Keystroke echo latency from output coalescing drops from 12ms to 5ms (VS Code's bufferer window), kept trailing-only so a TUI redraw burst always lands as one atomic push (no partial-frame tearing). Resizing sections with a terminal open no longer SIGWINCH-repaints the running TUI on every pointer frame — the PTY resize is throttled leading+trailing while the xterm grid fits per event. And resizing no longer flashes the terminal blank: setting a canvas's width clears its bitmap while xterm's repaint is rAF-scheduled (a frame late), and the WebGL addon's device-pixel observer re-clears a second time in the same frame when a fractional panel width snaps differently to device pixels — both clears now flush a synchronous repaint before the frame paints, verified frame-by-frame with screencast captures (32 blank frames per drag before, zero after).

View v0.28.1 on GitHub