Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 32 of 53 Next →
February 19, 2026
minor Notes

Add AI summarize feature with suggestion panel (v1.44.0)

Notes 1.43.0 → 1.44.0 | 7c6a439e
Details

Add block-level AI summarization: right-click any text block → AI → Summarize.

The AI suggestion panel shows the result with actions to replace the block,

insert above/below, or close and store for later retrieval. Includes

AiSuggestionStore for persisting suggestions via IPluginSettings,

AiSuggestionPanelViewModel for panel state management, and text extraction

from all block content types (paragraph, heading, list, code, callout,

blockquote). Context menu AI item is conditionally visible based on

IAiService.IsAvailable. Bump Notes plugin from 1.43.0 to 1.44.0.

minor Desktop Shell

Visual modernization pass 2 — shell components (v1.37.0)

Desktop 1.36.0 → 1.37.0 | 44becf8e
Details

Continued modernization of the PrivStack desktop shell components

toward a Material 3 aesthetic, following the Phase 1 color and nav

overhaul (v1.36.0).

PluginCommandBar.axaml:

  • Fixed StackPanel Spacing="-2" → Spacing="2" eliminating the

negative-spacing title/subtitle overlap

  • Title downgraded from FontSizeLg/SemiBold to FontSizeMd/Medium

to reduce visual weight in the command bar

  • Subtitle font size reduced to ThemeFontSizeXsSm for better hierarchy

PluginFooter.axaml:

  • Removed the Windows XP-era 1×12px Border vertical separator between

primary and secondary stat sections

  • Replaced with a modern "·" mid-dot separator (·) consistent

with the FilesView footer pattern

PrivStackTheme.axaml:

  • Added global Button.view-toggle, Button.view-toggle:pointerover, and

Button.view-toggle.active styles so plugin views using the view-toggle

class work without needing a ViewToggleGroup wrapper

  • Active state: ThemePrimaryMutedBrush background + ThemePrimaryBrush

foreground + SemiBold weight

minor Desktop Shell

Modernize design system to material-inspired indigo palette (v1.36.0)

Desktop 1.35.0 → 1.36.0 | 4db55012
Details

Overhaul the default Dark and Light themes plus core component styles to bring the

