Release Notes

Changelog

Stay up to date with all the latest features, improvements, and bug fixes in Knowns CLI.

v0.27.1Latest
July 12, 2026View on GitHub

Windows npm reliability and refreshed project guidance

Knowns v0.27.1 is a patch release that improves Windows npm runtime reliability and updates the project documentation to match the current architecture and agent workflow.

Fixed

  • Stage the Windows executable and adjacent runtime DLLs in a versioned cache outside node_modules.
  • Reuse the staged runtime on subsequent launches, avoiding package-manager cleanup and file-lock conflicts while Knowns is running.
  • Preserve the existing launch behavior on macOS and Linux.
  • Add focused coverage for Windows runtime staging, cache reuse, and non-Windows behavior.

Documentation

  • Refresh the architecture, workflow, and “How Knowns Works” illustrations.
  • Document the recommended kn-flow path for approved specs and the lighter workflow for small changes.
  • Reflect the current MCP bootstrap, config.json, code intelligence, and Memory/Decision review lifecycle.
  • Add a prominent Discord community link to the English and Vietnamese READMEs.

Upgrade

npm install -g knowns@0.27.1

Other installation methods and platform binaries are available in the assets below.

Validation

  • Linux and Windows CI, E2E, and LSP fixture checks passed.
  • Release verification, cross-platform builds, npm package validation, and publishing completed successfully.

Thanks to HO@howznguyen for the contribution in #128.

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.27.0...v0.27.1

v0.27.0
July 11, 2026View on GitHub

Knowns v0.27.0

Highlights

This release moves language intelligence and semantic search onto shared project-scoped runtimes, reducing duplicate language servers, embedding providers, model loads, and memory pressure across concurrent MCP sessions. The new LSP daemon adds lazy language startup, leases, recovery, native Windows named-pipe transport, and unified administration and status reporting. Semantic indexing and retrieval now share provider caches and runtime jobs with graceful keyword fallback. Hermes Agent also gains first-class setup, MCP, skills, and bilingual documentation.


Added

  • Shared project LSP daemon - Language servers are owned per project and reused across MCP sessions with lazy startup, handshake validation, lifecycle leases, recovery, locking, authentication tokens, and structured runtime state
  • Shared semantic runtime - Semantic indexing, search, retrieval, and review reuse project-scoped providers and job coordination instead of loading duplicate embedding models per process
  • Runtime administration and observability - Added unified status, health, logs, restart, cleanup, and runtime job surfaces across CLI, MCP, readiness, and server paths
  • Hermes Agent integration - Added Hermes setup commands, MCP configuration, shared skill installation, compatibility guidance, and English/Vietnamese documentation
  • Docker stress harness - Added multi-client LSP and semantic runtime stress scenarios with configurable memory and PID limits
  • Windows named-pipe transport - Added native Windows IPC for the shared LSP daemon alongside Unix socket transport

Fixed

  • Windows runtime stability - Isolated runtime roots, daemon queues, test homes, and process lifecycles to prevent cross-process state leakage, locked executables, retry storms, and flaky CI behavior
  • Concurrent semantic fallback - Semantic preflight now tolerates transient SQLite writer contention before degrading to keyword-only search
  • Claude Code global MCP setup - Global setup writes user MCP configuration to ~/.claude.json while preserving existing settings
  • MCP audit durability - Audit events are persisted before short-lived stdio clients receive a response, preventing process exit from dropping completed tool-call records
  • Cross-platform UI workflows - UI E2E helpers now isolate runtime state, validate MCP error responses, and use the shared CI timeout policy on slower runners

Changed

  • Code intelligence routing - CLI and MCP code operations now route through the shared daemon while preserving local fallback and existing response shapes
  • Search and review routing - Semantic search, indexing, memory review, and decision review now use the shared runtime and provider cache
  • Readiness reporting - Initial context and runtime status expose shared LSP and semantic health with clearer degraded-state information
  • Runtime ownership - Expensive language-server and embedding resources now follow project/runtime boundaries instead of individual client sessions

Testing

  • Added daemon identity, handshake, lifecycle, lease, locking, transport, recovery, and multi-client coverage
  • Added shared semantic runtime, provider caching, concurrent job routing, degraded hybrid search, and status coverage
  • Added Docker stress scenarios for LSP and semantic runtimes under memory and PID constraints
  • Added cross-platform LSP fixture smoke tests and hardened Windows UI E2E isolation
  • Added regression coverage for Claude global MCP configuration and synchronous MCP audit persistence

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.26.0...v0.27.0

v0.26.0
June 26, 2026View on GitHub

Knowns v0.26.0

image

Highlights

This release adds first-class document history. Docs now keep stable revision identity across renames, record section-level diffs when possible, expose structured timeline/diff/restore APIs, and include a WebUI history panel for inspecting and restoring previous content. Agent workflow docs were refreshed around MCP initial/help, Codex skill syntax, global setup, and kn-flow. Runtime memory payloads also expose trust metadata so agents can distinguish active context from supplemental or proposed knowledge.


Added

  • Document revision history - Docs now store stable revision history with document IDs, path continuity across renames, hashes, checkpoint revisions, changed scopes, and legacy history compatibility
  • Section-level doc diffs - Markdown section edits can be recorded as scoped changes without duplicating the full document body for every revision
  • Doc restore flows - Added section restore and whole-doc restore behavior that updates the current doc and records a normal follow-up restore revision
  • History retention markers - Retention policy support can bound stored history by version count or age while preserving checkpoint coherence and surfacing structured retention gaps
  • CLI, MCP, and API history surfaces - Doc history output now includes structured revision metadata, changed scopes, checkpoint state, audit/session links, hashes, diff data, and restore actions
  • WebUI history sheet - Docs now expose a History control with timeline entries, readable diffs, copy changed content, retention gap messaging, unavailable audit states, and restore section/whole-doc actions
  • Sensitive-history guide - Added guidance explaining doc history retention risk, checkpoints, retention gaps, and the fact that restore creates a new revision instead of erasing old content
  • Runtime memory trust metadata - Runtime memory capture and injection now include score, threshold, trusted state, trust reason, and review matches where applicable
  • Knownedge research brief - Added product research notes for a separate self-hosted team knowledge and memory server built on Knowns primitives
  • Upstream dispatch workflow - Added a GitHub workflow for upstream dispatch automation

Fixed

  • Doc history compatibility - Existing path-keyed doc history files remain readable and migrate safely on subsequent writes instead of silently losing older snapshots
  • Missing audit resilience - History, diff, and restore responses remain valid when audit links are absent or no longer available
  • MCP section update formatting - Section replacement preserves the separator before the next Markdown heading so adjacent sections do not collapse together

Changed

  • Agent setup docs - Public and Knowns-managed docs now clarify that MCP tools and agent skills are separate surfaces, with Claude using /kn-* and Codex using $kn-*
  • Bootstrap guidance - Documentation now routes agents through MCP initial and on-demand help, keeping repo instruction shims lightweight
  • Global setup guidance - Installation, quick start, platform, sync, and configuration docs now recommend knowns setup <target> --global for normal personal assistant setup
  • Approved-spec workflow - kn-flow is documented as the recommended approved-spec orchestration path, while kn-go is positioned as the legacy no-review-gates path
  • Runtime memory serialization - Injected memory prompt text now includes compact score= and trust= metadata without exposing verbose debug scoring details
  • Serena config cleanup - Removed stale repo-local Serena project files from the maintained project setup

