Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 17 of 53 Next →
February 22, 2026
minor Finance

Add 5 capability interfaces to Finance plugin, bump to v1.2.0

Finance 1.1.0 → 1.2.0 | d9d5dced
Details

Implements the remaining high-priority capability interfaces for the Finance

plugin using the established partial class pattern:

  • IShareableBehavior: shares finance_account and finance_transaction entities

with title resolution from the repository

  • ICommandProvider: 3 command palette entries (Budget, Register, Reconciliation)
  • IIntentProvider: 3 AI intents — create transaction, check account balance,

and check budget category status with full slot validation

  • IReminderProvider: budget overallocation alerts on the 1st of each month

when To-Be-Budgeted goes negative

  • IQuickActionProvider: quick transaction entry overlay (Cmd+Shift+T) with

a new QuickTransactionForm programmatic control implementing IQuickActionForm

All 5 capabilities are registered in OnInitializeAsync. The QuickTransactionForm

follows the constructor-built pattern to avoid intermittent empty overlay issues.

Version bumped in both .csproj and PluginMetadata. CONTINUATION.md updated to

reflect completed work and remaining medium/lower priority items.

February 21, 2026
minor Habits

Fix Habits plugin compliance gaps and bump to v1.2.0

Habits 1.1.0 → 1.2.0 | 06e54e59
Details

Comprehensive audit and fix for full plugin compliance:

  • Add 5 missing capability registrations in OnInitializeAsync (IGraphDataProvider,

IIntentProvider, IIndexableContentProvider, IQuickActionProvider, ISeedDataProvider)

  • Fix GoalDetailPanel $parent binding crash: replace with Tag+Click handler pattern
  • Wire goal detail persistence: Status/Priority ComboBox SelectionChanged handlers,

Progress Slider PointerReleased handler, centralized PersistGoal()

  • Add reminder_time to habit entity schema indexed fields
  • Add async methods to all 4 services (UpdateAsync, DeleteAsync, CreateAsync)
  • Add seed progress logging to HabitsSeedService
  • Refresh DetailEntries after ToggleHabitCompletion and LogNumericValue
  • Version bump 1.1.0 → 1.2.0 (csproj + PluginMetadata synced)
minor Notes

Update Notes AI pipeline for nested blocks and column layouts

Notes 1.60.0 → 1.61.0 | 4d74a66f
Details

ExtractBlockText now recurses into PageBlock.Children and handles

ColumnLayoutBlock, with dedicated helpers for bullet, numbered, and

task list ChildBlocks extraction. InsertBlockRelative replaced with

InsertBlocksRelative which parses AI content through MarkdownBlockParser

to create structured blocks (lists, headings, code, etc.) instead of

plain paragraphs. CaptureBlockText uses ExtractBlockText for full

block-type coverage. Undo handler supports multi-block removal via

semicolon-separated inserted block IDs. Version bump to 1.61.0.

minor Notes

Add block nesting and column layouts to Notes editor

Notes 1.59.0 → 1.60.0 | bec10d80
Details

Introduces hierarchical block nesting via PageBlock.Children, enabling blocks to

own nested child blocks. This is the foundation for indentation, toggle sections,

and structured content like numbered lists with nested bullet lists or code blocks.

Model changes:

  • Added Children property to PageBlock for universal block nesting
  • Added ChildBlocks property to PageListItem and PageTaskItem for mixed-content

list items (e.g. a numbered item owning a code block)

  • Added ColumnLayoutBlock and PageColumn types for side-by-side column layouts
  • Updated PageBlockConverter to serialize/deserialize children and column_layout
  • Updated PageBlockContentConverter for ColumnLayout type support
  • Created BlockPath record for addressing blocks within nested trees
  • Created BlockTreeHelper with tree navigation utilities: FindBlockById,

GetBlockAtPath, GetParentList, FlattenTree, IndentBlock, OutdentBlock

Rendering:

  • BlockWrapper.axaml now renders nested children via recursive ItemsControl

with 24px left margin indentation per depth level

  • Added Depth styled property to BlockWrapper for depth-aware rendering
  • Added drop-as-child visual indicator (border glow when dropping on center)
  • Created ColumnLayoutEditor control with resizable columns, add/remove column

buttons, and per-column block rendering

  • Added ColumnLayoutBlock DataTemplate to NotesView.axaml

Editing operations:

  • Added NestBlockAsChild, IndentBlock, OutdentBlock to NotesViewModel
  • Tab/Shift+Tab keyboard shortcuts for indent/outdent in NotesView
  • Extended drag-drop to support three zones: drop-above (top 25%), drop-as-child

(center 50%), drop-below (bottom 25%)

  • Added column layout entries to block type picker (2 columns, 3 columns, 70/30)
  • Extended GetBlockText and TryDeleteEmptyBlock for ColumnLayoutBlock

All changes are backward compatible — existing documents without children

deserialize with empty lists. Version bumped to 1.60.0.

minor Notes

Add live cross-block drag selection to Notes editor

Notes 1.58.0 → 1.59.0 | 210d093d
Details

Implements Google Docs-like drag selection across block boundaries. When a user

clicks in one block and drags into another, text is selected continuously across

all blocks in between.

How it works:

  • RichTextEditor detects when a drag moves outside its vertical bounds and fires

DragSelectionEscaped (new event from UI.Adaptive 1.59.2)

  • NotesView registers tunnel PointerMoved/PointerReleased handlers on escape
  • The parent hit-tests blocks to find the current target, sets partial selection

on edge blocks and full selection on intermediate blocks

  • CrossBlockSelection now carries optional StartCharOffset/EndCharOffset for

partial text selection on the first/last block

  • GetCrossBlockSelectedText uses char offsets so Cmd+C copies only the

drag-selected portion, not full block text

The selection persists until dismissed (click, Escape, or typing), matching

existing Shift+Click and Cmd+A cross-block selection behavior.

Version bump: 1.58.0 → 1.59.0

← Prev Page 17 of 53 Next →

Get notified about new releases