Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

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

Unify Tasks views: List (with sub-modes) | Board

Tasks 1.26.0 → 1.27.0 | 22e2e7dc
Details

Consolidate from 4 top-level views (List/Board/GTD/Calendar) to 2 main

views (List | Board). The List view now has sub-mode toggle tabs

(Flat/GTD/Calendar) that change the grouping in the left pane of a

split layout, with the detail panel always visible on the right.

ViewModel changes:

  • Add ListSubMode property ("flat"/"gtd"/"calendar") with computed

booleans IsFlatSubMode, IsGtdSubMode, IsCalendarSubMode

  • Redefine IsTimelineView/IsCalendarView as internal aliases that

combine IsListView with the appropriate sub-mode check

  • Remove IsTasksSidebarCollapsed, SidebarWidth, sidebar persistence
  • Add SetListSubModeCommand and OnListSubModeChanged handler

View restructure (~1000 lines deleted):

  • Replace 4-button view toggle with 2 buttons (List | Board)
  • Remove PluginSidebar entirely
  • Replace full-screen detail panel with split layout: task list pane

(left) + resize handle + TaskDetailPanel (right)

  • Move stats, New Task, Prioritize buttons into list pane header
  • Add sub-mode toggle bar (Flat | GTD | Calendar) below header
  • GTD and Calendar item templates moved into left pane, controlled

by sub-mode visibility

  • Delete standalone GTD Timeline View and Calendar Timeline View

sections (their content is now in the split layout)

Code-behind:

  • Remove sidebar wiring from constructor
  • Update GetResizeTargetBorder: add "list-detail", remove "gtd-detail"

and "calendar-detail"

Version: 1.26.0 → 1.27.0

patch Notes

Wiki sync: auto-push on save + delete from GitHub

Details
  • Add DeletePageFromRemoteAsync to WikiSyncService: deletes the file

from the local clone and commits/pushes the removal to GitHub

  • Wire into DeletePagePermanentlyAsync: when permanently deleting a

wiki page, remove it from GitHub first (non-fatal on failure)

  • Update confirmation dialog for wiki pages to mention GitHub removal
  • Auto-push wiki pages on save: after SaveCurrentPageAsync succeeds,

fire-and-forget PushPageAsync in background (non-fatal on failure)

  • Keep manual "Push to Wiki" button as fallback for failed auto-pushes
patch Tasks

Remove "Create Note from Task" feature — violates SDK boundary

Details

Tasks plugin must not be aware of Notes. The TaskToNoteService was

sending SDK messages directly to privstack.notes with hardcoded page

structure knowledge, and the context menus exposed "Create Note" items

in both the list view and detail panel.

Removed:

  • TaskToNoteService.cs (entire file)
  • ConvertToNoteAsync / ConvertToNoteByItemAsync relay commands
  • "Create Note" menu item from list view context menu (TasksView.axaml)
  • AI context menu from detail panel (TaskDetailPanel.axaml.cs)
  • TaskToNoteService field and multi-param SetAiService wiring

Preserved: all other AI features (description rewrite, title generation,

Q&A description builder) which operate within the Tasks plugin boundary.

patch Tasks

Fix PATCH endpoint wiping unspecified fields on task/project update

Details

The HandleUpdateTaskAsync and HandleUpdateProjectAsync handlers were

passing the partial PATCH body directly as the SdkAction.Update payload.

Since the SDK treats Update as a full replacement, sending e.g.

{"status":"done"} would wipe title, description, and all other fields.

Added MergeWithExistingAsync helper that reads the current entity,

overlays the PATCH fields on top, and sends the merged result. This

gives proper partial-update (PATCH) semantics to both /tasks/{id} and

/projects/{id} endpoints.

patch Tasks

Fix custom fields: delete, edit visibility, and detail panel display

Details
  • Settings overlay: add delete button (x) to each custom field row
  • Settings overlay: replace static List/Card badges with interactive

ToggleButtons that persist ShowInList/ShowInCard via UpdateAsync

  • Detail panel: add Custom Fields section between Notes and Linked Items,

showing name-value pairs bound to SelectedTaskCustomFields

  • ViewModel: parameterize DeleteFieldCommand to accept field directly,

add ToggleFieldVisibilityCommand with "list:{id}" / "card:{id}" format

← Prev Page 23 of 127 Next →

Get notified about new releases