Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 71 of 117 Next →
February 20, 2026
patch CoreDesktop ShellSDK

Add database internals diagnostics panel

SDK 1.43.0 → 1.43.1 | Core 1.13.2 → 1.13.3 | 041b5f84
Details

Adds a "Database Internals" section to the Dashboard Data tab that queries

DuckDB's internal metadata to show per-table row counts, column counts, and

estimated sizes. This helps diagnose database bloat by revealing exactly which

tables are consuming space (e.g., orphaned entity_vectors, stale sync_ledger

entries, or accumulated email data).

The feature spans the full stack:

  • Rust: db_diagnostics() on EntityStore queries duckdb_tables() and

pragma_database_size() to return JSON with per-table stats

  • FFI: privstack_db_diagnostics() exports the function as a C string
  • C#: NativeLibrary.DbDiagnostics P/Invoke + SdkHost.GetDatabaseDiagnostics()
  • ViewModel: RunDatabaseDiagnosticsCommand parses JSON into ObservableCollection
  • View: Card with Scan Tables button, DB/WAL size summary, per-table breakdown

Versions: Rust 1.13.3, SDK 1.43.1, Desktop 1.45.0

patch Core

Cascade-delete orphaned vectors and sync ledger on entity deletion (v1.13.2)

Core 1.13.1 → 1.13.2 | 08c5ffe1
Details

delete_entity() now also cleans entity_vectors and sync_ledger rows for

the deleted entity, preventing orphaned data from accumulating. Additionally,

run_maintenance() now purges any existing orphaned rows in entity_vectors,

sync_ledger, and entity_links whose parent entity no longer exists before

running CHECKPOINT and VACUUM. This addresses the issue where DuckDB files

remained large (124 MB) despite having 0 entities — the space was consumed

by orphaned auxiliary table rows that VACUUM alone couldn't reclaim.

patch Desktop Shell

Replace remaining hardcoded colors in SpeechRecordingOverlay (v1.44.1)

Desktop 1.44.0 → 1.44.1 | 0203f051
Details

Second pass of theme compliance audit. Replace Fill="White" on microphone icons in recording and transcribing states with ThemeTextOnAccentBrush.

February 19, 2026
patch Desktop Shell

Force-recreate empty DuckDB files during maintenance (v1.43.2)

Desktop 1.43.1 → 1.43.2 | 70c8ce83
Details

DuckDB VACUUM doesn't always reclaim disk space after mass deletions.

When "Clean Database" detects 0 entities but the entity DB is >1 MB,

it now shuts down the Rust core, deletes the empty .duckdb files, and

re-initializes — causing the Rust core to recreate fresh schemas. This

drops a 124 MB empty database down to ~260 KB.

patch Desktop Shell

Show PrivStack Cloud as storage location for cloud workspaces (v1.43.1)

Desktop 1.43.0 → 1.43.1 | bf477591
Details

Add PrivStackCloud to DataDirectoryType enum. When the active workspace

has sync_tier == PrivStackCloud, the storage location selector now shows

"PrivStack Cloud" with a checkmark instead of falling through to stale

Custom/Default values. The displayed path uses the actual local workspace

directory (DataPaths.WorkspaceDataDir) rather than an outdated custom_path.

The PrivStack Cloud button is read-only — cloud sync is managed from the

Cloud Sync settings section, not the storage location picker.

← Prev Page 71 of 117 Next →

Get notified about new releases