Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 3 of 32 Next →
February 27, 2026
minor Data

Add data.generate_insights intent for AI-triggered dataset analysis

Data 1.20.6 → 1.21.0 | 83ccc5bd
Details

Expose the existing insights generator pipeline as an intent so Duncan

can trigger exploratory data analysis when users ask to analyze, report

on, or generate insights from an embedded dataset. The intent fetches

sample data, pushes a loading suggestion card, and sends the

DatasetInsightRequestMessage to the shell's DatasetInsightOrchestrator

— the same pipeline used by the UI "Generate Insights" button.

Bump Data plugin version to 1.21.0.

minor Notes

Notes: multi-image gallery for image blocks

Notes 1.63.0 → 1.64.0 | e0cd4248
Details

Replace the single-image ImageBlockEditor with a multi-image gallery

matching the Journal's photo section pattern. Key changes:

  • Add ImagePhoto record, ImagePhotoLayout enum, extend ImageBlock with

Photos list and PhotoLayout property (backward-compatible — legacy

single-image blocks auto-migrate on load)

  • New ImageLayoutBuilder: smart grid layouts (hero top/left/right, 2x2,

rows-of-3) with hover lift animation, rounded corners, and shadow

  • New ImageLightbox: full-screen overlay with zoom (wheel, 0.5x–5x),

pan (drag when zoomed), navigation arrows, counter, double-tap reset

  • Rewrite ImageBlockEditor: drop zone for empty state, multi-select

file picker, drag-to-reorder between cells, per-image remove button

on hover, layout picker for 3+ photos

  • Add lightbox state and commands to NotesViewModel
  • Update Markdown/PDF/DOCX export services to handle multi-image blocks
  • Bump version to 1.64.0
February 25, 2026
minor Notes

Notes block editor overhaul: GroupBlock, multi-select, drag-to-split, list sub-blocks

Notes 1.62.3 → 1.63.0 | 221c748a
Details

Phase 1 - Fix UTI drag error: Replace bare "PageBlock" drag format key with

reverse-DNS "com.privstack.pageblock" constant to fix macOS UTI validation error.

Phase 2 - Fix child block alignment: Remove 24px left indent from ChildBlocksHost

so nested block text aligns with parent title text.

Phase 3 - GroupBlock: New container block type for organizing related blocks.

Includes GroupBlock model with label/collapse/children, serialization support,

GroupBlockEditor control with collapse toggle and add-block button, picker entry.

Phase 4 - Multi-select: Shift+Click range select, Cmd+Click toggle select.

MultiBlockSelection model tracks selected indices with anchor. Context menu

shows Group Selected / Delete Selected / Move Up / Move Down when multi-selected.

Phase 5 - Drag-to-split columns: Center-zone drop creates ColumnLayoutBlock

with both blocks side-by-side (50/50). Tables/TOC refuse split and fall back

to reorder. BlockTemplateFactory extracts shared block DataTemplates used by

ColumnLayoutEditor, GroupBlockEditor (replaces limited Paragraph/Heading-only

inline templates with full block type support).

Phase 6 - List sub-blocks: BulletListEditor, NumberedListEditor, TaskListEditor

now render PageListItem.ChildBlocks via BlockTemplateFactory. BlockTreeHelper

CollectBlockText extended to traverse list item ChildBlocks for word count.

Version: 1.62.3 → 1.63.0

minor Files

Files plugin: batch trash with suppressed notifications

Files 1.10.5 → 1.11.0 | a2d12101
Details

FilesViewModel.TrashFilesAsync now calls the new FileService.TrashFilesAsync

batch method which sets SuppressChangeNotification on each SDK message and

sends a single summary EntitySyncedMessage after all files are trashed.

Combined with the RagIndexService batch-coalescing debounce in PrivStack-IO,

this reduces bulk trash of N files from N×14 provider sweeps to 1 sweep.

Version bump: 1.10.5 → 1.11.0

minor Journal

Journal: photo drag reorder, hero layout picker, visible drop shadow (v1.15.0)

Journal 1.14.4 → 1.15.0 | 97f07e50
Details

Photos in the editor can now be dragged to reorder — drag a photo onto another to swap positions, changing which image is the hero. Added a layout picker (Hero Top / Hero Left / Hero Right) that appears below photos when 3+ are present. Hero Left/Right places the first photo as a tall column on the specified side with remaining photos stacked on the opposite side.

Replaced the PhotoLayout enum values (FullWidth/TwoColumn/ThreeColumn) with HeroTop/HeroLeft/HeroRight. HeroTop is the default (value 0) and matches the previous behavior, so existing entries are backward compatible.

Increased the resting drop shadow on photo cells from barely-visible (#15) to a proper subtle shadow (#18 + #10 dual layer) so photos have depth even before hover.

← Prev Page 3 of 32 Next →

Get notified about new releases