Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 53 of 117 Next →
February 21, 2026
patch CoreDesktop Shell

Clear AI state on data wipe and reseed

Core 1.14.0 → 1.14.1 | Desktop 1.57.0 → 1.57.1 | 8d7ac03c
Details

Add rag_delete_all FFI function to truncate the rag_vectors table.

Wire SeedDataService to clear RAG vectors, AI conversation history,

and AI memories when wiping or reseeding data. Add ClearAll() methods

to AiConversationStore and AiMemoryService. Prevents stale embeddings

and chat history from referencing deleted entities.

patch CoreDesktop Shell

Fix RAG pipeline build errors

Details

Switch EmbeddingService tokenizer from non-existent Tokenizer.CreateTiktokenForEncoding

to WordPieceTokenizer.Create for nomic-embed-text-v1.5 compatibility. Update

EmbeddingModelManager to download vocab.txt instead of tokenizer.json. Fix

System.Threading.Timer type ambiguity in RagIndexService debounce. Remove unused

to_c_string import from Rust rag.rs FFI module.

patch Desktop Shell

Wire embedding model download into Settings UI with auto-index on startup

Details

Adds "Semantic Search" card to AI settings with download/delete buttons,

progress bar, and status text. Uses nomic-embed-text-v1.5 (~260MB ONNX model).

After download completes, initializes EmbeddingService and kicks off full

RAG index in the background. On subsequent app starts, if model is already

downloaded, auto-initializes after a 5-second delay (to allow plugin activation)

and runs full index with content-hash skip for unchanged chunks.

SettingsViewModel.AI.cs: IsEmbeddingModelDownloading, CanDownloadEmbeddingModel,

EmbeddingModelDownloadLabel, DownloadEmbeddingModelCommand, DeleteEmbeddingModelCommand.

RagIndexService: deferred auto-init in constructor via Task.Run with 5s delay.

patch Desktop Shell

Generate derived datasets for AI insight charts

Desktop 1.55.4 → 1.55.5 | b9c4156b
Details

Instead of referencing the original dataset for chart aggregation (which

fails when the AI uses column names that don't match the underlying table),

the orchestrator now creates small generated datasets from sample data.

For each chart the AI suggests:

1. Aggregates the sample rows client-side using the specified x/y/group

columns and aggregation function (sum/avg/count/min/max)

2. Creates a new dataset via ImportFromContentAsync named

"[AI] {ChartTitle} — {DatasetName}"

3. References the generated dataset ID in the chart block

This eliminates column mismatch errors entirely — the generated dataset

has exactly the columns the chart references. Falls back to the original

dataset when the generated one can't be created.

New file: ChartDatasetGenerator.cs (~170 lines) handles client-side

aggregation and CSV generation for single and grouped chart types.

Desktop 1.55.4 → 1.55.5

patch Desktop Shell

Filter chart markers against chart-eligible columns for view insights

Desktop 1.55.3 → 1.55.4 | ed79f570
Details

When insights are generated from a SQL view, the AI often references

computed columns (e.g., billable_pct) that exist in the view result but

not in the underlying dataset. These charts fail at render time with

"column not found" errors.

Now uses a two-pass approach:

1. Parse chart markers against all analysis columns (allows column name

normalization)

2. Validate parsed charts against EffectiveChartColumns (underlying

dataset) — skip charts with invalid columns instead of emitting them

3. Strip any unparsed [CHART:] markers so raw marker text never appears

in the rendered page

Desktop 1.55.3 → 1.55.4

← Prev Page 53 of 117 Next →

Get notified about new releases