Skip to content

v0.4.0

Latest

Choose a tag to compare

@shrippen shrippen released this 02 Sep 22:56
· 0 commits to main since this release

0.4.0 — 2026-09-03

Added

View modes

  • Swimlanes: lane × time matrix with configurable axes (Project, Label, Priority, Parent task × Day/Week/Month)
  • Project plan: project × time grid with configurable time bucket (Day/Week/Month), planning horizon (0–52), consolidated overdue column, undated tasks column, optional completed task display
  • Heatmap: day cells toggled by due date / completions
  • Calendar + tasks: event chips + tasks for selected day; Day/Week mode

Smart Views

  • Filter bug fixed: projectId parsed to 0 instead of -1 when key was missing → smart views showed no results
  • Smart views count correctly in sidebar badges (computed on load, not on click)
  • Dedicated "Smart Views" folder in sidebar (below Maintenance) with badge and navigation
  • Alphabetical sorting of smart views in sidebar and KCM
  • KCM Views: section order corrected — Smart Views above Kanban

KCM Views — Swimlanes

  • Row axis: Project / Label / Priority / Parent task
  • Column axis: Day / Week / Month

KCM Views — Project plan

  • Time grouping: Day / Week / Month
  • Planning horizon: 0–52 periods (0 = unlimited)
  • Show undated tasks (own column)
  • Show completed tasks (optional)

Merge conflict dialog

  • Wizard style: one field at a time, Kurrent/Akonadi columns, chip rendering
  • Overlay card (like FullEditor), D-Bus testMergeConflict for testing
  • Null guards, auto-resolve, stale echo guard

Other

  • Project chip in task delegate (visible when no project filter active)
  • Diagnostics KCM visible in dev builds only (DevBuildMarker.qml generated via CMake)
  • Auto-check allDay when date is entered without a time
  • Quick-add: full editor opens when button is clicked with empty text

Fixed

  • Smart View editor: replaced free-text fields with dropdowns (Project, Label, Status, Due, Priority)
  • upsertTask: reject revision-0 monitor updates when cache has a real revision
  • persistTodo: refetch before modify when revision is 0
  • configViews.qml: dialog content fills dialog space correctly (anchors.fill instead of Layout)
  • Sidebar: smart view counts precomputed (not only on click)
  • computeCounts: smart view badge count calculated correctly; matchesViewFilter delegates to smart rules

Changed

  • CalendarAgendaView: stable toolbar with fixed label width, icon-only Today button, animated Day/Week toggle
  • Chunked model application for smoother animations
  • Sidebar highlight animation, dimming removed
  • Calendar event integration (opaque/busy events)
  • Version 0.4.0 (CMakeLists.txt + metadata.json)

Tests

  • planMatrixGridOverdueConsolidationAndHorizon: overdue consolidation, horizon clipping, showCompleted, undated, day-bucket
  • smartViewFilterAppliesInComputeCounts: smart view rules affect sidebar counts
  • All 69 tests passing (100%)

Not yet manually tested

The following features are implemented and unit-tested but have not been manually verified in a live environment.

  • Swimlanes mode: matrix display, axis switching, touch interaction
  • Project plan: overdue column, horizon clipping, undated column, show completed toggle
  • Kanban DnD: card dragging between columns, field writes per source
  • Merge conflict dialog: wizard flow, DBus test, editor integration
  • Multi-select + bulk actions: complete/delete/reschedule/move/copy UIDs
  • KRunner: task today, task <search>, add task
  • Global shortcuts: Meta+Shift+K/N, D-Bus show/addTask
  • Offline/syncing banner: Akonadi offline (red), Syncing… (yellow)
  • KCM Swimlanes/Project plan: settings applied correctly and restored after restart
  • i18n: German strings for new swimlanes/plan options; fallback checks in de/es/fr/ja/zh_CN