TaskNotes 4.12.0
[!info] TaskNotes v5 beta
TaskNotes v5 is available
as an opt-in beta alongside TaskNotes 4.12. TaskNotes 4.12 remains the
recommended stable release.The major change in v5 is support for portable TaskNotes collections. These
collections can be used in both Obsidian and the
TaskNotes app, which is also available in beta, so
the same tasks can be managed through either interface.TaskNotes collections are built on mdbase, a
Markdown-native collection format. mdbase Connect
provides the permissioned bridge that makes those collections available to the
TaskNotes app. Your tasks remain ordinary Markdown files in your vault; mdbase
adds a shared structure that compatible tools can understand.TaskNotes v5, mdbase Connect, and the TaskNotes app are all under active
development. Please use a backed-up vault, expect some rough edges, and
report any problems you encounter.
Security
- Calendar OAuth credentials and account tokens are now stored in Obsidian Secret Storage instead of TaskNotes'
data.json, with automatic migration for existing connections. See Calendar Integration.- Thanks to @mcuste for the contribution
- Updated bundled HTTP, address parsing, and schema validation dependencies to
versions containing their current security fixes.
Added
- Added portable task attachment references. Attachments now round-trip as an
orderedattachmentslink list in task frontmatter and are exposed through
the TaskNotes model and runtime API. These are collection-file references
only; attachment bytes and binary metadata remain owned by the host. - (#2142) MCP
tasknotes_create_taskandtasknotes_update_tasknow accept
customPropertiesfor configured TaskNotes user fields. Thanks to
@phillipadsmith for suggesting this. - (#2126, #2134) Added optional filename templates for materialized recurring
occurrence notes, with explicit date, ISO week, month, year, and month-name
variables plus per-parent overrides. Existing naming remains unchanged until a
template is configured. See Recurring Tasks.
Thanks to @raphaelfaouakhiri for reporting and implementing this. - (#2105) Added
{{projectFolder}}and{{projectFolders}}folder template
variables for storing tasks alongside linked project notes. See
Template Variables.
Thanks to @carypruitt for this contribution.
Changed
- Generated TaskNotes type contracts now include configured natural-language
capture triggers, allowing compatible clients to offer the same field
suggestions. - Rebuilt the TaskNotes documentation with
reorganized navigation, full-text search, mobile and accessibility
improvements, and references generated from the current commands, settings,
compatibility metadata, HTTP routes, and default Bases. Added practical
guides for adopting TaskNotes in an existing vault, mobile use, custom Bases,
and backup and recovery. See the
TaskNotes documentation. - (#2088) Convert current note to task now uses your default scheduled date when
the note does not already havescheduledfrontmatter, while the None
default still leaves converted notes unscheduled. See
Task Properties.
Thanks to @e-zz for suggesting this.
Fixed
- Plugin settings now recover when Obsidian briefly returns no data while
reloading an externally changed settings file, preventing a post-reload error
without overwriting the existing settings. - (#2194) Pomodoro task selection suggestions now keep rich task cards at the
menu width, preventing task titles from wrapping one letter per line. Thanks
to @Evilgenee for reporting this. - (#2196) Drag-to-reorder now works for Task List Bases embedded in Live Preview
notes, matching the behavior of directly opened Bases and Reading mode embeds.
Thanks to @jimbo108108 for reporting this. - (#2198) Agenda Bases can now show overdue scheduled or due tasks on today's
row withshowOverdueOnToday, and regenerated default Agenda files enable
that behavior by default. Thanks to @vicrdguez for reporting this. - (#2182) Checklist progress on task cards now excludes cancelled markdown
checklist items such as[-]from the completed/total count. Thanks to
@ctrl-q for reporting this. - (#2180) Inline task cards in Live Preview now keep their click and context menu
handlers active on Obsidian 1.13, so clicking a rendered task link opens the
edit modal instead of revealing the raw wikilink. Thanks to @npondel for the
detailed diagnosis and @minchinweb for confirming the issue. - (#2171) Stopped recurring
notification and status-bar scans from reading unindexed notes directly from
disk while preserving the fallback for direct task lookups. Thanks to
@tgrosinger for identifying and diagnosing the excessive vault reads. - (#2174) Open or create occurrence note from Quick Actions now uses the
recurring task's scheduled occurrence date, preventing duplicate occurrence
notes keyed to the day the action was run. Thanks to @chmac for reporting
this. - (#2169) Regenerated default Base views now include tasks whose identifying
property is stored as a list containing the configured task value. Thanks to
@GlebYavorski for reporting this. - (#2166) Fixed Task List views configured to start collapsed so the first
chevron click expands only the selected group instead of expanding every
other group. Thanks to @renatomen for reporting and fixing this. - (#2165) Convert current note to task now reads configured field mappings,
including list-valued title fields such asaliases, and preserves an
existing aliases list when the title is unchanged. Thanks to @jkuball for
reporting this. - (#2164) Flat Kanban boards now clear stale swimlane layout state when they
rerender, preventing columns from occasionally stacking into one vertical
strip after switching tabs. Thanks to @brienna for reporting this. - (#2160, #2161) Generated Kanban Bases now use the correct TaskNotes status
property and configuration block. Rich Bases status values render as their
configured labels, while pinned columns and saved column order are honored.
Thanks to @kevin-4c for the detailed reports and diagnosis. - (#2111, #2159) Recurring task instances now remain visible through the final
day of Calendar and Agenda ranges in positive-offset time zones, regardless
of the configured first day of the week. Thanks to @Arachnidai and @odxn0803
for reporting this. - (#2155) Regenerated default Calendar Bases now inherit the app-level time slot
duration instead of hardcoding 30 minutes. Existing per-Base time settings
remain intentional overrides. Thanks to @SZZ504232 for reporting this. - (#2154) Timed ICS events without a
TZIDnow preserve their floating wall
time in the user's local timezone instead of being interpreted as UTC. Thanks
to @cloesophia for the reproducible calendar sample. - (#2152) Fixed paginated Google Calendar refreshes for calendars with many
events so secondary calendars do not disappear after Google returns a second
page. Thanks to @wobafett for reporting and diagnosing this. - (#2141) Fixed Task List groups for tasks without scheduled or due dates showing
a raw Bases icon object instead of None. Thanks to @ks-studio-net for
reporting this. - (#2140) The edit task modal now shows saved task-identification tags when
hiding identification tags is disabled. Thanks to @3zra47 for reporting this. - (#2148) Empty list-like frontmatter values no longer become literal
"null"
entries when tasks are edited. Thanks to @minchinweb for reporting this. - (#2120, #2135) Long all-day event titles in Calendar week and day views now
truncate instead of stretching the all-day row. Thanks to @same774 and
@ks-studio-net for reporting this. - (#2124) Fixed a Kanban crash when opening or closing the edit modal immediately
after moving a task between list-valued swimlanes such as contexts. Thanks to
@Decia-C for reporting this. - (#2114) Completing a rescheduled occurrence for a scheduled-anchored recurring
task now advances the parent from the moved occurrence date instead of an
earlier original occurrence date. Thanks to @chrabia for reporting this. - (#2113) Failed Google Calendar manual refreshes no longer make the next
immediate refresh show a misleading success notice. Thanks to @JohWQ for
reporting this. - (#2109) TaskNotes no longer injects instant-conversion controls into embedded
or detached Markdown editors, preventing checkbox notes opened from unrelated
Bases from freezing Obsidian on mobile. Thanks to @jmartinmcfly for the clear
reproduction and recording. - (#2107, #2108) Creating tasks with Store title in filename enabled now
handles duplicate or case-variant titles without failing or replacing the task
title with a suffixed filename. Thanks to @AdmiralClackington for reporting and
diagnosing this. - (#2106) Regenerated default Calendar Base files now use your configured first
day of the week instead of forcing Sunday. Thanks to @atos2212-blip, @cweekly,
@idontcode34, and @hikatamika for reporting this. - (#2100) Tags added while creating a task now keep the same frontmatter order as
tags added later from the task context menu. Thanks to @mgrecar for reporting
this. - (#2092) New non-recurring tasks created directly in a completed status now get
a completed date, so completed-date views can find them immediately. Thanks
to @Crell for reporting this. - (#2096) Fixed TaskNotes Kanban swimlanes falling back to None when the
swimlane used a Bases formula that was not already cached by Bases. Thanks to
@ddevaal for reporting this. - (#2093) TaskNotes now retries custom Bases view registration when the Bases
core plugin is enabled after TaskNotes, preventing default views from showing
Unknown view type until TaskNotes is reloaded. Thanks to @yaye-work for
reporting this. - (#2084) The Relationships widget no longer prevents editor text selection from
autoscrolling when dragging below the bottom edge of a task note. Thanks to
@lostwildland for reporting this. - (#2081, #2103) Kept task card and relationships widgets visible in reading mode
when Obsidian scroll or preview updates remove their DOM, and refreshed visible
widgets promptly after metadata changes. Thanks to @mukhozhuk for reporting and
debugging this and @martin-forge for fixing it. - (#2064, #2066) Recurring tasks now advance correctly after their next
scheduled date is manually adjusted, preserving due-date offsets and times
without jumping back to an earlier occurrence. Thanks to @chmac for reporting
and fixing this. - (#2018) Fixed Hide empty columns in Kanban views with swimlanes so columns
with no visible tasks are hidden while pinned columns remain. Thanks to
@scottTomaszewski for reporting and fixing this. - Fixed recurring all-day ICS subscription events keeping the original end date
on later instances, which could cause calendar list views to show events under
the wrong day. Thanks to @abbiefalls90. - (#2033) Fixed the project folder badge on task cards so, when expandable
subtasks are enabled, it expands or collapses inline subtasks instead of
showing an unavailable-action notice. Thanks to @abbiefalls90 for the fix and
@scottkodai for the follow-up feedback. - (#2040, #2041) Stopped newly created tasks from filling the Google Calendar
retry queue when calendar export is disabled. Thanks to @chmac for reporting
and fixing this. - (#2046, #2051) The date and time picker now focuses the natural-language input
when it is enabled, making keyboard-driven quick actions ready for immediate
typing. Thanks to @DevOps-Toast for reporting this and @ther12k for fixing it. - (#2125, #2129) Materialized recurring occurrence notes now record the date
they were actually completed, while the parent recurring task continues to
track the occurrence date. Thanks to @raphaelfaouakhiri for reporting and
fixing this. - (#2173, #2175) Completion-anchored recurring tasks with materialized
occurrence notes now schedule the next occurrence from the day the occurrence
was actually completed. Thanks to @chmac for reporting and fixing this. - (#1982) Preserved the Task List's own scroll position during Bases refreshes so
long mobile lists do not jump back to the top after task updates. Thanks to
@3zra47 for the follow-up report. - (#1863) Microsoft Calendar event updates now accept opaque Exchange calendar
IDs instead of failing local validation before contacting Microsoft Graph.
Thanks to @fmacondray for reporting this and providing the follow-up stack
trace.