Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 14 of 22 Next →
February 17, 2026
minor Desktop ShellSDK

Add RequestVaultUnlockAsync for plugin vault unlock (v1.34.0)

SDK 1.33.0 → 1.34.0 | Desktop 1.31.1 → 1.32.0 | 4acd10e9
Details

Add IPrivStackSdk.RequestVaultUnlockAsync(vaultId) so any plugin can

request the host to prompt the user for their master password and

unlock a vault. This replaces the pattern of plugins hardcoding their

own password input UI for vault unlock.

SdkHost implements the method using a delegate callback wired in

ServiceRegistration. The callback dispatches to the UI thread and

shows the existing PasswordConfirmationWindow dialog. If the user

enters the correct password, the vault is initialized (if needed)

and unlocked. Returns true on success, false on cancel or bad password.

Also adds email-credentials and calendar-credentials to the

StandardVaultIds array so they auto-unlock at startup alongside

the connections vault.

SDK version bumped to 1.34.0. Desktop version bumped to 1.32.0.

minor Desktop Shell

Refactor GraphDataService and BacklinkService to hybrid provider model (v1.31.0)

Desktop 1.30.23 → 1.31.0 | e0bceb77
Details

GraphDataService now discovers IGraphDataProvider implementations via

IPluginRegistry and aggregates their node, edge, content, and explicit

link contributions. Entity types not covered by any provider fall back

to the existing legacy SDK-based loading path, ensuring zero regressions

while plugins are gradually migrated.

BacklinkService follows the same hybrid pattern: provider contributions

are merged with legacy entity loading, and wiki-link parsing is

consolidated through the shared WikiLinkParser utility.

PluginRegistry auto-registers IGraphDataProvider alongside the existing

ILinkableItemProvider in ActivatePlugin(). GraphPlugin injects

IPluginRegistry into GraphDataService via DI.

All 16 entity types continue to appear in the graph via the legacy

fallback until external plugins implement IGraphDataProvider.

minor SDK

Add IGraphDataProvider capability interface and WikiLinkParser utility (v1.33.0)

SDK 1.32.0 → 1.33.0 | 7e630c06
Details

Introduces the IGraphDataProvider capability interface in PrivStack.Sdk that

allows plugins to contribute their own graph nodes, structural edges, content

fields for wiki-link parsing, and explicit cross-entity links. This decouples

the Graph plugin and BacklinkService from hard-coded knowledge of every entity

type — each plugin can now self-describe its graph contributions.

New SDK types: GraphContribution, GraphNodeContribution, GraphEdgeContribution,

ContentField, ExplicitLinkContribution, and ParsedLink.

WikiLinkParser consolidates the duplicated wiki-link regex patterns and content

extraction logic previously found in both GraphDataService and BacklinkService

into a single shared utility with ParseLinks(), ExtractContentFromEntity(), and

ExtractSnippet() methods.

minor UI Components

Extend UI.Adaptive graph models with unified types and physics settings (v1.32.0)

SDK 1.31.13 → 1.32.0 | cda5727c
Details

Add Tags, ModifiedAt, WikiLinkCount fields to GraphNode and Label to GraphEdge.

Port AdjacencyList, BFS, GetLocalGraph, and AssignBfsDepths from plugin GraphData

to the Adaptive GraphData model, enabling the Graph plugin to output Adaptive types

directly without conversion. Remove 5 vestigial PhysicsParameters fields

(RepulsionStrength, SpringStrength, CollisionStrength, VelocityDecay, MinSeparation)

that were marked unused. Add GraphPhysicsSettings composable ObservableObject that

maps 0-100 slider values to consumer-specific parameter ranges, and GraphPhysicsPanel

reusable control with 4 labeled sliders for both Graph plugin and InfoPanel consumers.

February 16, 2026
minor UI Components

Add context menus, element operations, and connector events to InfiniteCanvas (v1.31.0)

SDK 1.30.0 → 1.31.0 | 5b7b1c70
Details

Add right-click context menus for elements (Delete, Duplicate, Bring to Front, Send to Back,

Color submenu with 9 presets), connectors (Delete, Style submenu, Arrow submenu, Color submenu),

and empty canvas (Select All, Fit to View).

New public API: BringSelectedToFront, SendSelectedToBack, DuplicateSelected (deep-clone with

connector remapping), SetSelectedElementColor, GetSelectedConnector, GetSelectedElements.

New events: ConnectorSelected (fired on connector selection), ConnectorPropertyChanged (fired

after SetSelectedConnectorStyle/ArrowMode/Color calls). SelectionCleared now also fires when

connector selection is cleared.

Right-click routing added to OnPointerPressed before the left-button guard, dispatching to

hit-test-aware context menu builder in new InfiniteCanvasContextMenu.cs partial.

← Prev Page 14 of 22 Next →

Get notified about new releases