mdbase.yaml content is static and doesn't depend on settings, so
regenerating it on every settings change would clobber any user
customisations (extra excludes, description changes, etc.). Now
only _types/task.md is regenerated; mdbase.yaml is created once
and left alone thereafter.
Expose which status values count as completed in the mdbase spec,
allowing external tools to determine task completion without
hardcoding status names.
Add a "Create external calendar event" option to the calendar view's date
selection context menu. When a user clicks or drags to select a time slot
and has connected Google/Microsoft calendars, they can now create events
directly on those calendars via a new CalendarEventCreationModal.
Add a new configurable setting that resets all checked markdown
checkboxes in a recurring task's body when it is completed and
rescheduled to its next occurrence.
- Add `resetCheckboxesOnRecurrence` setting (default: false)
- Implement checkbox reset in toggleRecurringTaskComplete()
- Add toggle in Settings > Features > Recurring Tasks
- Add i18n translations for all supported languages
Task cards threw a DOMTokenList error when status values contained spaces
(e.g., "In Progress") because classList.add() doesn't accept tokens with
whitespace characters.
Added sanitizeForCssClass() helper that replaces non-alphanumeric characters
with hyphens and lowercases the string. Applied to both status and priority
CSS class construction in updateCardCompletionState().
Also includes a minor fix to use getUTC* methods in generateRecurringInstances()
for consistent timezone handling.
When Google Calendar OAuth refresh token expires or is revoked, the
previous error handling threw generic "Request failed, status 400"
messages without helping users understand or fix the issue.
Changes:
- Add TokenRefreshError class for irrecoverable OAuth errors
- Detect invalid_grant/invalid_client errors in refreshToken()
- Auto-disconnect OAuth connection on irrecoverable errors
- Show actionable notice: "connection expired. Please reconnect..."
- Prevent repeated failed refresh attempts by clearing connection
This fixes the confusing error message users saw when their Google
Calendar sync stopped working after hours or days, which often happens
when the Google Cloud project is in Testing mode (7-day token expiry).
New doc page covering the standalone mtn CLI: installation, setup with
existing vaults, NLP task creation, querying, time tracking, and a
comparison table explaining when to use mtn vs tasknotes-cli.
Also adds release note entry for the new tool.
Split recurring tasks and reminders content into dedicated pages,
condense existing guides for clarity, and update all documentation
screenshots. Refactor e2e screenshot tests with shared openView()
helper and retry support. Refine MdbaseSpec field types (enum,
datetime, link) and replace MCPService @ts-expect-error workarounds
with bound tool pattern.