visual language in line with modern 2024-era desktop UI conventions (Linear, Craft,

Arc, Material 3). The previous design used a neon cyan primary (#00D4FF) and sharp

nav-item indicators that read as 2018-era SaaS. This commit replaces them

systematically across every touch point that the token system covers.

Color system (Dark theme):

  • Primary accent: cyan #00D4FF → indigo #6366F1. The new hue is softer, premium,

and works equally well on dark and light surfaces without the "tech-startup neon"

connotation.

  • Background surfaces shifted: #0A0A10 → #0F0F14, surface #141420 → #16161E,

elevated #1E1E2C → #21212C. The steps are now perceptibly distinct, giving the

depth hierarchy real visual weight instead of near-identical near-blacks.

  • Navigation sidebar given its own explicit dark token set (#0E0E16 bg) rather than

aliasing the standard surface color, creating a clear light/dark split between

sidebar and content even in dark mode.

  • Secondary accent: #8B5CF6 → #A78BFA (lighter, better contrast on the new surfaces).
  • Semantic colors refreshed: success → #34D399 (vibrant emerald), warning →

#FBB32F (amber), info → #60A5FA (sky), danger → #F87171 (rose). All softer

and more readable than the previous Tailwind 500-level values on dark bg.

  • Hover/selected/pressed states carry a subtle indigo tint (#1D1D2C / #201E3A)

instead of the cyan-tinted #1A2A35 that was previously selected state.

  • Text primary: pure white → #EBEBF0 (slightly warm, reduces harshness on dark).

Color system (Light theme):

  • Primary: #0099CC → #4F46E5. Consistent indigo family, darker shade for

sufficient contrast on white/near-white backgrounds.

  • Surfaces and borders carry a subtle violet tint (#F0F0F6 bg, #E8E8F2 border-subtle)

that ties the light theme to the same design language as dark.

  • Hover/selected states: #E0E2E8 / #D0E8F0 → #E2E2F0 / #D4D0F8 (indigo-tinted

instead of the previous cyan-tinted selection blue).

  • Nav (both themes): unified to #111118 / #636380 / #1A1A2A for hover — consistent

dark sidebar regardless of light/dark content theme.

Component styles (PrivStackTheme.axaml):

  • Button.accent, Button.danger, Button.success: corner radius ThemeRadiusSm (6px) →

ThemeRadiusLg (12px). On a 32px tall button this produces a clearly rounded shape

without being a full pill — exactly what MD3 specifies for filled buttons.

  • Foreground on accent/danger/success buttons changed to ThemeTextOnAccentBrush

(#FFFFFF) rather than ThemeBackgroundBrush. This is semantically correct: the

background token can be near-black on dark themes, but text-on-accent should always

be white for legibility.

  • Border.badge CornerRadius: hardcoded 10 → ThemeRadiusFull. Tags and badges are

now true pills, consistent with every modern design system.

  • ProgressBar MinHeight: 4 → 6px; CornerRadius 2 → 3. The extra 2px makes the

bar visually present without being heavy, and matches typical Material 3 density.

Navigation sidebar (NavigationSidebar.axaml):

  • Active item indicator: removed the 3px left border + asymmetric CornerRadius hack

(0,6,6,0) + offset padding (9,10,12,10). Replaced with a filled background pill

using ThemePrimaryMutedBrush (20% alpha indigo). The icon continues to render in

ThemePrimaryBrush (solid indigo) and text stays ThemeNavTextHoverBrush (white/near-

white), giving a clear active indication without the visual noise of a left stripe.

  • Same change applied to Button.nav-item-collapsed.active for the collapsed sidebar

state, so the icon-only view is consistent.

  • The pill treatment matches the Linear / Arc / Craft navigation pattern that

users associate with modern, well-designed desktop software.

Version: 1.35.0 → 1.36.0 (minor — new visual feature, no API/data changes)

February 18, 2026
minor Data

Redesign dataset creation and import experience with friendly types and import preview (v1.16.0)

Data 1.15.1 → 1.16.0 | 95a79c78
Details

Replace raw DuckDB type names (VARCHAR, INTEGER, etc.) with user-friendly

labels (Text, Number, Decimal, Yes/No, Date, Date & Time) throughout the

schema builder. Add ColumnTypeMapping model that maps between friendly

display labels and DuckDB types, handling all DuckDB type aliases.

Add import preview overlay that appears after file import or clipboard paste.

The overlay shows detected column types and a data preview (first 20 rows),

letting users adjust column names and types before finalizing. On confirm,

applies RenameColumn and AlterColumnType operations for changed columns.

On cancel, deletes the imported dataset.

Add "Paste CSV" button in the import expander, which reads CSV/TSV/PSV

content from the clipboard, imports via DuckDB auto-detect, and opens

the same import preview overlay.

File import now routes through the preview overlay instead of immediately

selecting the dataset, giving users a chance to review and adjust detected

schema before committing.

minor CalendarDataEmailFilesJournalNotesRssSnippetsWebClips

Add SQL editor intelligence and cross-plugin entity querying

Rss 1.7.1 → 1.8.0 | Data 1.14.1 → 1.15.0 | Email 1.21.5 → 1.22.0 | Files 1.8.1 → 1.9.0 | Notes 1.42.2 → 1.43.0 | Journal 1.5.3 → 1.6.0 | Calendar 1.10.4 → 1.11.0 | Snippets 1.5.2 → 1.6.0 | WebClips 1.1.1 → 1.2.0 | ee7dc749
Details

Introduces source:@PluginName syntax for querying entity data from any

plugin directly in the SQL editor. Adds a stateless SQL analysis engine

with CTE parsing, cursor-context-sensitive autocomplete, inline problem

detection (unknown sources/columns, ambiguous references), and a DuckDB

function catalog.

Entity source materialization fetches plugin data via IPluginDataSourceProvider,

creates temporary DuckDB tables, rewrites SQL to reference them, executes the

query, and cleans up. Results are cached for 30 seconds during live typing;

manual Ctrl+Enter bypasses the cache.

Eight plugins now implement IPluginDataSourceProvider: Calendar, Journal,

Notes, Email, Files, RSS, Snippets, and WebClips — joining the existing

Tasks and Contacts implementations. Each exposes its entities as tabular

data sources accessible via source:@PluginName in the query editor.

The SQL editor gains entity source coloring (teal), problem squiggles

(red errors, amber warnings), @ trigger for entity completions, and

context-aware completions for columns, functions, CTEs, and sources.

New files:

  • Services/Analysis/: SqlAnalyzer, CteParser, ContextDetector,

ProblemDetector, SchemaRegistry, DuckDbFunctions, CursorContext,

SqlAnalysisModels

  • Services/EntitySourceRegistry, EntitySourceMaterializer
  • 8 plugin DataSources partial classes

Modified files:

  • SqlPreprocessorClient: entity source regex methods
  • SqlCompletionProvider: rewritten with SqlAnalyzer integration
  • SqlSemanticColorizer: entity brush + problem squiggles
  • SqlEditorControl: @ trigger, SchemaRegistry wiring
  • QueryEditorViewModel: materializer + schema dependencies
  • QueryEditorViewModel.LiveQuery: materialization in execution pipeline
  • DataViewModel: pass-through entity source dependencies
  • DataPlugin: create and wire EntitySourceRegistry/Materializer
  • QueryEditorView: SchemaRegistry + entity source refresh wiring

Version bumps:

  • Data: 1.14.1 → 1.15.0
  • Calendar: 1.10.4 → 1.11.0
  • Journal: 1.5.3 → 1.6.0
  • Notes: 1.42.2 → 1.43.0
  • Email: 1.21.5 → 1.22.0
  • Files: 1.8.1 → 1.9.0
  • RSS: 1.7.1 → 1.8.0
  • Snippets: 1.5.2 → 1.6.0
  • WebClips: 1.1.1 → 1.2.0
← Prev Page 32 of 53 Next →

Get notified about new releases