Testing

  • Added storage coverage for stable doc IDs, create/update/rename continuity, legacy migration, section diffs, section restore, whole-doc restore, max-version retention, max-age retention, and retention gaps
  • Added CLI, MCP, and server route tests for history metadata, include-history responses, diff responses, restore behavior, missing audit links, and retention-gap response shapes
  • Added WebUI build and browser verification for opening history, selecting revisions, rendering diffs, copying changed content, and restore action wiring
  • Added runtime memory tests for capture score, threshold, trusted state, and serialized trust metadata

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.25.0...v0.26.0

v0.25.0
June 19, 2026View on GitHub

Knowns v0.25.0

image image image

Highlights

This release turns Knowns' memory and decision system into a safer, reviewable knowledge layer and adds a much stronger LSP runtime for code intelligence. Memory and Decision writes now go through semantic review, trusted retrieval filters, and WebUI review flows. Runtime memory can be injected per prompt with bounded payloads and capture controls. LSP support gains managed runtime sessions, C# Roslyn support, Dart and plugin adapters, richer status surfaces, and WebUI administration.


Added

  • Memory and Decision review lifecycle - Memory and Decision creation now supports semantic duplicate review, proposed/trusted states, resolution flows, canonical references, and review UI surfaces
  • Trusted retrieval filtering - Retrieval, search, runtime memory, and indexing paths now exclude proposed/rejected/archived/merged knowledge by default so agents receive only trusted project context
  • Runtime memory injection - Runtime hooks can inject selected Memories into prompt/session payloads with item and byte budgets, compact fact-card serialization, capture controls, and debug modes
  • Decision knowledge type - Decisions are now first-class durable project knowledge with storage, CLI/MCP handlers, WebUI routes, reference resolution, validation, and default git tracking guidance
  • Wrapper LSP runtime - LSP servers now run through a managed runtime/session layer with status snapshots, restart/admin operations, structured runtime errors, and richer project readiness output
  • C# Roslyn backend - C# code intelligence now supports managed Roslyn Language Server installation from NuGet, .NET 10+ detection/bootstrap guidance, solution/project path handling, and actionable startup errors
  • LSP plugin and Dart adapters - Added Dart support plus metadata-driven user plugin adapters loaded through the standard registry and wrapper session path
  • WebUI LSP administration - Settings now expose language readiness, backend status, install/update/cleanup actions, logs, trace toggles, and C# backend/project controls
  • kn-flow skill - Added a default orchestration skill for approved spec execution, with updated built-in skill guidance routed through sync/setup-managed sources
  • LSP fixture smoke coverage - Added .NET Web API LSP fixture tests and replace-body protocol coverage for runtime-backed code intelligence

Fixed

  • C# path canonicalization - C# LSP document URIs and solution paths now stay aligned across symlinks and short-name paths
  • C# solution loading - Discovered solution paths are passed to csharp-ls, and fixture readiness polling now tolerates slower Windows symbol loading with better timeout logs
  • Windows LSP cleanup - Windows tests now create npm .cmd shims and reap killed LSP helper processes so test binaries can be deleted reliably
  • Windows runtime queue tests - .test.exe binaries are recognized as test processes so they bypass the daemon and avoid locked helper executables
  • CI LSP smoke jobs - UI assets are built before the Go binary so embedded ui/dist files exist in clean fixture jobs
  • CLI update flow - Windows package-manager self-updates are deferred when unsafe, with tests covering the safer behavior

Changed

  • Agent bootstrap guidance - Agent guidance now starts from MCP initial/help and generated instruction sources instead of relying on a root KNOWNS.md
  • Git tracking defaults - Decisions are tracked as durable project knowledge by default, with docs and config updated for the current knowledge layout
  • Code extraction cleanup - Legacy code extraction language handling was removed as LSP-backed code intelligence takes over the runtime path
  • Memory and search internals - Search and retrieval paths now share stricter active/trusted memory filtering and improved chunking/index handling

Testing

  • Added focused Go tests for Memory review/resolution, Decision review, runtime memory payloads, LSP runtime status, Roslyn/.NET handling, plugin adapters, structured MCP errors, and storage/reference validation
  • Added WebUI e2e coverage for Decision and Memory review flows
  • Hardened Windows-oriented LSP fixture, runtime queue, and CI smoke tests

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.24.1...v0.25.0

v0.24.1
June 11, 2026View on GitHub

Knowns v0.24.1

Highlights

Search is now smarter and more reliable. BM25 replaces the old heuristic keyword engine for docs, tasks, and memories — ranking by term frequency and field weight instead of simple substring matching. A new knowns code search command brings the same BM25 scoring to code symbols. Two bug fixes ship alongside to make sure empty queries stay empty.


