Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 15 of 22 Next →
February 16, 2026
minor UI Components

Add 6 diagram shapes — Diamond, Parallelogram, Cylinder, Hexagon, RoundedRect, Triangle (v1.30.0)

SDK 1.29.0 → 1.30.0 | c1c57fdd
Details

Adds UML/flowchart diagram shapes to the InfiniteCanvas with StreamGeometry

vector rendering, 0.7 opacity fills, configurable stroke colors, and centered

text labels.

Diamond: 4-point rotated square for decision nodes (default #FFDCB4 warm peach).

Parallelogram: 20% inset skewed rectangle for I/O operations (default #B4D2FF).

Cylinder: Rectangle body with elliptical top/bottom caps (15% height) for

database symbols (default #C8DCF0 slate blue).

Hexagon: Flat-top 6-point polygon with 25% left/right inset for preparation

steps (default #DCC8F0 soft purple).

RoundedRect: Pill-shaped rectangle with radius = min(h/2, w/4) for terminal

nodes (default #B4E6C8 mint green).

Triangle: 3-point upward-pointing triangle (default #FFC8C8 soft red).

Each shape has shape-specific click-create default dimensions and integrates

with the existing drop shadow, selection, resize, and connector anchor systems.

Render dispatch added to the main element type switch in InfiniteCanvasRendering.

minor UI Components

Connector overhaul with smart routing, anchor visualization, and arrow modes (v1.29.0)

SDK 1.28.0 → 1.29.0 | 8c156fab
Details

Rewrites the InfiniteCanvas connector system with anchor-aware routing, visible

anchor points, configurable arrow directions, and connector selection support.

Connector rendering: Replace naive QuadraticBezier with anchor-aware CubicBezier

curves where control points extend outward from the anchor direction. Elbow

connectors now route orthogonally with perpendicular exit/entry margins and

at most two 90-degree turns instead of a simple midpoint split.

Arrow modes: New ArrowMode enum (Forward/None/Backward/Both) with direction-aware

arrow heads that correctly follow curved and elbow connector end tangents.

Connector color: Each connector can now specify a custom color, falling back to

the theme muted text brush.

Anchor visualization: Blue anchor dots (radius 5, hover radius 7) appear on all

element edges when the Connector tool is active, with hover tracking for visual

feedback during connector creation.

Connector selection: Click a connector in Select mode to highlight it with a

dashed overlay. Selected connectors can be deleted with Delete/Backspace.

Three new public methods (SetSelectedConnectorStyle, SetSelectedArrowMode,

SetSelectedConnectorColor) allow toolbar bindings to modify selected connectors.

Hit-testing: Style-aware connector hit tests dispatch to DistanceToLineSegment,

DistanceToElbowPath, or DistanceToCubicBezier based on connector style.

File splits: Extracted helpers to InfiniteCanvasHelpers.cs, tool-specific handlers

to InfiniteCanvasElementInteraction.cs, and anchor rendering to

InfiniteCanvasAnchorRendering.cs to stay within the 250-line modularity rule.

Model additions: ArrowMode enum, CanvasConnector.ArrowMode and Color properties,

6 new CanvasElementType constants (Diamond, Parallelogram, Cylinder, Hexagon,

RoundedRect, Triangle) and corresponding CanvasToolMode enum values as forward

declarations for the next commit.

Visual polish: 2px drop shadow offset on NoteCard, Rect, and Ellipse elements.

DefaultConnectorStyle, DefaultArrowMode, and DefaultConnectorColor StyledProperties

control defaults for newly created connectors.

February 15, 2026
minor Core

Adaptive sync throttling via server rate-limit discovery (v1.11.0)

Core 1.10.6 → 1.11.0 | 6b3a67d9
Details

Add RateLimitConfig type and get_rate_limits() API client method. On

startup the sync engine fetches the server's throttling config and uses

it to cap flush batches (25 entities/cycle) and insert inter-entity

delays (120ms). Overflow entities are re-queued for the next flush cycle.

This proactively prevents 429 rate limit errors during bulk syncs

instead of relying solely on reactive retry-with-backoff.

minor UI Components

Add entity reference support to InfiniteCanvas (v1.28.0)

SDK 1.27.0 → 1.28.0 | f86115d0
Details

Add cross-plugin entity reference drag-and-drop to the InfiniteCanvas

control. Introduces the privstack/entity-ref data format enabling any

plugin entity (tasks, contacts, events, etc.) to be dropped onto the

canvas as a reference card, then double-clicked to navigate back.

Changes:

  • CanvasModels: add EntityReference type constant, EntityType/EntityId

fields on CanvasElement (additive, backward-compatible JSON)

  • New EntityRefDropPayload model for drag format serialization
  • New EntityRefStyle record for per-type badge colors and display names
  • InfiniteCanvasControl: add EntityRefStyles styled property and

EntityReferenceClicked event alongside existing PageReferenceClicked

  • InfiniteCanvasDragDrop: accept entity-ref format in OnDragOver/OnDrop,

deserialize payload and create entity_ref element with badge color

  • InfiniteCanvasInteraction: handle entity-ref double-click navigation

before existing page-ref check

  • Split InfiniteCanvasRendering.cs (361 lines) into two partials:

InfiniteCanvasRendering.cs keeps Render(), grid, empty state, creation

preview, and perf badge; InfiniteCanvasElementRendering.cs gets all

element-specific Draw methods plus new DrawEntityReference (rounded

card with colored badge circle, title, subtitle)

  • New EntityDragHelper in UI.Adaptive/Helpers for plugins to create

entity-ref drag data without boilerplate

  • Version bump: PrivStackSdkVersion 1.27.0 → 1.28.0
minor Desktop Shell

Add browser extension companion infrastructure (v1.30.0)

Desktop 1.29.4 → 1.30.0 | 4223e02d
Details

Add IPC server using named pipes for secure local communication between the

desktop app and browser extensions via a native messaging bridge. Includes:

  • Named pipe IPC server (IpcServer, IpcConnectionHandler, IpcMessageRouter)

with length-prefixed JSON protocol and constant-time auth token validation

  • PrivStack.Bridge native messaging relay (C# AOT console app) that connects

browser extension stdin/stdout to desktop named pipe

  • NativeMessagingRegistrar for auto-registering host manifests on Chrome,

Firefox, Edge, and Brave across macOS, Windows, and Linux

  • BridgeAuthToken generation and storage in AppSettings
  • Graph plugin integration: WebClip node type with filter checkbox,

data loading in GraphDataService, and persisted visibility toggle

  • IPC message routing for clip.save, readlater, entity.search, snip.save,

transcribe.enqueue, history.batch_sync, and ping actions

  • Version bump: 1.29.4 → 1.30.0
← Prev Page 15 of 22 Next →

Get notified about new releases