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>
67 lines
5.4 KiB
Markdown
67 lines
5.4 KiB
Markdown
# 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-gantt` block: a project-grouped timeline of bars and milestones.
|
||
- **Dual-role fence** — a `gtd-gantt` block **with** a `project:` key is an *item declaration* (renders as an inline `gantt: <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`/`end` on 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 the `gtd` block.
|
||
- Chart options: `title`, `scope` (incl. `all`), `notebook`, `filter-project`, `sort`/`sort-type` (`begin-date`/`title`/`modified-date`), `card-detail`. No `notes`/`todos` option (items opt in via `project:`).
|
||
- 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/Child` title path, or 32-char folder id — even one outside the host note's tree. `scope` then 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 marked `scope: all`, and a soft ⚠ warning appears past ~2000 scanned notes. `notebook:` is ignored under `scope: all` (with a warning).
|
||
- Performance: view collectors now request note bodies only when the inclusion mode actually needs the `gtd` block, trimming data fetched for profile-wide scans.
|
||
|
||
## 0.5.0 — The Skeleton Matrix
|
||
|
||
- Added `mode: skeleton | eisenhower` to `gtd-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-window` days, default 3, overdue included; `urgent-tag` as a manual override for dateless items). Quadrants: **Do Next**, **Scheduled**, **On Deck**, **Backlog** — nothing is ever "Eliminate".
|
||
- Classic Eisenhower preserved via `mode: eisenhower`.
|
||
- `MatrixBoard` is 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-matrix` block: 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-todos` and `unscheduled-notes` options to `gtd-calendar` (default: `yes` for both; also accepts `true`/`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-kanban` block: three columns (Backlog / In Progress / Done) built from to-dos only.
|
||
- Bucketing: `todo_completed` wins → Done; else the `in-progress-tag` → In Progress; else → Backlog.
|
||
- Done column limited to a configurable `done-window` (default 7 days; `all` for full history).
|
||
- Per-column sort (`due-date` / `title` / `modified-date`); dateless cards sort last under `due-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 `recurring` tag 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](https://github.com/WeMakeMachines/joplin-plugin-event-calendar).
|
||
- `gtd-calendar` block 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) and `month-grid` (full current-month 7-column grid with weekday headers).
|
||
- Notes and to-dos opt in via a `gtd` fenced 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.
|