Releases: callumalpass/tasknotes
4.5.3
TaskNotes 4.5.3
Fixed
- (#1834, #1847) Fixed empty Bases formula and custom properties showing
nullorundefinedon TaskNotes task cards.- A big thanks to @Glint-Eye and @3zra47 for reporting.
- (#1836) Fixed TaskNotes Bases views not refreshing task cards after status, archive, and auto-archive updates.
- A big thanks to @kmaustral for reporting.
4.5.2
TaskNotes 4.5.2
Added
- (#1342, #1793) Added native tag autocomplete to time entry descriptions by using the embedded markdown editor in the time entry editor modal.
- Thanks to @fastrick for the request and @renatomen for the PR.
- (#1756, #1798) Added HTTP API support for configured custom user fields so task responses include them and create/update requests can round-trip their values.
- Thanks to @Treygec for the request and PR.
- (#1777) Added a Modal Fields setting to choose whether Tab/Shift+Tab move focus out of the task details editor or use the markdown editor's indentation behavior.
- Thanks to @P-Sc for the PR.
Changed
- Updated the Obsidian API dependency to 1.12.3 and switched the Bases integration to the official API type declarations.
- Bases task cards and property-event cards now render metadata values through Obsidian's native Bases value renderer so links, dates, lists, icons, and formula values display more faithfully.
Fixed
- (#1778) Fixed MCP initialize requests using newer protocol versions such as
2025-11-25failing instead of negotiating down to TaskNotes' supported MCP version.- Thanks to @SakulaPor for reporting.
- (#1781) Fixed duplicate metadata properties on Bases task cards when bare and
note.-prefixed property IDs map to the same TaskNotes field.- Thanks to @loukandr for reporting and tracing the issue.
- (#1787) Removed the "(click to change)" helper text from recurrence tooltips on task cards.
- Thanks to @kazerniel for reporting.
- (#1828) Fixed subtask creation from a task card dropping the parent task project when natural-language input also adds projects.
- Thanks to @prepare4robots for reporting.
- (#1786) Fixed TaskNotes task cards and relationships/subtasks widgets appearing inside embedded task-note heading or block sections.
- Skips note-level widget injection in detached or embedded Markdown editor contexts used by plugins such as Block Link Plus.
- Thanks to @3zra47 for reporting.
- (#1815) Fixed the Priority property settings so the NLP trigger character field is visible and editable even when priority NLP parsing is disabled.
- Thanks to @spiv for reporting.
- (#1035) Fixed the task modal title field causing the modal to jump to the bottom when focused on iPhone.
- Thanks to @3zra47 for reporting and following up.
- (#1045) Fixed inline linked recurring tasks keeping the previous day's completed state after the calendar day changes.
- Thanks to @3zra47 for reporting and following up.
- (#1788) Fixed Task List subgroup headers and cards rendering without clear indentation.
- Thanks to @renatomen for the PR.
- (#1810) Updated Japanese Kanban terminology to use the more natural katakana spelling.
- Thanks to @sigma7863 for the PR.
- (#1633) Fixed Bases task cards using fallback labels instead of Bases display names for mapped task fields and file properties.
- Thanks to @Sarryaz for reporting the Bases task card i18n and field-mapping issue.
- (#884) Fixed untranslated strings and English placeholder examples across non-English interface translations.
- Thanks to @berzernberg for reporting Russian translation gaps.
- (#1765, #1769) Fixed auto-archived tasks leaving stale Google Calendar events when cleanup runs before calendar sync is ready or after the task moves into the archive folder.
- Thanks to @martin-forge for reporting and the PR.
- (#1764) Fixed Google Calendar sync using stale task metadata after rapid task updates, and fixed late recurring completions/skips recording the completion day instead of the scheduled occurrence date.
- Thanks to @martin-forge for the PR and to @jpmoo for reporting the recurring completion issues.
- (#1782) Fixed CI test runs resolving the NLP parser package from a local sibling checkout instead of the published dependency.
- Thanks to @martin-forge for reporting.
- Published
mdbase-tasknotes0.1.3 with compatibility fixes for TaskNotes-generated mdbase schemas.- Includes clearer create-path diagnostics, natural-language
mtn list --duefilters, timer log datetime filters, home-directory path expansion, project wikilink preservation, and correctmtn --versionreporting. - Thanks to @tparsons9, @anomatomato, @npondel, @plashal, and @waspeer for the reports and PR.
- Includes clearer create-path diagnostics, natural-language
- (#1667) Fixed NLP scheduled-date parsing so standalone
scheduledandstarttriggers can set scheduled dates alongside due dates.- Thanks to @hokfujow for reporting and @UniqueClone for the NLP core PR.
- Fixed NLP parser title cleanup for explicit date triggers and Japanese/Chinese priority phrases.
- (#1658) Fixed Pomodoro stats date bucketing for sessions near local midnight.
- Pomodoro session stats now compare the recorded session calendar date against UTC-anchored target days without shifting through UTC or the reader's current timezone.
- Pomodoro daily-note storage now writes sessions to the daily note matching the recorded session date.
- Thanks to @ewgdg for reporting, @AntonIlinykh and @dkchacha for follow-up discussion, and @ITblacksheep for PR #1758.
- (#1813) Fixed Pomodoro timer UI stalls caused by refreshing session statistics on every timer tick.
- Pomodoro stats now refresh on initial render and session completion instead of once per second.
- Pomodoro daily-note stats now read the relevant date/range instead of routing through all history.
- Native Pomodoro notifications now respect the notification setting and granted permission before showing.
- Thanks to @Szu-Szu for reporting and @its-thex for confirming.
- (#1744) Fixed Bases Task List views so changing the per-view
Expanded relationshipsoption takes effect on re-render.- Restores the expected
show-allbehavior for setups that hide subtasks at the top level withnote.projects.isEmpty(). - Thanks to @minol-dev for reporting, @Glint-Eye for follow-up discussion, and @stanley-910 for PR #1792 exploring the related standalone-subtask workflow.
- Restores the expected
- Fixed tag clicks in task cards opening the task edit modal in addition to the tag search panel, and kept rendered tag metadata on a single row inside task cards.
4.5.1
TaskNotes 4.5.1
Fixed
4.5.0
Fixed
- (#1652) Fixed API, MCP, and NLP task creation so it respects your configured filename format when title storage in filenames is disabled
- Thanks to @36mimu36 for reporting, and @rafavital and @warm-july for follow-up discussion and reports
- (#1601, #1709) Fixed reading-mode relationship widgets sometimes rendering multiple times during startup
- Applied the same protection to task cards so overlapping refreshes are coalesced there too
- Thanks to @wealthychef1 and @CarlJohnson99 for reporting, and @benmartinek for confirming the behavior
- (#1713) Fixed ICS export so date-only scheduled tasks are written as all-day events instead of midnight events
- Thanks to @bepolymathe for the request and interoperability details
- (#267, #948, #1682, #1717, #1725) Fixed expanded subtasks and dependency cards in Bases Task List and Kanban views so related items can inherit the current view's filters instead of always showing every linked task
- Added a per-view "Expanded relationships" option so you can switch between inherited filters and showing all related tasks
- Thanks to @mdbraber, @GardarikanetS, @Glint-Eye, @prepare4robots, and @robmcphers0n for the original reports and feature requests, and @marblebyte for follow-up discussion
- Improved custom view and search-pane activation when reopening deferred tabs
- (#1720) Fixed Bases Task List cards showing icon tokens such as
clockinstead of readable date-like values, and fixed property labels to use Bases display names instead of raw property IDs- Thanks to @Sirnii for reporting
- (#1633) Fixed interactive task-card labels and ribbon labels so Bases-backed cards use translations and configured display names instead of hardcoded English or raw property IDs
- Thanks to @Sarryaz for reporting
- (#1651) Fixed date
isquery filtering so date-only searches also match timedscheduledandduevalues during prefiltering- Thanks to @36mimu36 for reporting
- (#1644) Fixed generated default task views so recurring tasks without a
complete_instancesproperty still appear as incomplete where appropriate- Thanks to @bkennedy-improving for reporting, and @SandroK for follow-up discussion on related default-view behavior
- (#1513, #1686) Fixed a calendar issue where creating or editing events and timeblocks could reset the visible date back to today
- Fixed documentation deployment CI failures caused by
docs-builder/src/js/main.jsbeing excluded by a broad.gitignorerule - Reduced background calendar-sync overhead when persisting sync tokens
- Prevented duplicate auto-stop time-tracking listeners from accumulating after settings reloads
- Fixed a settings-lifecycle issue that could accumulate calendar update callbacks while the Integrations tab is repeatedly opened
- (#1630) Fixed TaskNote inline task cards ignoring centered "Readable line length" layout in the Minimal theme
- Thanks to @martin-forge for reporting
- Fixed a broken docs cross-reference from Property Types Reference to Task Properties settings
- Fixed docs site links so internal Markdown links resolve to app routes instead of broken
.mdpaths - Fixed docs release-note links by building Markdown pages even when they are not listed directly in the sidebar
Added
- (#1704) Added an option to widen the current day column in multi-day calendar time-grid views
- You can control the width multiplier and choose whether it applies to week view, custom multi-day view, or both
- Thanks to @dictionarymouse for the feature request
- Added TaskNotes Obsidian CLI commands for task creation, time tracking, and Pomodoro control
- Includes shared NLP-to-task conversion across the CLI, modal, and API capture flows, plus new user documentation for the built-in CLI commands
- (#1716) Added roomier subtask and dependency cards inside the task modal while keeping the task options menu available
- Thanks to @hokfujow for the feature request
- (#1619, #386, #621) Added drag-to-reorder for Kanban and Task List views
- Supports grouped Task List moves, manual ordering via the
tasknotes_manual_orderproperty, and improved drag/drop behavior for swimlanes, filtered views, and interactive task controls - To use it, sort the view by the Manual Order field (
tasknotes_manual_orderby default), or regenerate the built-in.basetemplates from Settings → TaskNotes → General → Create Default Files - Thanks to @ac8318740 for the original contribution in PR #1619, @iholston and @dsebastien for opening #386 and #621, and @mdbraber, @elvarb, @LucidToday, @craziedde, @kmaustral, @SKIERZZ, @sookochoff, and @kanzaki1201 for follow-up discussion and testing across the linked issues and PR
- Supports grouped Task List moves, manual ordering via the
- Added a standalone TaskNotes Specification repo and docs section covering the data model, field mapping, recurrence behavior, validation rules, and conformance tests
- Added tasknotes-tui, a terminal UI for working with TaskNotes vaults
- Includes keyboard-driven views, date navigation, time tracking, recurring task support, and a command palette
Changed
- Refactored several internal modules to reduce coupling and make maintenance safer
- Updated generated
_types/task.mdoutput sodateCreatedanddateModifiedinclude generated timestamp values, andrecurrence_anchordefaults toscheduled - Cleaned up API, webhook, NLP, privacy, settings, and view documentation for clarity and accuracy
- Expanded Task List and Kanban documentation for drag-to-reorder, including manual-order sorting, grouped and swimlane scope, and filtered-view limitations
4.4.0
TaskNotes 4.4.0
Added
- Mdbase type generation now includes
tn_roleannotations so external tools can identify each field's role even when frontmatter names are customized - (#1618) Mdbase type matching now follows your task identification settings (tag or frontmatter property), with fallback to tag matching when needed
- Thanks to @jimbo108108 for reporting
- Mdbase type status fields now include
tn_completed_valuesso external tools can reliably identify which status values count as completed
- (#1576) Added an optional
Checklist Progresstask-card property that renders a compact progress bar andcompleted/totalcount from top-level markdown checkboxes- Uses metadata cache list items and excludes nested checklist entries so progress reflects top-level task steps
- In Bases views, map
tasks(file.tasks) toChecklist Progress - Existing
.basefiles needfile.tasksadded to the vieworderYAML manually - Newly generated
.basetemplates now includefile.tasksin vieworderby default - Thanks to @phortx for opening #1576 and for the earlier implementation PR, and @piyushaswani55 for feedback in the issue discussion
Changed
- Mdbase type generation no longer overwrites
mdbase.yamlif the file already exists, preserving user customisations - Webhooks now fire consistently regardless of whether updates come from the UI, HTTP API, or MCP
- Webhook runtime state now syncs automatically when plugin settings change
- Shared HTTP response/body parsing utilities are now consolidated in a dedicated
httpUtilsmodule - Release notes now include a reminder on every release page that default generated
.basetemplate changes never overwrite existing user.basefiles, and that users can regenerate templates from Settings to pick up updates
Fixed
- (#1608) Fixed task title frontmatter being removed when
storeTitleInFilenameis enabledtitleis now retained in frontmatter while filename derivation from title remains unchanged- Thanks to @victoraraujo105 for the PR
- (#1602) Fixed time tracking statistics showing incorrect or zero values for Today/Week/Month due to UTC-anchored date range boundaries in Stats View
- Updated range calculations to use local calendar-day boundaries consistently
- (#1602) Fixed inconsistent
timeEntriestimestamp formats across create/edit/drag/resize flows- Time entry timestamps are now written in canonical UTC ISO format (
toISOString()withZ) across all write paths
- Time entry timestamps are now written in canonical UTC ISO format (
- (#1602) Fixed denormalized
timeEntries.durationdrift after edits
4.3.3
TaskNotes 4.3.3
Changed
-
Published
mdbase-tasknotes(mtn), a standalone CLI for managing tasks in markdown files via mdbase- Works on the same vault and
_types/task.mdschema that TaskNotes generates, without requiring the plugin or HTTP API - Preferable over tasknotes-cli as a lighter-weight alternative and when Obsidian is not running, on remote machines, or in scripts and CI environments
- Supports natural language task creation, time tracking, project aggregation, statistics, and an interactive REPL
- Works on the same vault and
-
Extracted shared natural language parsing logic into the standalone npm package
tasknotes-nlp-core- The NLP parser and related language configuration are now shared through this package
- This keeps behavior consistent between the plugin and CLI tools
Added
-
(#1549) Added setting to reset markdown checkboxes when recurring tasks are completed
- When enabled, all checked checkboxes (
- [x]) in the task body are reset to unchecked when a recurring task instance is completed and rescheduled - Useful for recurring tasks with subtask checklists that need to be repeated each instance
- Configurable via Settings > Features > Recurring Tasks > "Reset checkboxes on recurrence"
- Thanks to @phortx for the feature request
- When enabled, all checked checkboxes (
-
(#1548) Added ability to create calendar events on connected external calendars directly from the calendar view
- When clicking or dragging to select a time slot, a new "Create calendar event" option appears in the context menu
- Opens a modal to enter event title, description, location, and select which calendar to create on
- Supports both Google Calendar and Microsoft Calendar providers
- Thanks to @Robubble for the feature request
-
(#1597) Added MCP server for AI agent integration
- Exposes TaskNotes tools at
/mcpendpoint, gated behindenableMCPsetting - Supports tasks (CRUD, query, toggle status/archive, parse from text), time tracking, pomodoro, calendar events, and task statistics
- Thanks to @dstotijn for the contribution
- Exposes TaskNotes tools at
Fixed
-
Fixed generated mdbase type definitions for task dependencies using the wrong field type
- In
_types/task.md,blockedBy[].uidnow usestype: link(wastype: string) - Better matches how dependency links are serialized in task frontmatter (
[[...]])
- In
-
Fixed generated mdbase reminder type definitions to better match TaskNotes reminder data
- In
_types/task.md,reminders[].typenow uses enum valuesabsolute|relative reminders[].relatedTonow uses enum valuesdue|scheduledreminders[].absoluteTimenow usestype: datetime(wastype: string)
- In
-
(#1597) Fixed webhook payloads for time tracking start-with-description containing stale data
- Thanks to @dstotijn for the fix
-
(#1581) Fixed Pomodoro starting break instead of work session after app restart
- After completing a work session and restarting, pressing Start would incorrectly start a break
- Now properly resets
nextSessionTypewhen clearing stale sessions or stopping the timer - Thanks to @Sirnii for the detailed bug report and root cause analysis
-
(#1577) Fixed Edit Note/Task modal hiding action buttons when content exceeds viewport height
- Added vertical scroll to modal content area while keeping buttons pinned at bottom
- Thanks to @hossam-elshabory for reporting and @ivannin for helping in discussion
-
(#1600) Fixed kanban view grouping not working when more than 20 views exist
- The
getGroupByPropertyId()method had a hardcoded loop limit of 20 iterations - Views at index 20 or higher would not be found, causing groupBy to return null
- Thanks to @IHaveNoShame for reporting
- The
-
(#1595) Fixed task modal floating buttons blocking content on mobile
- Added mobile-specific (
body.is-mobile) CSS to ensure proper flex layout - Button container now stays pinned at bottom without overlapping scrollable content
- Thanks to @Jomo94 for reporting
- Added mobile-specific (
-
(#1590) Fixed HTTP API not allowing
blockedBydependencies when creating tasks- Added
blockedByfield support toTaskService.createTask() - Updated API documentation with
blockedBy,recurrence, andremindersfields - Thanks to @hGriff0n for reporting
- Added
-
(#1582) Fixed recurring tasks not appearing at end of visible calendar range for non-UTC timezones
- Daily/weekly recurring tasks with times after ~1pm would disappear on the last day of the visible range for users in positive UTC offsets (e.g., UTC+11)
- Fixed date boundary comparisons in both
generateRecurringInstances()andgenerateRecurringTaskInstances()to compare dates only, not timestamps - Thanks to @benefitbug for reporting
-
(#1580) Fixed Google Calendar sync failing after OAuth token expires with unhelpful error message
- When refresh tokens expire or are revoked (e.g., Google Cloud project in Testing mode, user revoked access), the error message was confusing: "Failed to refresh google token: Request failed, status 400"
- Now detects irrecoverable token errors (
invalid_grant,invalid_client) and automatically disconnects the OAuth connection - Shows actionable error message: "Google Calendar connection expired. Please reconnect in Settings > Integrations."
- Prevents repeated failed refresh attempts and error message spam
- Thanks to @osxisl for reporting and @Naesue for helping in discussion
-
(#1584) Fixed DOMTokenList error when task status values contain spaces
- Clicking the status ring on a task card threw an error when status contained spaces (e.g., "In Progress")
- Status and priority values are now sanitized before being used as CSS class names
- Thanks to @omber for reporting
4.3.2
TaskNotes 4.3.2
Added
-
(#1520) Tag and Context fields in Edit Task modal now show all available suggestions immediately on focus
- Previously required typing at least one character before suggestions appeared
- Already-selected values are excluded from the suggestion list
- Thanks to @Glint-Eye for the suggestion
-
(#1506) Added setting to configure the default color for new timeblocks
- New color picker in Settings > Features > Timeblocking
- Previously hardcoded to indigo; now user-configurable
- Thanks to @phillipadsmith for the suggestion
Fixed
-
Fixed mdbase-spec type definition generation not triggering when settings change
-
(#1456) Fixed inline tasks jumping visually when marked as completed
- Thanks to @3zra47 for reporting
-
(#1364) Fixed auto-stop time tracking not triggering when completing recurring task instances
- Thanks to @slipstyle for reporting
-
(#1465) Fixed all-day events synced to Google Calendar receiving wrong notification time
- All-day events now use Google Calendar's configured all-day notification defaults instead of a minutes-based reminder
- Thanks to @Jomo94 for reporting
-
(#1470) Fixed cursor showing as default instead of pointer on interactive elements
- Thanks to @TheFrostedDev for reporting
-
(#1491) Fixed boolean property values being quoted as strings in Bases filter generation
- When using a boolean property (e.g.
tasknote: true) for task identification, the filter now correctly handles the value - Thanks to @denisgorod for reporting
- When using a boolean property (e.g.
-
(#1494) Fixed Kanban swimlane resetting to "None" on initial load and after navigation
- Thanks to @tnguyen2018 for reporting
-
(#1555) Fixed "Folder already exists" error when creating tasks or converting inline tasks
- Thanks to @jkune5 for reporting
-
(#1532) Fixed expanded task modal buttons being cut off when content exceeds viewport height
- Thanks to @willfanguy for reporting
-
(#1542) Fixed declined and cancelled events from ICS calendar subscriptions appearing in calendar view
- Thanks to @karenchoe428 for reporting
-
(#1556) Fixed completion-based recurring tasks not rescheduling when the recurrence interval is large
- Thanks to @kazerniel for reporting
-
(#1492) Fixed hardcoded "open" status leaking into filenames, recurring task displays, and parsing fallbacks
- Users with custom default statuses (e.g. "inbox") no longer see "open" where their configured default should appear
- Recurring tasks now show their actual configured status instead of always displaying "open" when not completed
- Thanks to @macdrifter for reporting
-
(#1501) Fixed Google/Microsoft Calendar event colors not showing in agenda/list view
- Per-event and calendar-level colors now display correctly in the list view, matching grid view behavior
- Added today indicator highlighting to list view day headers
- Thanks to @Robubble for the suggestion
4.3.1
TaskNotes 4.3.1
Added
-
(#1546) Added sticky kanban column headers that remain visible while scrolling
- Thanks to @normenmueller for the contribution
-
(#1458) Added CSS color classes to context tags for custom styling
- Each context tag now receives a unique CSS class based on its name (e.g.,
context-tag--color-0throughcontext-tag--color-19) - Enables styling individual contexts via CSS snippets
- Thanks to @phortx for the contribution
- Each context tag now receives a unique CSS class based on its name (e.g.,
-
Added mdbase-spec type definition generation
- New setting in Integrations tab to generate mdbase-spec v0.2.0 type definition files (
mdbase.yamland_types/task.md) at the vault root - Type definitions are derived from TaskNotes settings (statuses, priorities, field mappings, user fields) and regenerated automatically when settings change
- Enables interoperability with other tools that support the mdbase-spec format
- New setting in Integrations tab to generate mdbase-spec v0.2.0 type definition files (
Fixed
-
(#1472) Fixed task dependencies not being stored as wikilinks in frontmatter
- Dependencies now retain their
[[wikilink]]format when saved, preventing them from breaking on file rename - Thanks to @renekalff for reporting
- Dependencies now retain their
-
(#1443) Fixed default status/priority not updating when the referenced custom value is deleted
- Deleting a custom status or priority that was set as the default now resets the default to the first available value
- Thanks to @l-mb for the contribution
-
(#1448) Fixed project removals not persisting from the task edit modal
- Removing all projects from a task now correctly clears the projects field
- Different link formats (e.g., markdown links vs wikilinks) no longer cause false change detection
- Thanks to @normenmueller for the contribution
-
(#1514), (#1517) Fixed task reminders not syncing to Google Calendar
- Task-specific reminders (both relative and absolute) now sync to Google Calendar
- Previously only the global default reminder setting was used, ignoring per-task reminders
- Thanks to @christenbc for the contribution
-
(#1525), (#1531) Fixed subtask status dot not refreshing visually when clicked
- Status dot, checkbox, and card styling now update instantly when cycling status
- Thanks to @christenbc for the contribution
-
(#1537) Fixed Google Calendar errors during bulk sync
- Added rate limiting to space out API calls, preventing errors when syncing many tasks at once
- Thanks to @Lorite for the contribution
-
(#1515), (#1540) Fixed time loss when setting recurrence and recurrence not clearing from Google Calendar
- Setting recurrence on a task with a scheduled time now preserves the time, preventing Google Calendar events from appearing as all-day
- Clearing recurrence from a task now also removes it from the synced Google Calendar event
- Thanks to @christenbc for the contribution
-
(#1428), (#1559) Fixed hierarchical tags with slashes (e.g.,
#project/sub-project) being truncated in link text- Tags containing slashes, hyphens, and Unicode characters now render correctly
- Thanks to @normenmueller for the contribution and @ysafonov for reporting
-
(#1565) Fixed Google Calendar target calendar dropdown appearing empty after app restart
- The dropdown now re-populates once calendars are fetched during startup
- Thanks to @N-HEDGER for reporting
-
(#1567) Fixed inline task card widgets disappearing momentarily
- When the task cache is temporarily cleared (e.g., during Smart Connections processing), the previously-rendered widget is now preserved instead of reverting to a plain wiki link
- Thanks to @scztt for reporting
-
(#1568) Fixed deleted tasks not being removed from Google Calendar
- When a task file is deleted outside of TaskNotes (e.g., via Obsidian's file manager), the synced Google Calendar event is now cleaned up automatically
- Thanks to @kmaustral for reporting
-
Fixed Integrations tab spacing and layout issues
- Improved positioning of buttons and status indicators across Google Calendar, ICS, and Webhooks sections
4.3.0
TaskNotes 4.3.0
Changed
- (#1437) Unified template variable syntax and available variables across filename and body templates
- Both systems now use double-brace
{{variable}}syntax consistently - Single-brace
{variable}syntax remains supported for backwards compatibility but is deprecated - Settings UI shows a warning when deprecated single-brace syntax is detected
- Filename templates gain body template variables:
{{contexts}},{{tags}},{{hashtags}},{{timeEstimate}},{{details}},{{parentNote}} - Body templates gain filename template variables:
{{zettel}},{{nano}}, and all extended date/time variables - Thanks to @23maverick23 and @Jpeeters for reporting (#865)
- Both systems now use double-brace
Added
-
(#1361) Option to disable inline task overlay for aliased wikilinks
- New setting in Features → Inline Tasks: "Disable overlay for aliased links"
- When enabled, links with aliases like
[[Task|Check Status]]render as plain links - Links without aliases continue to show the interactive task widget
- Useful when embedding tasks in prose where the widget would be disruptive
- Thanks to @diegomarzaa for the contribution and @jldiaz for proposing this feature in #1117
-
(#1199, #1205) Google Calendar export for tasks
- Sync tasks to Google Calendar based on scheduled or due dates
- Automatic sync on task create, update, complete, and delete
- Configurable event title templates with placeholders (
{{title}},{{status}},{{priority}}, etc.) - Event descriptions include task metadata and optional Obsidian deep link
- Support for all-day or timed events with customizable duration
- Event color customization using Google Calendar's color palette
- Default reminder setting for popup notifications
- Bulk sync and unlink actions in settings
- Task-event linking stored in frontmatter (
googleCalendarEventId) - Recurring tasks sync as Google Calendar recurring events
- Completed or skipped recurring instances are automatically excluded
- Thanks to @someromans and @Leonard-44 for requesting this feature, and @dmantisk, @farangkao, @rayvermey, and @rdpr for their input
Fixed
-
(#1413) Fixed angle-bracket links and project title display
- Angle-bracket links like
[Spec](<Projects/Client X/Spec.md>)now resolve correctly - Project links display frontmatter
titleinstead of raw filename/path when available - Dependency values normalize consistently across wikilinks, markdown links, and angle-bracket variants
- Many thanks to @normenmueller for the contribution
- Angle-bracket links like
-
(#1414) Kanban column headers now display configured priority labels instead of raw values
- Many thanks to @normenmueller for the contribution
-
(#1416) Fixed property-based task identification mutating tags unexpectedly
- Tags are only written when explicitly changed by the user
- Task tag is only added in tag-based identification mode
- Fixes #1391
- Thanks to @loukandr for reporting and @normenmueller for the fix
-
(#1187) Fixed "Unknown view types" error when opening Bases views after upgrading from pre-V4
- Users who had disabled Bases support in earlier versions could not open Bases views after upgrading
- Settings migration now automatically re-enables Bases support since the toggle was removed in V4
- Thanks to @MiracleXYZ for reporting
-
(#1144) Fixed relationships.base showing empty views for Projects, Blocked By, and Blocking tabs
- The top-level task filter was excluding non-task files from the Projects view
- Projects can be any file type (not just tasks), so the filter is now applied per-view
- Subtasks, Blocked By, and Blocking views retain the task filter; Projects view does not
- Users with existing relationships.base files should delete and regenerate them to get the fix
- Thanks to @needo37 for reporting, and @n1njaznutz, @nestor50, and @IvyDliu for investigating and confirming the solution
-
Fixed calendar view type not persisting or applying when changed
- View type changes via header buttons (week/day/month) are now saved to the .base file
- View type changes via Bases settings panel now apply immediately without reload
-
(#1441) Fixed task dragging broken with "Span tasks between scheduled and due dates" enabled
- Span events can now be dragged to move tasks in time
- Dragging shifts both scheduled and due dates proportionally, preserving the span duration
- Previously, dragging span events would cause a visual/data mismatch where the calendar showed the wrong position
- Thanks to @Peeeet for reporting
4.2.1
TaskNotes 4.2.1
Added
- New Calendars API endpoint for access to calendar data
- Access calendar provider information and connection status
- Query events from Google Calendar, Microsoft Calendar, and ICS subscriptions
- Filter events by date range
tasknotes-clihas been updated to make use of this endpoint
Fixed
-
(#1424) Fixed "Create New Task" command creating tasks in active folder instead of default folder
- "Create New Task" now correctly uses the configured default task folder
- "Create New Inline Task" continues to use the inline task folder setting
- Thanks to @Gogo-XD for reporting and @TonyAtlas for confirming
-
(#1421), (#1042) Fixed natural language parser only setting one date when both scheduled and due dates are specified
- Entering something like "task due Jan 9 at Jan 9" now correctly sets both the due date and scheduled date
- Thanks to @wealthychef1 and @dblinnikov for reporting
-
(#1410) Fixed vim insert mode not activating in task creation modal
- The modal now correctly enters insert mode when vim keybindings are enabled
- Thanks to @Leo310 for the feature request
-
(#1422) Fixed tags with dashes not being parsed correctly
- Tags like
#my-tagwere being truncated to#my - Thanks to @JerryLu086 for reporting
- Tags like
-
(#1419) Fixed custom statuses and priorities not saving in settings
- Values entered in text fields were sometimes lost when closing the settings modal
- Thanks to @s33a for reporting