Added

  • BM25 lexical search — docs, tasks, and memories now use BM25 (k1=1.2, b=0.75) with field weighting and rerank boosts instead of the previous heuristic keyword backend. Results are more relevant and consistently ranked
  • Code symbol search — new knowns code search <query> command discovers symbols across the codebase using LSP DocumentSymbols with BM25 scoring and regex fallback for 10 languages (Go, TypeScript, Python, Rust, C#, Java, Kotlin, C++, PHP, Ruby, Swift). Supports --path scoping
  • Normalized search scores — all search scores are now normalized to 0.0–1.0 across CLI and MCP surfaces for consistent comparison

Fixed

  • BM25 source-type boost — source-type tie-breaking boost (+0.30 task, +0.20 doc) was unconditionally applied to every document regardless of query match. This caused gibberish queries to return the full corpus instead of empty results. Boost is now only applied when BM25Score > 0
  • Search dialog empty stateCommandEmpty from cmdk v1.x with shouldFilter=false did not reliably render. Replaced with explicit conditional rendering based on component state so "No results found." always appears correctly

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.24.0...v0.24.1

v0.24.0
June 4, 2026View on GitHub

Knowns v0.24.0

Highlights

The first-run setup pipeline makes onboarding smoother — new users are guided through initial configuration step by step. Init gets refined to match. Doc reference parsing is now bounded to prevent Markdown delimiters from being misinterpreted as doc paths.


Added

  • First-run setup pipelineknowns init now detects if this is a fresh project and walks users through guided setup with progressive prompts
  • Improved init onboarding — cleaner setup experience with better defaults and clearer guidance for new users

Fixed

  • Doc ref parsing — Markdown/prose delimiters (e.g. @.knowns/docs/... in output) are no longer incorrectly parsed as valid doc reference paths, preventing malformed ref resolution

Changed

  • README & README.vi — updated documentation to reflect current commands, workflows, and features

Contributors

HA@HarryVu176 and HO@howznguyen


Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.23.0...v0.24.0

v0.23.0
May 29, 2026View on GitHub

Knowns v0.23.0

Highlights

This release brings WebUI password protection, Cloudflare Tunnel control from the browser, LSP hot-add without restart, and native ONNX-based code intelligence — replacing the tree-sitter sidecar with a faster, self-contained approach.

New Features

WebUI Password Protection

  • Protect your Knowns WebUI with an in-memory password — set via knowns browser --password "secret" or from Settings → Security
  • Full login gate overlay with session cookie persistence
  • Password never persisted to disk — cleared on server restart

Cloudflare Tunnel Control from WebUI

  • Start/stop Cloudflare Quick Tunnel directly from Settings → Tunnel
  • Public URL displayed and copyable in the UI
  • CLI prints tunnel URL when started from any source
  • Tunnel auto-cleanup on server shutdown

LSP Language Hot-Add

  • Add new LSP languages from Settings → Code without restarting the server
  • Toggle languages on/off with immediate effect
  • Auto-detect and persist languages to config.json on knowns init and MCP session start
  • 10 adapters: Go, TypeScript, Python, Rust, C/C++, Java, C#, Ruby, PHP, SCSS

knowns setup Command

  • New unified setup command for configuring all runtimes (Claude Code, Codex, Kiro, OpenCode)
  • Granular git tracking mode selection
  • Auto-generates MCP config for Codex (~/.codex/config.toml) and OpenCode (~/.config/opencode/opencode.json)

LSP-Based Code Intelligence

  • Replaced tree-sitter with LSP-powered code intelligence via gopls, typescript-language-server, etc.
  • Symbol search, go-to-definition, find references, call hierarchy
  • Smart package manager detection for auto-installing language servers

AI Permission Guard

  • MCP tool calls now respect configurable permission rules
  • Granular allow/deny per tool action

Structural Knowledge Retrieval

  • Semantic reference resolution across tasks, docs, and memories
  • Graph-based context expansion for richer retrieval

Audit Trail

  • Full MCP audit trail with tool call stats
  • Viewable in WebUI at /audit

Improvements

  • Refactored CLI: removed dead code, consolidated overlapping commands
  • Smart package manager detection for LSP adapter installation
  • Delta-based code re-indexing (only changed files)
  • Doc annotation expansion in MCP retrieve
  • Windows compatibility fixes across LSP, CI, and e2e tests
  • Playwright UI tests on Windows CI

Bug Fixes

  • Fix nil pointer in detectEmbedding when project config is nil
  • Fix AuthManager nil panic in server tests
  • Fix setPassword API not returning session token
  • Fix auth middleware blocking first-time password set
  • Fix CORS credentials with wildcard origin
  • Fix ONNX Runtime environment thread-safety
  • Fix ONNX Runtime lib resolution in sibling directories
  • Fix Windows .exe check for LSP binary detection

Testing

  • Added Playwright e2e tests for: password protection, tunnel, LSP settings, security settings, memory, graph, audit, dashboard, search
  • Added Go e2e tests for server auth, tunnel API, LSP languages API
  • Windows e2e and semantic search tests in CI

Breaking Changes

  • Tree-sitter code intelligence removed — replaced by LSP
  • knowns install renamed to knowns setup

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.22.2...v0.23.0

v0.22.2
May 27, 2026View on GitHub

v0.22.2

Highlights

Init is now lean and focused — AI tool integration has been separated into its own knowns setup command with an interactive platform selector. Git tracking also gets granular control: toggle individual sections (tasks, docs, templates, memories) instead of relying on fixed modes.


Added

  • knowns setup command — dedicated command for configuring AI tool integrations, separated from knowns init
    • Interactive multi-select when run without arguments
    • Direct targets: knowns setup claude, opencode, copilot, kiro, all
    • Idempotent: re-running updates files without losing custom content
  • Granular git tracking toggles — control which .knowns/ sections are committed to git
    • New config: gitTracking.tasks, gitTracking.docs, gitTracking.templates, gitTracking.memories
    • Defaults: tasks=true, docs=true, templates=true, memories=false
    • Set via knowns config set gitTracking.<key> true/false (auto-regenerates .gitignore)
    • Init wizard (with --force) prompts for section selection

Fixed

  • Nil pointer panic in detectEmbedding — server tests crashed when project config could not be loaded (CI environments without .knowns/config.json)

Changed

  • knowns init simplified — no longer generates shim files or prompts for platform selection; suggests running knowns setup after completion
  • Git tracking modes backward compatible — existing git-tracked, git-ignored, and none modes still work; granular toggles act as overrides within the selected mode

Removed

  • TypeScript sidecar — removed sidecar/ directory (embedding, parsing, and symbol extraction now handled natively in Go)
  • cmd/knowns-embed — removed standalone embed binary (superseded by native ONNX runtime)

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.22.1...v0.22.2

v0.22.1
May 21, 2026View on GitHub

v0.22.1

Highlights

Smart package manager detection brings zero-config LSP server installation — Knowns now automatically picks the fastest available package manager (bun over npm, uv over pip) and adds SCSS/Sass/CSS as the 10th supported language. The init flow also gets a quality-of-life upgrade: switching git tracking modes no longer requires a full reinitialize.


Added

  • SCSS/Sass/CSS adapter — new language adapter using some-sass-language-server for .scss, .sass, and .css files with auto-install support
  • Smart package manager detectionpreferredCmd() helper automatically selects the best available package manager:
    • Node.js packages: bun → pnpm → npm
    • Python packages: uv → pip3 → pip
  • Prerequisite failure guidance — when knowns lsp install fails due to missing prerequisites, displays manual install command, download URL, and required dependencies

Fixed

  • LSP install dispatch bug — adapters with custom Install() methods (TypeScript, Python, PHP) were incorrectly routed through the generic binary-download installer, causing "no runtime dependency for platform" errors
  • Init git tracking modeknowns init --git-tracked or --git-ignored now updates .knowns/.gitignore without requiring --force, preserving all other project configuration

Changed

  • Rust adapter — switched from binary download (incomplete SHA-256 metadata) to rustup component add rust-analyzer, requiring only rustup as prerequisite
  • Ruby adapter — enabled auto-install via gem install ruby-lsp (previously manual-only)
  • Java adapter — updated to Eclipse JDT Language Server 1.58.0 with verified SHA-256 checksum
  • TypeScript adapter — uses bun/pnpm when available instead of hardcoded npm
  • Python adapter — uses uv when available instead of hardcoded pip
  • PHP adapter — uses bun/pnpm when available instead of hardcoded npm

Removed

  • Deprecated .agent/skills/ files — removed legacy skill definitions superseded by .claude/skills/

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.22.0...v0.22.1

v0.22.0
May 21, 2026View on GitHub

v0.22.0

image

Highlights

LSP-based code intelligence replaces tree-sitter as the primary source for symbols, references, and diagnostics — delivering language-server-grade accuracy across 9 languages with zero manual configuration. A new dynamic help registry makes MCP tool discovery self-documenting, and the doc mini-graph gives every document a visual map of its cross-references.


Added

  • LSP integration layer — full Language Server Protocol client with lifecycle management, file synchronization, and multi-server support. Automatically detects and launches language servers per project
  • Multi-language adapter system — pluggable adapters for Go, TypeScript, Python, Rust, Java, C#, C++, PHP, and Ruby with language-specific symbol mapping and query translation
  • LSP server registry — discovers installed language servers, manages installation status, and provides configuration defaults per language
  • LSP-powered MCP code handlercode({ action: "symbols" | "deps" | "search" }) now routes through LSP for real-time symbol resolution, reference lookup, and diagnostics
  • Dynamic initial/help registry — MCP initial and help tools are now auto-generated from handler metadata, keeping tool documentation in sync with implementation
  • Doc mini-graph — inline relationship visualization on doc pages showing cross-references, backlinks, and task connections
  • Memory CLIknowns memory commands for listing, reading, writing, and deleting persistent memory entries
  • Memory auto-cleanup spec — design for automatic pruning of stale or low-value memory entries

Improved

  • Code ingest performance — reduced redundant work in the ingest pipeline by leveraging LSP-provided symbol boundaries instead of tree-sitter parsing
  • MCP handler architecture — cleaner separation between handler registration, help generation, and execution logic
  • CLI init flow — streamlined project initialization with LSP server detection and configuration

Removed

  • Tree-sitter dependency — removed tree-sitter parsing and all associated grammar bindings in favor of LSP-only code intelligence
  • Legacy graph page — removed standalone graph visualization page and constants (functionality replaced by doc mini-graph)

Changed

  • internal/cli/code_search.go refactored to delegate symbol queries to LSP adapter layer
  • internal/cli/ingest.go simplified — no longer bundles tree-sitter grammars or manages parser lifecycle
  • MCP code handler response format updated to include LSP diagnostic severity and source metadata

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.21.0...v0.22.0 lo

v0.21.0
May 7, 2026View on GitHub

v0.21.0

Highlights

Delta-based code re-indexing makes knowns code ingest near-instant for unchanged files — SHA-256 file and chunk hashes skip redundant parsing and embedding, targeting sub-second re-ingest on minimal changes. Doc inline annotations get a full UX upgrade: real inline editing, cross-tab sync, confidence indicators on highlights, and AI-optimized copy output. New support for OpenAI-compatible embedding providers (Ollama, Qwen3, etc.) with auto-detection.


Added

  • Delta-based code re-indexing — two-tier SHA-256 hash detection (file-level + chunk-level) skips unchanged files and symbols entirely during ingest. New code_file_hashes table tracks content state across runs
  • OpenAI-compatible embedding providersembedding_api module supports any OpenAI-compatible endpoint (Ollama, Qwen3, vLLM, etc.) with configurable model and base URL
  • Ollama auto-detection — automatically discovers local Ollama instances and available embedding models during setup
  • Embedding settings persistence — new embedding_settings_store saves provider configuration (model, endpoint, dimensions) across sessions
  • --full flag for ingestknowns code ingest --full forces complete re-indexing, bypassing delta detection when needed
  • Doc inline annotation system — select text on rendered docs, annotate (comment/replace/delete), accumulate across docs, copy structured markdown for AI agent feedback
    • AnnotationBubble — draggable floating widget with expandable panel, count badge, Copy All / Clear All
    • AnnotationHighlighter — DOM TreeWalker-based highlight rendering with color-coded marks and numbered badges
    • AnnotationSelectionToolbar — Medium/Notion-style floating toolbar on text selection
    • AnnotationContext + useAnnotations hook — shared state with LocalStorage persistence (500-item cap)

Improved

  • Annotation inline editing — click a highlight to edit content directly in a popover (textarea with ⌘+Enter save), replacing the previous remove-and-recreate flow
  • Cross-tab annotation syncuseAnnotations hook listens to storage events, keeping annotation state consistent across browser tabs
  • Highlight confidence indicators — annotations on non-unique text show a dashed yellow border and tooltip warning ("Match may be imprecise") when context is insufficient for disambiguation
  • AI-optimized copy output — serializer now includes metadata header (count, doc count, export timestamp) and a legend explaining Comment/Replace/Delete semantics. Line references use human-readable Lines X–Y format with explicit field labels (Selected text, Replace with, Text to remove)
  • Bubble auto-hide — annotation bubble hides when no annotations exist and panel is closed, reducing visual noise

Fixed

  • Annotation edit was destructive — "Edit" button previously called remove() instead of update(), silently deleting the annotation. Now performs true in-place edit via annotationCtx.update()
  • React hooks order violation — early return in AnnotationBubble was placed before useCallback hooks, causing "Rendered more hooks than during the previous render" error. Moved conditional return after all hook declarations

Changed

  • Semantic search config updated to support API-based providers alongside local ONNX
  • AnnotationHighlighter.onEdit signature changed from (annotation) => void to (annotation, changes) => void for proper partial updates

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.20.5...v0.21.0

v0.20.5
April 30, 2026View on GitHub

v0.20.5

Highlights

Major code ingest performance boost — batch embedding with length-sorted content and parser pooling cuts ingest time from ~1m27s to ~17s (5× speedup). Adds Java, Rust, and C# language support to the AST indexer. Expands knowns mcp setup to support 10 platforms via a unified registry pattern, including new Cline, Continue, Claude Desktop, and Gemini CLI targets.


Added

  • Java, Rust, C# language support — AST indexer now parses .java, .rs, and .cs files via tree-sitter CGO bindings, extracting symbols (classes, structs, enums, traits, impl blocks, constructors) and edges (imports, method ownership)
  • Cline platform supportknowns mcp setup cline generates .cline/mcp_settings.json with Knowns MCP server config
  • Continue platform supportknowns mcp setup continue generates Continue MCP config
  • Claude Desktop platform supportknowns mcp setup claude-desktop generates global Claude Desktop MCP config
  • Gemini CLI platform supportknowns mcp setup gemini generates global Gemini CLI MCP config
  • Unified MCP platform registry — all 10 platforms (Claude Code, Kiro, OpenCode, Cursor, Codex, Cline, Continue, Claude Desktop, Antigravity, Gemini CLI) managed through a single mcpPlatform registry with consistent setup interface

Improved

  • 5× code ingest speedup — batch embedding with length-sorted content minimizes padding waste in ONNX inference; adaptive batch sizes (64 for short content, 32 for long) balance throughput and memory
  • Parser instance pooling — tree-sitter parsers are reused via per-extension pools, eliminating alloc/dealloc overhead per file
  • Compact embedding content — classes embed as signature + member signature list instead of full source code; functions embed as signature + edge summary. Content truncated to ~2000 chars (model's effective window) to save tokenizer CPU
  • Audit page expandable events — audit event rows now expand to show argument summaries and project root details
  • Code graph page improvements — layout and interaction refinements
  • Memory page resilience — removed dependency on /api/working-memories route that caused silent page failure; page now loads reliably with persistent memories only

Fixed

  • Memory page silent failureMemoryPage crashed silently when Promise.all included a call to the non-existent /api/working-memories endpoint; removed the broken call
  • Watch command stale ingest reference — corrected knowns ingestknowns code ingest in the semantic search warning message
  • E2E test flaky port allocationfindPort() generated random port numbers without checking availability, causing server startup timeouts on CI. Now uses OS-assigned port via net.createServer() bound to port 0
  • E2E server startup diagnostics — increased waitForServer timeout from 15s to 30s and added stderr capture for better failure messages

Dependencies

  • Added tree-sitter-java, tree-sitter-rust, tree-sitter-c-sharp Go bindings

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.20.4...v0.20.5

v0.20.4
April 28, 2026View on GitHub

v0.20.4

Highlights

Fixes a critical MCP server crash caused by the ONNX Runtime native library accessing freed memory. The crash occurred when Embedder.Close() destroyed the process-global ONNX environment while background indexing goroutines were still active or about to reinitialize it.


Fixed

  • MCP server crash — ONNX Runtime use-after-freeORTRuntime.Close() called ort.DestroyEnvironment() on every Embedder.Close(), tearing down the process-global ONNX C++ environment while other goroutines could still be using it. The fault address (0x614d3a3a786e6e6fonnx::Ma) confirmed the crash was inside native ONNX code accessing freed memory. Close() now only releases the model session; the environment lives for the process lifetime.
  • ONNX environment initialization race conditionensureORTEnvironment() used a simple IsInitialized() check with no synchronization, allowing two goroutines to race into InitializeEnvironment() simultaneously. Now guarded by sync.Once.

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.20.3...v0.20.4

v0.20.3
April 24, 2026View on GitHub

v0.20.3

Highlights

Expands platform support to Cursor, Antigravity, and Codex with full MCP config and skill sync. Restructures the public documentation into English-first (docs/en/) and Vietnamese (docs/vi/) mirrors. Fixes MCP text field escaping so multiline content (plans, notes, descriptions) is stored correctly.


Added

  • Cursor platform supportknowns init and knowns sync now generate .cursor/mcp.json with the Knowns MCP server config; knowns update keeps it in sync after upgrades
  • Antigravity platform support — generates .agent/rules/knowns.md guidance file and ~/.gemini/antigravity/mcp_config.json MCP config during init and sync
  • Codex platform support — generates .codex/config.toml with [mcp_servers.knowns] section during init and sync
  • .agents/skills/ directory — new repo-level skills directory used by OpenCode, Antigravity, and Codex (13 skills: kn-init, kn-plan, kn-implement, kn-commit, kn-research, kn-review, kn-spec, kn-go, kn-verify, kn-doc, kn-extract, kn-template, kn-debug)
  • Vietnamese README — full README.vi.md translation alongside the English README
  • Bilingual documentation — complete docs/en/ and docs/vi/ doc trees covering getting-started, guides, reference, integrations, and contributing

Improved

  • MCP text field escaping — new textArg() / unescapeText() helpers unescape literal \n and \t in MCP arguments, fixing multiline content for task descriptions, plans, notes, doc content, and memory entries
  • Semantic search type-aware availability — search engine now checks embedder availability per search type (memory-only searches work even when the main ONNX embedder is not loaded), with nil-guard on semanticSearch and semanticSearchSingleStore
  • Init wizard narrow-terminal fallback — automatically falls back to non-interactive defaults when terminal width < 90 columns, with a clear warning message
  • Init wizard alt-screen — the interactive setup form now uses bubbletea's alt-screen mode for a cleaner experience
  • Skill sync for new platformsSyncSkillsForPlatforms distinguishes .agents/skills/ (OpenCode, Antigravity, Codex) from legacy .agent/skills/ (agents) with backwards-compatible detection
  • knowns sync platform config sync — sync command now regenerates Cursor, Codex, and Antigravity configs alongside existing Claude/Kiro/OpenCode sync
  • knowns update MCP config sync — update command syncs Cursor, Codex, and Antigravity MCP configs after binary upgrade
  • Windows shell command quotinghookCommandPath now properly quotes arguments and converts backslashes to forward slashes on Windows for Claude's bash-based command hooks

Documentation

  • Restructured docs/ — migrated 14 flat docs into organized docs/en/ and docs/vi/ trees with categories: getting-started, guides, reference, integrations, contributing
  • New docs — added compatibility matrix, guidance files reference, model management, sync reference, validate reference, AI agent guide, AI workflow guide, memory system guide, and platform integration mapping
  • Updated README — expanded with Before & After comparison, Claude Code Skills workflow section, all skills table, and updated quick reference

Testing

  • init_test.go — comprehensive tests for init command including platform config generation, wizard fallback, and narrow-terminal detection
  • skill_sync_test.go — tests for .agents/skills/ vs .agent/skills/ directory selection and legacy detection
  • runtimeinstall_test.go — tests for shell command quoting and Windows path normalization
  • search_test.go — tests for type-aware semantic availability checks

Removed

  • internal/cli/guidelines.go — removed standalone guidelines command (functionality merged into sync)
  • Root .mcp.json — removed in favor of platform-specific MCP configs

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.20.2...v0.20.3

v0.20.2
April 24, 2026View on GitHub

v0.20.2

Highlights

Fixes ONNX Runtime architecture mismatch on Linux, improves knowns update with interactive install method detection, and adds ORT library to CI test environments.


Fixed

  • ONNX Runtime architecture validationResolveORTLibraryPath() now reads the ELF header to verify the shared library matches the host CPU architecture (x86_64 vs aarch64), skipping wrong-arch files instead of letting dlopen fail with a cryptic error
  • CI: wrong-arch ORT bundled in Linux x64 package — The build pipeline previously tried Go module test_data first, which only contains arm64 libs, potentially shipping an arm64 .so inside the x64 tarball. Now always downloads from official ONNX Runtime GitHub releases for all platforms
  • CI: ELF architecture verification — Tarball verification step now checks e_machine in ELF headers to catch architecture mismatches before publishing
  • Self-update missing ORT libraryknowns update (script-managed) now copies libonnxruntime.* / onnxruntime.dll from the release tarball alongside the binary, preventing stale or missing native libs after upgrade

Improved

  • Interactive install method detectionknowns update now shows a bubbletea confirm prompt with the detected install method, with option to choose a different one from a selectable list (↑/↓ navigation, number keys, Esc/Ctrl+C to cancel)
  • Runtime-first detection — Install method detection prioritizes binary path analysis over persisted install.json metadata, correctly handling cases where users switch install methods (e.g. script → Homebrew)
  • Cross-platform path detection — Path matching normalizes separators for Windows compatibility, detecting npm/bun/pnpm/yarn/script installs on all platforms
  • CI test coverage for semantic search — Both ci.yml and publish.yml now download ONNX Runtime v1.25.0 for unit tests and E2E semantic search tests

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.20.1...v0.20.2

v0.20.1
April 23, 2026View on GitHub

v0.20.1

Highlights

Patch release fixing ONNX Runtime library resolution for Homebrew installations and CI bundling improvements.


Fixed

  • Homebrew ONNX Runtime resolutionResolveORTLibraryPath() now checks sibling directories (../libexec, ../lib) relative to the binary, fixing semantic search on Homebrew where the dylib is installed in libexec/ rather than next to the binary
  • CI ONNX Runtime bundling — Download ONNX Runtime x64 libs from official GitHub releases as fallback when Go module test_data lacks them

Removed

  • macOS Intel (darwin/amd64) — Dropped from build matrix, npm packages, tarballs, verification, Homebrew formula, and install script. ONNX Runtime 1.25.0 no longer ships macOS x64 binaries.

Breaking Changes

  • macOS Intel (x86_64) no longer supported — Only macOS Apple Silicon (arm64) is supported going forward. The install script now exits early on macOS Intel with a clear message.

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.20.0...v0.20.1

v0.20.0
April 23, 2026View on GitHub

v0.20.0

Highlights

This release replaces the external sidecar embedding process with a native ONNX runtime, introduces an AI permission guard system, adds MCP audit trail capabilities, and consolidates MCP tools for a cleaner API surface. The CI pipeline is also simplified by removing the now-unnecessary sidecar smoke tests.


Added

  • AI Permission Guard — New permission system (internal/permissions) with guard, policy, and registry modules for controlling AI tool access
  • MCP Audit Trail — Track all MCP tool invocations with audit middleware, storage layer, CLI commands (knowns audit), API routes, and a new Audit UI page
  • Structural Knowledge Retrieval — Code graph edge storage and traversal (internal/storage/structural_*) for querying code relationships
  • Project Activation Readiness — New internal/readiness module to check project setup completeness
  • Status CLI commandknowns status for quick project health overview

Changed

  • MCP Tool Consolidation — Refactored all MCP handlers; removed standalone board and working_memory handlers in favor of unified interfaces; added shared handler helpers
  • Native ONNX Embedding — Replaced the external knowns-embed sidecar process with native ONNX runtime integration (internal/search/onnx_runtime.go, embedding_native.go), eliminating the need for a separate binary
  • Skills Update — Synced skill definitions across all platforms (.agent/, .claude/, .kiro/, internal/instructions/)
  • Working Memory Merged — Consolidated internal/workingmemory into the unified memory store
  • CI Simplified — Removed sidecar-smoke job (5-platform matrix) and sidecar build steps from CI pipeline
  • Install Scripts — Updated for new binary structure
  • Publish Workflow — Refactored CI publish pipeline

Removed

  • internal/mcp/handlers/board.go — Merged into consolidated handler
  • internal/mcp/handlers/working_memory.go — Merged into memory handler
  • internal/workingmemory/store.go — Replaced by unified memory store
  • internal/search/embedding_sidecar*.go — Replaced by native ONNX embedding
  • internal/cli/skill.go — Skill CLI command removed
  • cmd/knowns-embed/main_nonwindows.go — No longer needed
  • sidecar-smoke CI job — No longer needed with native embedding

Documentation

  • Added research docs and specs for: AI permission model, audit trail, structural retrieval, project readiness, MCP tool consolidation
  • Updated AI, MCP, skills, and architecture documentation
  • Updated README, user guide, commands reference, and templates docs
  • Synced agent instruction files (AGENTS, CLAUDE, GEMINI, KNOWNS, OPENCODE)

Breaking Changes

  • MCP tool names may have changed due to handler consolidation. Clients using board or working_memory tools directly will need to update to the new unified endpoints.
  • Sidecar binary no longer required — The knowns-embed binary is no longer needed. Embedding is handled natively via ONNX runtime. Existing KNOWNS_EMBED_BIN environment variable references can be removed.

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.19.2...v0.20.0

v0.19.2
April 22, 2026View on GitHub

v0.19.2

0.19.2 is a patch release focused on semantic search stability, especially on Windows, while also improving CI and release reliability.

Highlights

  • Improved semantic search setup in non-interactive environments such as CI or terminals without TTY support.
  • Added multi-platform smoke tests for knowns-embed, with a strong focus on Windows runtime validation.
  • Expanded test coverage for sync, semantic search, and related MCP workflows.

Changed

  • Semantic search setup now behaves more reliably when running in non-interactive environments.
  • The CI pipeline now builds and validates the sidecar across macOS, Linux, Windows x64, and Windows ARM.
  • The build and release flow now includes real runtime checks for the Windows sidecar before publishing artifacts.

Fixed

  • Reduced the risk of shipping semantic search artifacts that fail at runtime on Windows.
  • Improved early failure detection for semantic search and sync workflows through E2E and smoke tests.
  • Increased release stability by validating that the sidecar not only exists in published packages, but also runs successfully.

Testing

  • Added CI smoke tests for knowns-embed across multiple platforms.
  • Added test coverage for:
  • knowns sync --instructions
  • knowns sync --skills
  • semantic CLI subset
  • semantic MCP subset

Notes

  • There are no breaking changes in this release.
  • This release prioritizes stability and reliability over new feature work.

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.19.1...v0.19.2

v0.19.1
April 20, 2026View on GitHub

v0.19.1 - CI and Semantic Search Stabilization

✨ Added

  • Added cross-platform sidecar smoke checks in PR CI for all Bun targets: darwin x64/arm64, linux x64/arm64, and windows x64/arm64
  • Added end-to-end CLI coverage for knowns sync --instructions --platform claude and knowns sync --skills
  • Added semantic search subsets to PR CI so semantic CLI and MCP search flows are exercised in pull requests

🔄 Changed

  • Updated CI runner selection for Darwin x64 sidecar smoke to use the Intel macOS runner label already used by publish workflow
  • Adjusted Unix sidecar smoke execution to export bundle-local dynamic library paths before launching the compiled sidecar
  • Refined PR CI coverage so sidecar packaging/runtime validation and semantic search validation run as separate targeted checks

🐛 Fixed

  • Fixed semantic model download in non-interactive environments by avoiding Bubble Tea setup UI when running without a TTY
  • Fixed CI failures where semantic CLI tests fell back to keyword-only mode because model setup could not complete in GitHub Actions
  • Fixed sidecar smoke regressions on Unix runners caused by missing runtime loader paths when executing packaged sidecar binaries directly

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.19.0...v0.19.1

v0.19.0
April 20, 2026View on GitHub

✨ Added

  • New Bun-based sidecar runtime for symbol extraction, parsing, and embedding support across supported platforms
  • Tree-sitter-driven symbol extraction pipeline, candidate discovery helpers, and sidecar server/build assets under sidecar/
  • Sidecar runtime plumbing in the CLI, including setup/download flow updates and tunnel/cloudflared helpers for runtime-managed services
  • Spec doc for the tree-sitter sidecar design and rollout

🔄 Changed

  • Search and indexing flows now use the new sidecar-based embedding/runtime path instead of the previous ONNX implementation
  • Runtime queue, MCP server integration, install scripts, and update/browser/runtime commands were updated to support sidecar packaging and execution
  • Publish workflow, Makefile, and release packaging now build and ship sidecar bundles alongside the main CLI artifacts

🐛 Fixed

  • Improved cross-platform search/runtime consistency by removing the older ONNX/stub split and standardizing parsing and embedding behavior behind the sidecar runtime
  • Tightened AST indexing coverage and runtime-related tests around parser candidates, browser/search flows, and sidecar-backed indexing behavior

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.18.4...v0.19.0

v0.18.4
April 17, 2026View on GitHub

v0.18.4 - Semantic References & Working Memory

✨ Added

  • Semantic reference model and resolution flow for knowledge links such as references, implements, blocked-by, related, depends, and follows
  • New reference resolution and rewrite helpers in storage and reference packages, with dedicated tests
  • knowns resolve CLI support for resolving semantic references directly
  • Working memory store and MCP/server support for session-scoped memory operations
  • New semantic reference badge rendering in the editor and richer release/spec docs for the feature set

🔄 Changed

  • Search, graph, docs, and MCP flows now surface semantic references more consistently across backend and web UI
  • Memory APIs and the Memory page were reworked to separate persistent memory from working memory, with improved create/view/edit flows
  • Graph filtering and legends now support semantic relation edge types and clearer impact exploration
  • Installer and publish workflow assets were updated to include the new runtime/reference-related behavior
  • User and developer docs were refreshed for semantic references, mention playground usage, and related workflows

🐛 Fixed

  • Improved document reference resolution and validation behavior so semantic links are interpreted more reliably across storage, routes, and search
  • Tightened tests around MCP search, doc storage, graph routes, runtime memory, and reference resolution to reduce regressions in the new reference pipeline

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.18.3...v0.18.4

v0.18.3
April 12, 2026View on GitHub

v0.18.3 - Runtime Adapter Install, MCP-First Retrieval & Search Improvements

✨ Added

  • Unified runtime adapter install package for global hook/plugin setup across claude-code, codex, kiro, and opencode
  • runtime-memory CLI command for direct runtime memory hook invocation
  • Kiro native runtime-memory hook (.kiro/hooks/knowns-runtime-memory.kiro.hook)
  • Specs: multi-store semantic memory retrieval and unified runtime adapter install
  • Design system reference doc for SVG diagrams, Web UI, and knowns.sh visual consistency
  • README SVG diagrams: architecture, capabilities, cover, knowledge-graph, mcp-integration, multi-platform, template-pipeline, workflow

🔄 Changed

  • All agent skills and compatibility shims now prefer MCP retrieve tool over CLI, with CLI as fallback
  • Search engine improvements: chunker source-type awareness, vecstore type filtering, sqlite store optimizations, and sync refinements
  • Init flow updated with runtime discovery, adapter install integration, and MCP-first guidance generation
  • Docs refreshed: commands, configuration, semantic-search, mcp-integration, user-guide, developer-guide, web-ui

🐛 Fixed

  • Search type filtering now applies at the vector store level so --type memory queries are not crowded out by unrelated doc/task chunks

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.18.2...v0.18.3

v0.18.2
April 11, 2026View on GitHub

v0.18.2 - Shared Runtime Queue, Script Updates & Stability Fixes

✨ Added

  • Shared global runtime queue for background semantic/code indexing work, with project-scoped queues, lease tracking, idle shutdown, and runtime status reporting
  • Installer metadata persisted under ~/.knowns/install.json for official shell and PowerShell installs
  • Script-managed self-update flow for knowns update, including runtime version awareness and safer runtime restart behavior after upgrades
  • MCP and runtime process logs under ~/.knowns/logs, including per-process MCP logs and bounded log rotation

🔄 Changed

  • MCP write paths now keep source-of-truth writes synchronous while enqueueing follow-up indexing, watch-triggered work, and reindex tasks to the shared runtime
  • knowns watch and related background indexing flows now reuse shared runtime infrastructure instead of spawning redundant heavyweight work
  • Shell installer now defaults to ~/.knowns/bin, reducing the need for sudo and avoiding password prompts for script-managed installs on macOS and Linux
  • Background indexing now uses queue pacing, debounce windows, duplicate coalescing, and lower ONNX thread defaults to reduce CPU spikes

🐛 Fixed

  • Fixed runtime memory injection scoring so prompt hooks only inject memories with actual prompt relevance instead of matching only on runtime/context tokens
  • Fixed Windows and race-sensitive test behavior by forcing test commands and MCP e2e flows to run with inline runtime mode instead of leaving shared runtime processes behind
  • Fixed MCP/background work stability issues caused by inline indexing pressure, stale runtime reuse, and oversized shared log growth

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.18.1...v0.18.2

v0.18.1
April 11, 2026View on GitHub

v0.18.1 - Release Docs, MCP Schema & Update Guidance

✨ Added

  • Public docs for the v0.18.0 feature set, including workspace-aware browser mode, code intelligence commands, code graph usage, and chat/runtime UX updates
  • Installer README examples for pinning a specific version with KNOWNS_VERSION on both shell and PowerShell installers

🔄 Changed

  • README and command guides now describe the shipped knowns code ingest, knowns code watch, knowns code search, knowns code deps, and knowns code symbols workflows
  • Browser and web UI docs now cover workspace switching, project scanning, code watcher mode, and richer graph/chat capabilities

🐛 Fixed

  • Fixed MCP tool schema for knowns_retrieve so sourceTypes declares array item types and no longer triggers array schema missing items
  • Fixed Homebrew upgrade guidance to use brew upgrade knowns-dev/tap/knowns consistently in the CLI notifier and release/install messaging

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.18.0...v0.18.1

v0.18.0
April 10, 2026View on GitHub

v0.18.0 - Workspace Switching, Code Intelligence & Chat UX

✨ Added

  • AST-based code intelligence with symbol indexing, relationship edges, neighbor discovery, and dedicated tests
  • New code-focused CLI and MCP capabilities for code search, code graph exploration, ingest, and file watching/sync flows
  • Dedicated Code Graph experience in the web UI with new graph toolbar, legend, styling, and detail panel improvements
  • Welcome page and chat timeline dialog to improve session onboarding and chat history navigation
  • Workspace picker and server-side workspace switching improvements, including broader browser/server test coverage
  • Search benchmarking utilities and new research/spec docs for retrieval, graph UX, and chat runtime upgrades

🔄 Changed

  • Upgraded chat runtime and message rendering to better support tool calls, shell output, sub-agents, and richer thread interactions
  • Expanded search engine and server routes to support code-aware retrieval alongside existing knowledge/doc search flows
  • Updated browser/server integration, route wiring, and configuration plumbing to support workspace-aware behavior end to end
  • Refined agent skill instructions and internal guidance for planning, implementation, review, research, and debugging workflows

🐛 Fixed

  • OpenCode client/runtime handling is more robust, with added tests around client behavior and browser command flows
  • Graph, search, validation, storage, and API route handling received targeted fixes alongside the new workspace/code features
  • Publish workflow and package metadata were adjusted to keep release/build behavior aligned with the new runtime changes

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.17.1...v0.18.0

v0.17.1
April 2, 2026View on GitHub

v0.17.1 - MCP Fixes & Working Memory Persistence

🐛 Fixed

  • create_task MCP handler now properly saves plan and notes fields (were being silently ignored)
  • update_doc MCP handler no longer clears content when sending empty string content: ""
  • Working memory now persists to .knowns/.working-memory/ directory instead of RAM-only, surviving restarts and compacts
  • clear_working_memory properly removes working memory files from disk

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.17.0...v0.17.1

v0.17.0
April 2, 2026View on GitHub

v0.17.0 - Memory System & Knowledge Graph

✨ Highlights

  • 🧠 3-Layer Memory System — Working, project, and global memory layers for agents. Store patterns, decisions, and conventions that persist across sessions via CLI (knowns memory) and full MCP tool coverage (add_memory, list_memories, search_memories, promote_memory, add_working_memory).
  • 🕸️ Knowledge Graph UI — New Graph page visualizes relationships between tasks, docs, and memories as an interactive network. Click any node to open a detail panel with full context.
  • 📈 Semantic Search Quality — Model-specific embedding prefixes (EmbedQuery/EmbedDocument) for bge, nomic, and e5; H1 content loss fixed; tokenizer-based chunk splitting; ChunkVersion auto-reindex on version mismatch.
  • 🔄 knowns update Command — New CLI command to check for and install the latest version of Knowns.
  • 🔌 Custom Provider UI — Add custom OpenCode-compatible providers (base URL, models, headers, API key) directly from the provider connect dialog.

🚀 Added

  • knowns memory CLI command — list, view, add, update, delete, and search memory entries across layers
  • add_memory / get_memory / update_memory / delete_memory / list_memories / search_memories MCP tools (project + global layers)
  • promote_memory / demote_memory MCP tools for cross-layer promotion (project → global)
  • add_working_memory / get_working_memory / list_working_memories / delete_working_memory / clear_working_memory MCP tools (session-scoped, in-memory)
  • MemoryEntry model with id, title, layer, category, tags, content, metadata, createdAt, updatedAt
  • MemoryStore file-backed storage under .knowns/memory/ with semantic search indexing
  • GET /api/memories, POST /api/memories, PATCH /api/memories/:id, DELETE /api/memories/:id REST endpoints
  • GET /api/graph endpoint — returns nodes and edges for tasks, docs, and memories with relationship inference
  • Graph page (/graph) with force-directed network visualization and node type filtering
  • Graph detail panel — click any node to see title, type, tags, excerpt, and outbound links
  • Memory page (/memory) — list and browse all memory entries by layer and category
  • knowns update CLI command — checks GitHub releases and installs the latest binary
  • OpenCode auto-detection during knowns init wizard — skips download if already installed
  • Custom provider step in ProviderConnectDialog — provider ID, display name, base URL, models, optional headers and API key
  • Sidebar navigation entries for Graph and Memory pages
  • kn-extract skill: new Step 5 saves memory entry alongside extracted doc
  • kn-init skill: Step 3.6 loads project memory at session start
  • kn-research skill: Step 2 searches project memory before completed tasks

📝 Changed

  • knowns search — improved result ranking with model-aware embedding prefixes
  • Chunker now uses tokenizer-based token counting with configurable overlap; splits oversized task chunks
  • ChunkVersion bumped — mismatched indexes are automatically wiped and reindexed on next sync
  • KNOWNS.md / compatibility shims — added Memory Usage section with usage guidelines for agents
  • Skills (kn-extract, kn-init, kn-research) updated to include memory steps in their workflows
  • knowns sync — content-based out-of-sync detection replaces .version file mechanism
  • MDRender components (CopyablePre, CopyableTable, StableHeading) moved to module scope to fix React reconciliation key warnings
  • .air.toml dev server switched from pre-built binary to go run ./cmd/knowns/main.go

🐛 Fixed

  • H1 heading content captured correctly in chunker (was being dropped before the first H2)
  • Code block language detection in chunker prevented false heading matches inside fenced blocks
  • execLookPath in mcpCommand() now injectable — CI test failures caused by knowns not being in PATH resolved
  • Chat scroll uses useLayoutEffect for instant initial positioning (no flash of bottom-scrolled content)
  • Mention badge re-rendering stabilized with stable useMemo refs
  • sync.go import sync no longer races on concurrent file writes

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.16.3...v0.17.0

v0.16.3
March 28, 2026View on GitHub

v0.16.3 - Mermaid Viewer & Import Sync

✨ Highlights

  • 🔍 Interactive Mermaid Diagrams — Drag to pan, Ctrl+scroll to zoom, auto-fit to container, and theme-aware colors for light/dark mode.
  • 📦 Git Import Auto-Sync — Git imports now clone and sync immediately on add, with a spinner UI and private repo token support.
  • 🎨 Brand Progress Bars — All CLI progress bars use the Knowns navy blue (#1e3a5f) instead of the default gradient.
  • ⏱️ Time Tracking Fix — Stopping a timer now correctly updates the task's timeSpent field.

🚀 Added

  • Mermaid drag-to-pan with grab/grabbing cursor feedback
  • Mermaid Ctrl+Scroll zoom centered on cursor position with smooth animation
  • Mermaid auto-fit on render — large diagrams scale down, small ones cap at 150%
  • Mermaid dynamic container aspect ratio (4:3 to 21:9) based on SVG shape
  • Mermaid zoom percentage indicator in bottom-right controls
  • KnownsBrand constant (#1e3a5f) in styles.go for centralized brand color
  • Git import auto-sync on knowns import add with bubbletea spinner UI
  • Git token injection for private HTTPS clone URLs
  • importedAt and ref fields in import metadata
  • Dry-run preview → "Import Now" flow in ConfigPage add import modal

📝 Changed

  • Mermaid controls simplified — removed D-pad buttons, kept zoom +/- and reset (fit-to-view)
  • Mermaid hardcoded dark colors replaced with theme tokens (bg-muted, text-muted-foreground, border-border)
  • All 4 CLI progress bars (model.go, download_setup.go, search.go) switched from WithDefaultBlend() to WithColors(lipgloss.Color(KnownsBrand))
  • CopyablePre now skips wrapping mermaid code blocks to avoid duplicate copy button
  • Import metadata format aligned between CLI and server (_import.json)
  • ImportEntry struct extended with Ref and ImportedAt fields

🐛 Fixed

  • Duplicate copy button on mermaid diagrams — CopyablePre wrapper now detects language-mermaid and yields
  • Mermaid Ctrl+scroll zoom not working in fullscreen — wheel listener now re-attaches on isFullscreen toggle
  • Task timeSpent not updating when stopping timer via API — time.go now writes accumulated duration back to task

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.16.2...v0.16.3

v0.16.2
March 28, 2026View on GitHub

v0.16.2 - Custom Providers & Render Stability

✨ Highlights

  • 🔌 Custom Provider UI — Add any OpenAI-compatible endpoint directly from the Provider Connect dialog.
  • ⚡ Stable Markdown Rendering — Fixed React error #310 and eliminated mention badge flickering on re-render.
  • 📜 Chat Scroll Fix — Messages now appear at the correct position instantly instead of jumping.
  • 🧹 No More .version Files — Replaced auto-sync mechanism with content-based knowns sync warning.

🚀 Added

  • Custom provider UI in ProviderConnectDialog — add any OpenAI-compatible endpoint with provider ID, display name, base URL, models, optional headers, and optional API key
  • patchConfig() API method to call PATCH /config on OpenCode server
  • addCustomProvider() action in OpenCodeContext (patchConfig → setAuth → globalDispose → refreshAll)
  • SkillsOutOfSync() content-based check — compares embedded skills vs on-disk copies without version files
  • CLI warning ⚠ Skills are out of sync. Run 'knowns sync' to update. when skills are stale after upgrade

📝 Changed

  • Extracted CopyablePre, CopyableTable, StableHeading, MermaidLoading into mdComponents.tsx for cleaner separation
  • MDRender useMemo deps reduced to [] — all callbacks accessed via stable refs, components object created once
  • Chat scroll switched from useEffect + smooth scroll to useLayoutEffect + instant scroll for new messages
  • Removed AutoSyncOnUpdate config field and init wizard step
  • Removed .version file generation from skill sync
  • Added **/.version to .gitignore

🐛 Fixed

  • React error #310 — hooks inside useMemo (pre/table components) lost identity on dep change, causing "Rendered more hooks than during the previous render"
  • Mention badges (task/doc) flickering and re-fetching on every render due to unstable components object identity in MDRender
  • Chat messages appearing above the last message then jumping down — scroll now fires before paint via useLayoutEffect

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.16.1...v0.16.2

v0.16.1
March 27, 2026View on GitHub

v0.16.1 - Enhanced Skills & Developer Experience

✨ Highlights

  • 🤖 3 New Skillskn-go (full pipeline), kn-review (code review), kn-debug (structured debugging) for a more complete AI workflow.
  • 🔍 Socratic Exploringkn-spec now asks one question at a time to lock decisions before writing specs.
  • 📊 Context Usage Indicator — Arc indicator in Chat UI showing real-time context window usage with heatmap breakdown.
  • 🔄 Smart Syncknowns sync reads config.json and sets up everything locally (skills, instructions, model, search index).
  • 🧠 MCP Auto-Detect — MCP server automatically finds the project from cwd, --project flag, or KNOWNS_PROJECT env.

🚀 Added

  • kn-go skill — full pipeline execution from approved spec (generate tasks → plan → implement → verify → commit) with no review gates between steps
  • kn-review skill — multi-perspective code review (quality, architecture, security, completeness) with P1/P2/P3 severity triage
  • kn-debug skill — structured debugging: triage → check known patterns → reproduce → root cause → fix → capture learning
  • kn-spec Phase 0 Socratic exploring — scope assessment, domain classification, gray area identification, one-question-at-a-time dialog, decision locking with stable IDs
  • kn-extract compounding — captures decisions and failures alongside patterns, promotes critical learnings, --consolidate mode for reviewing all learnings
  • kn-plan pre-execution validation — AC coverage check, scope sizing, dependency check, risk assessment before approval
  • kn-init critical learnings — loads learnings/critical-patterns at session start for institutional knowledge
  • Context usage indicator in Chat UI — arc indicator with percentage, hover popover with heatmap grid and token breakdown
  • knowns sync command — applies config.json after cloning (skills + instructions + git integration + model download + reindex)
  • knowns sync --model flag to download embedding model only
  • MCP server auto-detects project from --project flag, KNOWNS_PROJECT env var, or cwd walk-up
  • MCP --project flag for explicit project path
  • Auto-setup warning when embedding model is missing (suggests knowns sync)
  • knowns init --force pre-populates all wizard fields from existing config.json (name, git mode, platforms, semantic model)

📝 Changed

  • Init wizard splits prompts into sequential groups (one at a time instead of combined)
  • Git-ignored mode now whitelists config.json for clone+sync workflow
  • Git tracking mode select pre-populates from existing config on re-init
  • Semantic search and model selection pre-populate from existing config on re-init
  • set_project MCP tool description updated (only needed for runtime switching)
  • All MCP error and success messages centralized in handlers/messages.go
  • Skills table updated from 10 to 13 in docs

🐛 Fixed

  • MCP create_task and update_task now call SaveVersion for version tracking
  • SSE multiplexing — OpenCode SSE events merged into Knowns SSE stream (1 connection per tab)
  • Auto-inject directory param in session list proxy
  • Auto-reload on stale chunk imports (lazy retry for code-split bundles)
  • Vietnamese text in skills replaced with English
  • Removed unused splitView prop from VersionDiffViewer

Contributors

HO@howznguyen

Full Changelog: https://github.com/knowns-dev/knowns/compare/v0.16.0...v0.16.1

Showing all 30 releases. View on GitHub