github callumalpass/tasknotes 4.2.0

one day ago

TaskNotes 4.2.0

Added

  • Added Korean (한국어) language support

    • Full translation of all 1911 localization keys
    • Korean language option now available in Settings → General → Language
  • Adopted Obsidian 1.11.0 API features with backwards compatibility

    • Settings tab now displays TaskNotes icon in the sidebar (Obsidian 1.11.0+)
    • Settings sections now use native SettingGroup for improved visual grouping (Obsidian 1.11.0+)
    • Falls back gracefully to traditional section headers on older Obsidian versions
  • (#59) Added shortYear template variable for custom filename and folder templates

    • Use {shortYear} in filename templates (e.g., "25" for 2025)
    • Use {{shortYear}} in folder templates
    • Thanks to @Pixeltica for the feature request
  • (#1393) Option to prevent auto-creation of default Base view files on startup

    • New "Auto-create default files" toggle in Settings → Integrations → Bases Integration
    • When disabled, deleted sample Base files will not be recreated on plugin load
    • The manual "Create Default Files" button remains available for on-demand recreation
    • Thanks to @wealthychef1 for the feature request
  • (#1408) Shift+click on status icon to cycle backwards through statuses

    • Normal click cycles forward through status order
    • Shift+click cycles in reverse order
    • Thanks to @JerryLu086 for the feature request
  • (#1410) Task creation modal now starts in vim insert mode when vim keybindings are enabled

    • Previously required pressing 'i' before typing when Obsidian vim mode was active
    • The modal now automatically enters insert mode on focus, allowing immediate typing
    • Thanks to @Leo310 for the feature request
  • Added button tooltips to calendar view toolbar

    • Hovering over navigation and view buttons now shows descriptive hints
    • Buttons include: Today, Previous, Next, Month, Week, Day, Year, List
  • Added tooltips to task modal action icons

    • Icon buttons for status, date, project, priority, recurrence, and reminder now show tooltips on hover
    • Improves discoverability for new users
  • (#503) Settings now sync automatically across devices via Obsidian Sync

    • Changes to custom statuses, priorities, and other settings apply immediately without restart
    • Thanks to @jhedlund for the feature request and @l-mb for the implementation
  • (#1403) Kanban view option to consolidate status icons in column headers

    • New "Show status icon in column header only" toggle in Kanban view settings (disabled by default)
    • When enabled and grouped by status, shows the icon in the column header and hides it on cards
    • Reduces visual redundancy when the column already indicates the status
    • Thanks to @l-mb for the feature request and implementation
  • (#1401) Calendar view option to span tasks between scheduled and due dates

    • New "Span tasks between scheduled and due dates" toggle in Calendar view Layout settings
    • When enabled, tasks with both scheduled and due dates display as multi-day bars
    • Provides Gantt chart-style visualization for project planning
    • Thanks to @0atman for the feature request
  • (#1334) {{currentNotePath}} now works for "Create new inline task" command

    • The inline task folder setting with {{currentNotePath}} previously only worked for checkbox conversion
    • Now also applies when using the "Create new inline task" command from the command palette
    • Thanks to @kmaustral for the feature request
  • (#1264) Option to open Pomodoro timer in mobile sidebar instead of note panel

    • New "Mobile sidebar" setting in Settings → Features → Pomodoro Timer
    • Choose between: Note panel (default tab behavior), Left sidebar, or Right sidebar
    • Allows quick swipe access to the timer without switching notes on mobile devices
    • Thanks to @Evthestrike for the feature request
  • (#1220) Option to use ICS event end time as task due date

    • New "Use ICS event end time as task due date" toggle in Settings → Integrations → Calendar Subscriptions
    • When enabled, tasks created from calendar events will have their due date set to the event's end time
    • For all-day events, uses the event date (not the ICS container end date which is the next day per ICS spec)
    • For timed events, includes the exact end time
    • Defaults to disabled to preserve existing behavior
    • Thanks to @MiserMagus for the feature request
  • (#1108) Option to use task duration instead of due date for ICS calendar export

    • New "Use task duration for event length" toggle in Settings → Integrations → Automatic ICS Export
    • When enabled, exported calendar events use scheduled date + time estimate as DTSTART/DTEND
    • This aligns with GTD workflows where scheduled + duration represents work planning, while due date represents deadlines
    • When disabled (default), preserves existing behavior using due date as DTEND
    • Thanks to @bepolymathe for the feature request

Fixed

  • (#1384) Fixed title being sanitized even when "Store Task Title in Filename" is disabled

    • Characters like ?, <, >, :, etc. are now preserved in task titles when they won't be used in filenames
    • When storeTitleInFilename is false, only minimal sanitization (whitespace normalization, control character removal) is applied
    • Thanks to @allison-casey for reporting
  • (#1028), (#1140), (#1152), (#1354), (#1362) Fixed duplicate task entries appearing in Agenda view

  • (#1386) Fixed timeEstimateCategory formula showing "Long (>2h)" instead of "No estimate" for new tasks

    • The condition didn't properly handle null values when timeEstimate property is unset
    • Also fixed the same issue in trackingStatus formula
    • Thanks to @nicou for reporting and @osxisl for the PR
  • (#1397) Fixed Bases views (Kanban, Calendar, Task List) resetting to Calendar view after a few minutes

    • Also fixed CalendarView corrupting other view files when saving state on unload
    • Thanks to @music-soul1-1 for reporting
  • (#1398) Fixed overdue strikethrough showing on completed tasks

    • Completed tasks with past due dates no longer display overdue styling
    • Respects the "Hide completed from overdue" setting which defaults to true
  • (#1363) Fixed calendar view showing nothing when a task has an invalid date format

    • Tasks with malformed dates (e.g., "262025-12-16" instead of "2025-12-16") no longer crash the entire calendar
    • Invalid tasks are now skipped with a console warning, allowing other events to display normally
    • Thanks to @Erelen for reporting
  • Fixed today column in week/day calendar views using FullCalendar's default yellow instead of theme accent

    • Today's column now uses a tint of the theme accent color for consistent styling
  • (#1399) Fixed drag-and-drop not working in Kanban view on mobile

    • Cards and columns can now be dragged using long-press gesture on touch devices
    • Includes haptic feedback and auto-scroll when dragging near edges
    • Thanks to @l-mb for reporting and the fix
  • (#1381) Fixed Pomodoro "Change Task" menu not showing newly created tasks

    • Tasks created while the Pomodoro view was open would not appear in the task selector
    • Improved metadata cache synchronization to properly wait for new files to be indexed
    • Thanks to @Ghosthael for reporting
  • (#1344) Fixed "Unsaved Changes" popup appearing randomly when closing task edit modal

    • The popup would appear even when no changes were made to the task
    • Caused by inconsistent trailing whitespace normalization when comparing details content
    • Thanks to @hasanyilmaz for reporting
  • (#1402) Fixed Kanban swimlane view showing tasks in wrong column when grouped by formula

    • After editing task metadata, cards would jump to "None" column until Obsidian reload
    • Column assignment now uses Bases' computed grouping instead of cached formula outputs
    • Thanks to @bailob for the fix
  • (#1352) Fixed date context menu not preserving time when using increment options

    • Using +1 day, -1 day, +1 week, or -1 week on a task with a time (e.g., 2025-12-10T16:00) now preserves the time
    • Previously the time would be stripped, changing 2025-12-10T16:00 to 2025-12-11 instead of 2025-12-11T16:00
    • Thanks to @cathywu for the feature request
  • Fixed v3 saved views exporting incorrectly to Bases format

    • Title filters now correctly use file.name instead of note.title
    • Archived filters now generate valid boolean expressions instead of malformed comparisons
    • "Is Blocked" filters now generate correct expressions with proper operator precedence
  • (#1036) Due dates can now be dragged in the calendar view

    • Previously only scheduled dates were draggable; due dates were locked in place
    • Dragging a due event now updates the task's due date property
    • Thanks to @same774 for reporting
  • Improved calendar view responsiveness for user interactions

    • Task creation, editing, timeblock changes, and view option toggles now update immediately
    • Previously these actions waited 5 seconds due to the debounce intended for external file changes
    • The 5-second debounce is now bypassed for direct user actions while still preventing flicker during typing
  • Improved visual affordance for Pomodoro timer duration adjustment buttons

    • The +/- buttons below the timer now have visible backgrounds and borders
    • Hover states show accent color border for clearer interactivity feedback
    • Previously buttons were nearly invisible with transparent backgrounds
  • (#1409), (#1214), (#979) Improved Calendar, Agenda, Kanban, and Stats views in pop-out windows

    • Drag-and-drop in Kanban view now works correctly when the view is in a new window
    • Context menus (status, priority, task) now work correctly in pop-out windows
    • Stats view drill-down modal now appears in the correct window
    • Search boxes, task cards, and grouped task lists render correctly
    • Root cause: Code was using global document and standard instanceof checks which fail across windows
    • Solution: Use ownerDocument for DOM operations and Obsidian's cross-window instanceOf() method
    • Known limitation: Calendar event dragging does not work in pop-out windows due to FullCalendar library using global document for mouse event listeners. Use context menus or edit modals as a workaround.
    • Updated FullCalendar to v6.1.20
    • Thanks to @Snakiest, @same774, and @3zra47 for reporting
  • (#1337) Fixed "Convert current note to task" hotkey not applying default values from settings

    • When user configured default status/priority as "None", the modal would show "Open" and "Normal" instead
    • Root cause: Task edit modal was refreshing data from file and overwriting user-configured defaults
    • Now preserves constructor-provided task data when converting non-task files
    • Thanks to @guihasparyk for reporting
  • (#1304) Fixed "Cannot find function map on type Link" error in Blocking view

    • Error occurred when embedding the Relationships base and opening the Blocking view
    • Root cause: When blockedBy contained a single dependency, Bases returned it as a Link object without a .map() method
    • Fixed by wrapping blockedBy with list() before calling .map(), consistent with the Blocked By view
    • Thanks to @prayidae for reporting
  • (#1295) Fixed missing navigation link to Default Base Templates page on tasknotes.dev

    • The page existed but was not accessible from the site navigation
    • Thanks to @Arachnidai for reporting
  • (#1223) Fixed "Go to today's note" command opening wrong date in positive UTC offset timezones

    • In timezones like Japan (UTC+9), early morning use of this command opened yesterday's note
    • Root cause: Incorrectly extracting UTC date components instead of local timezone date
    • Thanks to @BrucePlumb for reporting

Don't miss a new tasknotes release

NewReleases is sending notifications on new releases.