Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 5 of 22 Next →
February 21, 2026
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.

minor CoreDesktop ShellSDK

Add RAG pipeline: SDK interface, Rust FFI, embedding + index services

SDK 1.56.0 → 1.57.0 | Core 1.13.6 → 1.14.0 | Desktop 1.56.0 → 1.57.0 | b5ceaf7b
Details

Implements full semantic search infrastructure for cross-plugin content retrieval:

SDK: IIndexableContentProvider capability interface with ContentChunk/IndexableContentResult

DTOs enabling plugins to contribute text content for vector embedding.

Rust Core: rag_vectors table (entity_id, chunk_path, embedding DOUBLE[], content_hash)

with cosine similarity search via DuckDB list_cosine_similarity(). Four FFI functions:

rag_upsert, rag_search, rag_delete, rag_get_hashes with P/Invoke bindings.

Desktop: EmbeddingService wraps ONNX Runtime for nomic-embed-text-v1.5 (768-dim vectors)

with search_document/search_query task prefixes and L2 normalization.

EmbeddingModelManager handles HuggingFace model download with temp-file-and-rename.

RagIndexService is a Channel<T> bounded background worker that listens for

EntitySyncedMessage, debounces per-entity (500ms), and skips unchanged chunks via

content_hash comparison. RagSearchService provides the query API.

Auto-registers IIndexableContentProvider in PluginRegistry capability broker.

SDK 1.56.0 → 1.57.0, Desktop 1.56.0 → 1.57.0, Rust 1.13.6 → 1.14.0

minor CoreDesktop ShellSDK

Add category field to dataset metadata for AI-generated dataset isolation

SDK 1.55.0 → 1.56.0 | Desktop 1.55.5 → 1.56.0 | 84b8339d
Details

Adds a `category` column to the `_datasets_meta` schema via a new migration,

threaded through the full Rust core → FFI → SDK → Desktop stack. The

ChartDatasetGenerator now tags AI-derived datasets with category "ai-generated"

when calling ImportFromContentAsync. The SDK's IDatasetService and DatasetInfo

types expose the new optional category field with backward-compatible defaults.

Rust changes: schema migration, DatasetMeta.category field, store CRUD/mutations

updated to read/write/copy category, new set_category() helper. FFI request

structs (CreateEmptyRequest, ImportContentRequest) accept optional category.

SDK/Desktop: DatasetInfo gains Category property, IDatasetService methods

CreateEmptyDatasetAsync and ImportFromContentAsync accept optional category

parameter, DatasetService.Mutations threads it to FFI JSON requests.

Version bumps: SDK 1.55.0 → 1.56.0, Desktop 1.55.5 → 1.56.0.

minor Desktop ShellSDK

Add chart-eligible column filtering for view-based insights

SDK 1.54.0 → 1.55.0 | Desktop 1.54.5 → 1.55.0 | 4f221d8a
Details

When generating AI insights from SQL views, the view may produce computed

columns (e.g., billable_pct) that don't exist in the underlying dataset.

Charts reference the dataset directly via AggregateAsync, so they can only

use the dataset's actual columns.

This adds ChartEligibleColumns/ChartEligibleColumnTypes to the insight

request message, allowing the Data plugin to pass the underlying dataset's

columns separately from the view's result columns. The orchestrator now

validates chart markers against these chart-eligible columns and instructs

the AI to only reference them in chart suggestions, while still analyzing

all view columns in the prose.

SDK 1.54.0 → 1.55.0, Desktop 1.54.5 → 1.55.0

minor Desktop Shell

Wire grouped aggregate through desktop service layer

Desktop 1.53.0 → 1.54.0 | 52ee37a8
Details

Adds AggregateGrouped P/Invoke binding to DatasetNativeLibrary and

implements AggregateGroupedAsync in DatasetService using the same

marshal-and-free pattern as AggregateAsync. Bumps Desktop version

from 1.53.0 to 1.54.0.

← Prev Page 5 of 22 Next →

Get notified about new releases