Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 43 of 127 Next →
February 24, 2026
minor Tasks

Add custom field definitions with entity-backed CustomFieldService

Tasks 1.21.0 → 1.22.0 | e8f7dd17
Details

Introduce global workspace-scoped custom fields that can be added to any task.

Field values are stored in the existing TaskItem.CustomFields dictionary using

a "cf_" key prefix to avoid collision with internal keys.

Key additions:

  • CustomFieldDefinition model with 13 field types (text, number, date,

single_select, multi_select, checkbox, url, email, phone, currency,

rating, person, formula)

  • CustomFieldValue record with type-safe accessors (GetString, GetNumber,

GetBool, GetStringList) and formatted display output

  • CustomFieldService with CRUD via SDK (entity type: task_custom_field),

in-memory cache, and field value read/write helpers

  • Entity schema for task_custom_field in TasksPlugin
  • ViewModel exposes CustomFieldDefinitions and SelectedTaskCustomFields
  • Version bump to 1.22.0
minor Tasks

Add custom status definitions with entity-backed StatusService

Tasks 1.20.0 → 1.21.0 | 87ecfd54
Details

Replace hardcoded task status strings with dynamic StatusDefinition entities

managed by a StatusService CRUD layer. Status definitions are stored via SDK

as "task_status" entities with name, key, color, icon, category, and sort order.

Eight default statuses are seeded on first use: todo, in_progress, done, waiting,

blocked, review, deferred, cancelled — each assigned to a semantic category

(not_started, active, done, cancelled).

Key changes:

  • StatusDefinition model with 4 category types and 8 built-in defaults
  • StatusService with in-memory cache, CRUD, and EnsureDefaultStatusesAsync
  • TaskItem.ResolvedStatus transient property drives StatusColor/DisplayStatus
  • Board column assignment uses category-based mapping via GetBoardColumnForStatus
  • Status filters and smart filters use category-based matching
  • Statistics (todo/active/done/cancelled counts) use StatusService lookups
  • Command palette and status display use StatusService.GetDisplayName
  • Removed CustomStatus property and CustomStatuses collection (superseded)
  • Version bump to 1.21.0
patch Tasks

Decompose TasksViewModel god object into partial classes

Details

Extract 4 partial classes from TasksViewModel.cs (5248 → 3277 lines):

  • TasksViewModel.Board.cs (326 lines): Kanban columns, drag-drop reordering, status movement
  • TasksViewModel.Filters.cs (485 lines): Filter/sort properties, ApplyFiltersAndSort, timeline groups
  • TasksViewModel.Timer.cs (947 lines): Multi-timer management, auto-save, crash recovery, ITimerBehavior
  • TasksViewModel.Projects.cs (353 lines): Project CRUD, assignment, statistics

Internal refactor only — no behavioral changes, no version bump.

patch Finance.TestRunner

Move test projects to tests/ directory, exclude from deploy pipeline

Details

Finance.Tests and Finance.TestRunner were at the repo root alongside

real plugins, causing the deploy workflow glob (PrivStack.Plugin.*/*)

to pick them up as deployable plugins. Moved both into tests/ and added

a safety guard in the workflow to skip *.Tests and *.TestRunner

directories. Updated ProjectReference and Compile Include paths to

reflect the new location.

patch Notes

Add content and tags slots to notes.create_note intent

Notes 1.62.1 → 1.62.2 | 72f1f998
Details

The notes.create_note intent previously only accepted a title, creating

empty pages. Duncan would tell users it couldn't add content to notes.

Now accepts:

  • content (Text, optional): parsed into paragraph blocks, with support

for # headings and - bullet lists via lightweight markdown parsing

  • tags (String, optional): comma-separated tags

After creating the page, if content is provided, it's converted to a

PageDocument via PageContentBuilder and saved with UpdatePageAsync.

This follows the same create-then-update pattern used by templates.

Bumps Notes plugin to 1.62.2.

← Prev Page 43 of 127 Next →

Get notified about new releases