Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 56 of 117 Next →
February 21, 2026
patch Core

Add Rust grouped aggregate query and FFI export

Details

Implements aggregate_query_grouped in the dataset store which generates

GROUP BY x_column, group_column SQL and returns (x, group, y) triples.

The FFI layer pivots these triples into a GroupedAggregateQueryResponse

with shared x_labels and per-series value arrays, ready for multi-series

chart rendering on the C# side.

patch Desktop Shell

Remove duplicate H1 titles, add chart block generation to insights

Details

Fixes the double title issue where page title and H1 heading both showed

the same text. Now only the page title is used — no redundant heading blocks

in either the parent or sub-pages.

AI prompt now instructs the model to suggest charts via [CHART: ...] markers

when data would be better understood visually. The orchestrator validates

column names against the actual dataset, parses chart markers, and creates

dataset-backed ChartBlock JSON (bar, line, pie) inline with the text.

Charts reference the source dataset by ID so they render live from the data.

patch Desktop Shell

Update AI provider models to current GA, add saved API keys UI

Details

Replace stale model lists across all three cloud providers: Gemini now

uses 2.5-series GA models (fixing 404 on retired preview), OpenAI adds

GPT-4.1 and o4-mini while dropping GPT-4 Turbo, Anthropic adds Claude

4.6 models. Settings panel now displays saved API keys with masked hints

and a delete button for each, backed by a new AiSavedKeyHints dictionary

in AppSettings. Deleting a key removes it from both the vault and the

persisted hints.

patch Desktop Shell

Enhance AI context: email/web clips, embedded datasets, history tab fix

Details

Add email_message and web_clip to EntityTypeMap so the AI tray sends

context for those entity types. For notes containing embedded

datasets/tables, parse dataset_id references from content and fetch

actual row data via IPluginDataSourceProvider. Add fallback entity

fetching through DataSourceProvider for unmapped types like dataset_row.

Fix history tab: clicking a previous conversation now switches to the

chat view by subscribing to SelectedTabIndex PropertyChanged in the

code-behind.

patch Desktop Shell

Fetch full entity data for active context injection in AI chat

Details

When the user views an item and chats with the AI, cloud models now receive

the full entity JSON (fetched via SDK Read) instead of just the title. This

gives the AI complete knowledge of the note body, task description, contact

details, etc. for the item the user is looking at.

Entity data is fetched async on active item change via SdkMessage Read,

serialized as indented JSON, and capped at 8K chars to avoid prompt bloat.

Local models still get the short "Currently viewing: Title (type)" summary

since their context windows are too small for full entity payloads.

← Prev Page 56 of 117 Next →

Get notified about new releases