Single release covering two feature groups (CHANGELOG 0.7.0 + 0.6.0): - gtd-gantt block: project-grouped timeline of bars (notes with begin/end dates) and milestones (to-dos on their due date); dual-role fence, swimlanes, month tick header, today line, read-only. - notebook: targeting across all four view blocks; scope: all for profile-wide scans with size guardrails; note body fetched only when the inclusion mode actually needs the gtd block. jest 140/140. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.4 KiB
5.4 KiB
Changelog
All notable changes to GTD Calendar are documented here. Versions follow the plugin's manifest.json / package.json version, which also matches the published npm releases.
0.7.0 — Gantt chart
- New
gtd-ganttblock: a project-grouped timeline of bars and milestones. - Dual-role fence — a
gtd-ganttblock with aproject:key is an item declaration (renders as an inlinegantt: <project>badge); without one it's the chart. Same rule applied by the renderer and the collector. - Notes → bars (
begin-date+end-date; both required and valid,end≥begin, else excluded with a warning). To-dos → milestones (◆ on the native due date;begin/endon a to-do are ignored with a warning; no due date → excluded). No Unscheduled section. - Items grouped into swimlanes by
project:(case-insensitive, alphabetical); completed milestones dimmed/struck, recurring get ↻; styling keys (bg-colour/fg-colour/title/text) mirror thegtdblock. - Chart options:
title,scope(incl.all),notebook,filter-project,sort/sort-type(begin-date/title/modified-date),card-detail. Nonotes/todosoption (items opt in viaproject:). - Rendering: CSS-grid timeline with a month tick header, a "today" line, horizontal scroll for wide ranges, and click-to-open. Read-only.
0.6.0 — Notebook targeting & profile-wide scope
- Added
notebook:to every view block (gtd-calendar,gtd-kanban,gtd-matrix,gtd-gantt): root the folder scan at a specific notebook — by unique name,Parent/Childtitle path, or 32-char folder id — even one outside the host note's tree.scopethen applies relative to it. Unknown/ambiguous notebooks warn and fall back to the host note's folder. - Added
scope: all: scan every notebook in the profile. Guardrails — the stats footnote reports the scan size and is markedscope: all, and a soft ⚠ warning appears past ~2000 scanned notes.notebook:is ignored underscope: all(with a warning). - Performance: view collectors now request note bodies only when the inclusion mode actually needs the
gtdblock, trimming data fetched for profile-wide scans.
0.5.0 — The Skeleton Matrix
- Added
mode: skeleton | eisenhowertogtd-matrix(default:skeleton). - Skeleton mode replaces Eisenhower's opinion-based axes with derived ones: rows = active (
in-progress-tag, shared with the kanban), columns = due soon (urgent-windowdays, default 3, overdue included;urgent-tagas a manual override for dateless items). Quadrants: Do Next, Scheduled, On Deck, Backlog — nothing is ever "Eliminate". - Classic Eisenhower preserved via
mode: eisenhower. MatrixBoardis now positional internally (top-left…bottom-right); labels are supplied per mode, and rendering is fully shared between the two modes.
0.4.0 — Eisenhower Matrix
- New
gtd-matrixblock: a 2×2 prioritisation grid with labelled axes. - Quadrants from two tags (
urgent-tag,important-tag): Do First / Schedule / Delegate / Eliminate. - Completed to-dos excluded entirely (a prioritisation view, not a tracking view).
- Cards reuse the kanban's rendering (compact, recurrence mark, drilldown,
card-detail).
0.3.2 — Unscheduled visibility toggles
- Added
unscheduled-todosandunscheduled-notesoptions togtd-calendar(default:yesfor both; also acceptstrue/false,show/hide). - Lets a dashboard with multiple stacked calendar blocks show each Unscheduled sub-section under only one of them, instead of duplicating the list.
0.3.1 — Split Unscheduled section
- The Unscheduled area now shows two labelled sub-sections — Unscheduled to-dos (first) and Unscheduled notes — instead of one mixed list.
- A sub-section is omitted entirely when it has no items.
0.3.0 — Kanban board
- New
gtd-kanbanblock: three columns (Backlog / In Progress / Done) built from to-dos only. - Bucketing:
todo_completedwins → Done; else thein-progress-tag→ In Progress; else → Backlog. - Done column limited to a configurable
done-window(default 7 days;allfor full history). - Per-column sort (
due-date/title/modified-date); dateless cards sort last underdue-date. - Compact cards with a configurable detail panel (
card-detail: hover | always | none). - Read-only.
0.2.0 — Recurring to-do awareness
- Recurring to-dos (as managed by the Repeating To-Dos plugin, v2) are marked with a ↻ symbol across every view.
- Detected via the
recurringtag the Repeating To-Dos plugin maintains as its own query index — no coupling to its note-body format, no code duplication of its recurrence logic.
0.1.0 — Initial release
- Forked from WeMakeMachines/joplin-plugin-event-calendar.
gtd-calendarblock populated by real notes and to-dos (instead of hand-written YAML) in the calendar note's folder and, optionally, its descendants (scope).- Views:
day,week,month(compact tile strip, upstream-style) andmonth-grid(full current-month 7-column grid with weekday headers). - Notes and to-dos opt in via a
gtdfenced block (empty block valid); to-dos schedule automatically from their Joplin due date. - Unscheduled items (no resolvable date) collect below the grid.
- Drilldown: every tile opens its source note.
- Fixed an upstream bug where the week view silently grouped by month.