Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 31 of 266 Next →
February 28, 2026
patch Tasks

Make GitHub URLs clickable in task detail panel (BUG #43)

Tasks 1.29.0 → 1.29.1 | ef9b5251
Details

Add OpenGitHubUrl RelayCommand that launches URLs via Process.Start.

Replace non-clickable TextBlocks for GitHub Issue and Link fields with

Button-wrapped TextBlocks that invoke the command.

Bump version 1.29.0 → 1.29.1.

patch Notes

Fix trash view titles not truncating with ellipsis (BUG #20)

Notes 1.65.0 → 1.65.1 | bcdaca03
Details

Add MinWidth="0" to parent StackPanels and MaxLines="1" to the title

TextBlock in the trash item template so titles truncate properly instead

of overflowing the list width.

Bump version 1.65.0 → 1.65.1.

patch Desktop ShellServices

Add SDK transport abstraction for Desktop client mode

Details

Extract FFI calls from SdkHost into ISdkTransport interface with two

implementations:

  • FfiSdkTransport: wraps NativeLibrary P/Invoke calls with pointer

marshalling (standalone mode, existing behavior)

  • HttpSdkTransport: proxies SDK calls over HTTP to a running headless

server (client mode, new)

When Desktop detects a running headless server at startup (probes

GET /api/v1/status), it switches to client mode: swaps the transport

from FFI to HTTP, skips DuckDB initialization and the unlock screen,

and routes all plugin data operations through the server. This solves

the DuckDB single-process limitation during development — server for

API testing, Desktop for UI verification, both against the same data.

Server-side: LocalApiServer gains SDK passthrough endpoints under

/api/v1/sdk/* (execute, search, vault, blob, db maintenance) so the

HttpSdkTransport has something to call. All endpoints sit behind the

existing API key authentication.

In client mode, server-managed background services (backup, file sync,

snapshot sync, reminders, RAG indexing, API server) are skipped since

the headless server handles them. UI services, plugin discovery, and

IPC still run locally.

SdkHost.SetTransport() follows the same post-build wiring pattern as

SetSyncOutbound() and SetVaultUnlockPrompt(). Pure refactor in

standalone mode — zero behavior change when no server is detected.

patch Desktop Shell

Fix AXAML xmlns references after Services extraction

Details

8 AXAML files still referenced `using:PrivStack.Desktop.Models` which

is now an empty namespace — all model types moved to

`PrivStack.Services.Models` during the architecture split.

Updated xmlns declarations:

  • models → PrivStack.Services.Models (8 files)
  • BacklinkEntry → PrivStack.Services via new svc: prefix (InfoPanel)
patch Calendar

Fix color picker missing selected visual feedback (BUG #60)

Calendar 1.14.6 → 1.14.7 | c1320ed8
Details

Add SelectedColorBrushConverter (IMultiValueConverter) that compares the

swatch color with the ViewModel's SelectedColor. Use MultiBinding on the

swatch BorderBrush to show a white ring around the currently selected color.

Bump version 1.14.6 → 1.14.7.

← Prev Page 31 of 266 Next →

Get notified about new releases