Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 56 of 139 Next →
February 21, 2026
minor Desktop Shell

Add Embedding Space tab to Graph plugin (v1.58.0)

Desktop 1.57.5 → 1.58.0 | f055d19a
Details

Integrate the 3D embedding space visualization as a second tab in the

Graph plugin. New EmbeddingDataService calls the rag_fetch_all FFI,

projects 768-dim embeddings to 3D via random projection, and computes

pairwise cosine similarity edges above a configurable threshold.

EmbeddingSpaceViewModel manages loading, parameters (similarity threshold,

max points, max neighbors, auto-rotate), entity type filtering, and

selection state. GraphViewModel gains GraphTab enum and ActiveTab property.

GraphView.axaml adds a tab strip with Knowledge Graph / Embedding Space

tabs, per-tab sidebar controls, and per-tab footer stats. GraphView

code-behind handles tab switching with lazy control creation.

GraphPlugin version bumped to 1.1.0, Desktop to 1.58.0.

minor CoreUI Components

Add 3D embedding space infrastructure: Rust FFI, models, controls (v1.58.0)

SDK 1.57.0 → 1.58.0 | Core 1.14.1 → 1.15.0 | fe8209a5
Details

Add rag_fetch_all FFI function to retrieve all RAG vector embeddings with

metadata for 3D visualization. New UI.Adaptive components: EmbeddingModels

(point/edge/data records), RandomProjection (Johnson-Lindenstrauss 768->3D),

PerspectiveCamera (orbit camera with perspective projection), and

EmbeddingSpaceControl (DrawingContext-based 3D point cloud renderer with

depth sorting, entity-type coloring, similarity edges, orbit drag, zoom,

and hit testing). Rust workspace bumped to 1.15.0, SDK to 1.58.0.

patch CoreDesktop Shell

Store chunk text in RAG index and remove hardcoded plugin knowledge from chat

Desktop 1.57.4 → 1.57.5 | edd466f6
Details

Add chunk_text column to rag_vectors table so search results include the

original indexed content, not just titles. This enables the AI chat to

reference actual entity details (descriptions, due dates, notes) when

answering user queries.

Changes:

  • Rust: add chunk_text TEXT column to rag_vectors (migration + CREATE TABLE)
  • Rust: pass chunk_text through rag_upsert and return it from rag_search
  • FFI: add chunk_text field to RagUpsertRequest with serde(default)
  • C# RagIndexService: pass chunk.Text through upsert JSON
  • C# RagSearchResult: add ChunkText property
  • C# RagSearchService: parse chunk_text from FFI response
  • C# Chat: replace FormatEntityTypeLabel() hardcoded switch with direct

EntityType usage from RAG results, and format results with truncated

chunk text content (500 chars cloud, 200 chars local)

Removes plugin isolation violation where the shell hardcoded entity type

display names (page->Note, task->Task, etc). Entity types now flow

directly from the plugin-provided ContentChunk.EntityType field.

patch Desktop Shell

Wire RAG semantic search into AI chat flow

Desktop 1.57.3 → 1.57.4 | 7ba06777
Details

The RagSearchService existed but was never called during chat. Now

SendChatMessageAsync runs a semantic search against the RAG vector index

before building the system prompt, injecting relevant entity titles and

types as context. Cloud models get up to 10 results; local models get 5.

Results below a 0.3 cosine similarity threshold are filtered out.

This gives the AI awareness of the user's notes, tasks, contacts, events

and other indexed content when answering questions. (v1.57.4)

patch Desktop Shell

Fix DI resolution failure and wire RAG indexing for local mutations

Desktop 1.57.2 → 1.57.3 | db841a37
Details

Root cause: SeedDataService constructor was changed to internal in a

prior commit, breaking Microsoft DI resolution. This caused

SettingsViewModel construction to throw, leaving all overlay dialogs

(ThemeEditor, ManagePlugins, GitHubDeviceFlow) with null DataContext

and defaulting IsVisible to true on startup.

Fixes:

  • SeedDataService constructor back to public
  • AiMemoryService, AiConversationStore and their model types to public

(required as public constructor parameter types)

  • FallbackValue=False on overlay dialog IsVisible bindings as defense
  • Error logging on SettingsVM lazy construction

RAG indexing fix: local entity CRUD was never triggering embeddings

because RagIndexService only listened for EntitySyncedMessage (P2P

sync only). Now SdkHost broadcasts EntitySyncedMessage after every

local mutation so RAG stays current. Also triggers full re-index

after reseed completes.

Version 1.57.2 → 1.57.3.

← Prev Page 56 of 139 Next →

Get notified about new releases