Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

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

Add Settings menu with modal overlays to Finance plugin (3.5.0)

Finance 3.4.0 → 3.5.0 | 9792037e
Details

Replace dedicated nav buttons for Accounts, Reconciliation, and Summary

with a Settings MenuFlyout dropdown. Move category management from an

inline overlay in BudgetDashboardView to a standalone CategoryManagementView

hosted in FinanceView's modal overlay alongside the other admin views.

Uses the new shared ModalOverlay control from PrivStack.UI.Adaptive

(extracted in SDK 1.61.0) instead of duplicating overlay boilerplate.

BudgetDashboardViewModel simplified to 2-param constructor with a

RequestOpenCategoryManagement callback for the toolbar button. The

FinanceViewModel owns all settings modal state and refreshes budget

data on close.

minor Finance

Replace CategoryManagementView with modal overlay in BudgetDashboardView

Finance 3.3.2 → 3.4.0 | 149ead32
Details

The full-screen CategoryManagementView crashed with Unable to resolve type

vm:CategoryManagementViewModel. Rather than debugging the XAML resolution,

replaced it with a modal overlay dialog inside BudgetDashboardView, matching

the existing Transfer Dialog overlay pattern.

Changes:

  • Delete CategoryManagementView.axaml and code-behind
  • Add category management overlay to BudgetDashboardView with full CRUD:

add group, add category, rename group, edit category settings (rollover,

goal type, target amount), save/hide/reorder actions

  • Move CategoryManagementViewModel ownership from FinanceViewModel to

BudgetDashboardViewModel

  • Add "Manage Categories" button to budget toolbar
  • Remove "Categories" nav button from FinanceView
  • Update command palette entry to open budget view then show overlay
  • Bump version 3.3.2 -> 3.4.0
minor Finance

Replace {x:Type} DataTemplate view switching with direct View instantiation

Finance 3.2.3 → 3.3.0 | 4670af1e
Details

The {x:Type vm:CategoryManagementViewModel} markup extension in FinanceView's

DataTemplates triggers XamlTypeResolver.Resolve() at runtime, which cannot

resolve types loaded via a custom AssemblyLoadContext (plugin isolation).

This is the actual root cause of the CategoryManagementView crash — not the

bindings inside CategoryManagementView itself.

Fix: Remove all {x:Type} DataTemplates from FinanceView.axaml entirely.

Instead, each GoTo*Command now sets CurrentView to a new View instance with

DataContext set to the corresponding ViewModel. This is the same pattern

used by every other multi-view plugin and completely avoids XAML runtime

type resolution.

Finance v3.3.0.

minor Finance

Fix Finance plugin UI rendering and runtime crashes (v3.2.0)

Finance 3.1.1 → 3.2.0 | c61632f8
Details

Fixed critical runtime crash on Reconcile tab where CalendarDatePicker

bound to DateOnly instead of DateTimeOffset, causing InvalidCastException.

Fixed Reports tab where all four report panels were invisible due to

ObjectConverters.Equal comparing boxed int to string ConverterParameter.

Replaced with boolean properties for reliable visibility toggling.

Added account type selector (Checking, Savings, CreditCard, Cash, Asset,

Liability) to the Accounts creation form — previously all accounts

silently defaulted to Checking. Added auto-creation of default budget,

4 category groups (Essentials, Lifestyle, Savings & Goals, Debt Payments),

and 15 starter categories on first navigation when no budget exists.

Also creates Income and Expense internal accounts for double-entry.

Improved Register tab with column headers (Date, Payee, Amount, Status,

Category), category selector in the add-transaction form, and actual

category name resolution instead of truncated GUIDs. Added empty state

messages across all tabs guiding users on what to do when no data exists.

Fixed Summary tab using raw SystemAccentColor instead of proper brush

resource, and replaced hardcoded white foreground with theme-aware

DynamicResource for dark mode compatibility.

minor Finance

Account hierarchy, CRDT conflict resolution, performance optimization, AI financial insights, quick budget entry (v3.1.0)

Finance 3.0.0 → 3.1.0 | 96558a4a
Details

Five major features for the Finance plugin:

1. Chart of Accounts Hierarchy — AccountHierarchyService with tree operations

(children, descendants, ancestors, roots, depth), cycle/orphan/depth validation,

aggregate balance across subtrees, and tree building with orphan safety.

2. CRDT Conflict Resolution Integration — ConflictAwareRepository wrapping

FinanceRepository with baseline tracking and automatic merge dispatch.

Added ResolveCategoryGroup (sticky Hidden, name LWW) and

ResolveReconciliationCheckpoint (sticky reconciliation, conservative balance).

EntityCache enhanced with per-entity GetSingle/SetSingle and prefix invalidation.

3. Performance Optimization — BalanceSnapshotService for pre-computed per-account

per-month balance snapshots with 5min TTL caching. ReconciliationService

subset-sum algorithm replaced with bottom-up DP (O(n*target) vs exponential

backtracking).

4. AI Financial Insight Intents — 6 new intents: monthly summary, spending

breakdown with trends, budget health with overspent/underfunded flagging,

multi-month financial trends with direction indicators, account overview with

net worth, and smart receipt categorization with 100+ merchant keyword patterns

across 9 categories. Enriched IndexableContent with monthly transaction

summaries and budget status for RAG context.

5. Enhanced Quick Actions — QuickBudgetEntryForm (Cmd+Shift+B) for logging

income/expenses with category selection from any interface. New command palette

entries for "Record a Purchase" and "Record Income".

128 tests total (63 new), all passing. Version 3.0.0 → 3.1.0.

← Prev Page 11 of 32 Next →

Get notified about new releases