Skip to content

Releases: obsidian-tasks-group/obsidian-tasks

6.1.0: Task Dependencies feature & Edit Task modal fixes

04 Mar 20:38

Choose a tag to compare

What's Changed

🌟 Most Notable

Please quit and restart Obsidian after updating the plugin. Thank you.

🌟 New team member: Ilyas Landikov

I'm delighted to announce that @ilandikov - Ilyas Landikov - has joined me as a core contributor to the Tasks plugin.

He has been working tirelessly behind the scenes for the last year, and it really helps to have somebody to discuss ideas and issues with, and to help improve the visible and hidden quality of the code and its tests.

Thank you Ilyas, and a warm welcome!

🌟 Edit Task modal status-editing is fixed

Editing task statuses via the modal now correctly updates Done and Cancelled dates, and creates the next task when completing a recurring task.

Thanks to @ilandikov for invaluable help writing the first test for this.

image

🌟 Task Dependencies facility - thank you @DanielTMolloy919!

The Tasks plugin now allows for 'Finish to start (FS)' dependencies, meaning Task A needs to be finished before you start on Task B. You can learn more about this concept on Wikipedia.

  • User Documentation: Task Dependencies
  • Below: Documentation sample: Editing Dependencies
    image
  • Below: Documentation sample: Search Concepts for Dependencies
    image

Main changes

Here are the most notable user-visible changes.

🌟 Features

💪 Fixes

  • Make context menu for Postpone button work on iOS by @Cito in #2640
  • Improve auto-suggest for dataview task format by @Yaozhuwa in #2664
  • Make Completion and Done dates & Recurrence work in modal status edits by @claremacrae in #2686

📖 Documentation

User documentation:

Contributing guide:

🛠️ Dependencies

  • chore(deps): bump peter-evans/create-pull-request from 5 to 6 by @dependabot in #2633

🛠️ Behind the scenes

Improvements made to new features prior to their release:

Other changes:

  • chore: Fix pre-commit hooks for filenames with spaces, on Windows by @therden in #2622
  • chore: Added more file extensions and LICENSE file to .gitattributes by @therden in #2635
  • refactor: Rearrange src/ and tests/ so structure is easier to see by @claremacrae in #2607
  • refactor: remove inheritance between TaskLayout and QueryLayout by @ilandikov in #2610
  • refactor: Move task dependency input to svelte component by @DanielTMolloy919 in #2609
  • refactor: Reduce cyclic dependencies in src/ by @claremacrae in #2612
  • refactor: TaskLayout& QueryLayout renames by @ilandikov in #2613
  • refactor: Create Task.isBlocked() and Task.isBlocking() by @claremacrae in #2632
  • refactor: convert TaskLayoutOptions to enum by @ilandikov in #2631
  • refactor: prepare to add Jest tests for QueryRenderer by @claremacrae in #2659
  • refactor: add tests and refactor auto suggest by @ilandikov in #2675
  • refactor: Reduce complexity in Task.handleNewStatus() by @claremacrae in #2676
  • refactor: OnCompletion (preparing to later add Delete Action) by @therden in #2666
  • test: add setDependencies() for editing dependencies by @ilandikov in #2645
  • vault: Set up the Tasks-Demo vault to show API in QuickAdd by @claremacrae in #2642

New Contributors

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

6.0.0: Custom sorting, improve default sort order and handling of invalid dates

19 Jan 23:02

Choose a tag to compare

What's Changed

🌟 Most Notable

Please quit and restart Obsidian after updating the plugin. Thank you.


⚠️ Important This release is number 6.0.0 because of significant improvements to:

  • the default sort order
  • how invalid dates are handled
  • styling of the Pencil and Postpone buttons (thank you @Cito)

See Breaking Changes for full details of these changes.


Here are the most notable user-visible changes.

🌟 Features

Examples:

sort by function task.tags.filter( (tag) => tag.includes("#context/")).sort().join(",")
  • Sort by tags that contain #context/.
  • Any tasks without that tag are sorted first.
sort by function reverse task.tags.length
  • Sort by the number of tags on the task.
  • The reverse option puts tasks with the most tags first.
sort by function task.file.path === query.file.path
  • Tasks in the same file as the query will be sorted before all other tasks.
sort by function task.description.length
  • Sort by length of description, shortest first.

Commits:

💪 Fixes

⚠️ Important The following are all improvements to existing behaviour that may change the sorting and grouping of search results. See Breaking Changes for full details.

  • Use similar styling for Edit and Postpone buttons by @Cito in #2562
  • Make default sort order sort first by status type by @claremacrae in #2599

Better handling of invalid dates:

🛠️ Behind the scenes

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

5.6.0: Add 'today' and 'tomorrow' to Postpone context menu

09 Jan 17:50

Choose a tag to compare

What's Changed

Please quit and restart Obsidian after updating the plugin. Thank you.

🌟 Features

image

📖 Documentation

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

5.5.0: Add 'cancelled date'; improve Edit Task modal

02 Jan 22:38

Choose a tag to compare

What's Changed

Please quit and restart Obsidian after updating the plugin. Thank you.

🌟 Most Notable

Here are the most notable user-visible changes.

  • 🌟 New cancelled date field added
    • - [-] take out the trash ❌ 2023-04-18
    • - [-] take out the trash [cancelled:: 2023-04-18]
    • It's enabled in settings by default - and can be turned off.
    • It's added automatically via all of the following, when the next status type is CANCELLED:
      • Toggling tasks with mouse
      • Running the 'Tasks: Toggle task done' command
      • 'Change task status' context menu
    • The value can be edited in the Edit task modal.
    • Tasks already supports filtering, sorting and grouping by cancelled date.
    • Docs - for the field - which links to filter, sort and group docs too.
    • Find tasks with potentially invalid data updated for created and other recently added fields.
  • 🌟 Edit task Modal improvements
    • created, done and cancelled dates can all now be edited.
    • There is now a warning displayed, about limitations of changing status in the modal.
    • On small screens, the Apply and Cancel buttons are now always visible. Thank you @DanielTMolloy919.
      image

🌟 Features

💪 Fixes

  • fix: Warn in Edit Task modal about Status-editing limitations by @claremacrae in #2558

🛠️ Dependencies

  • build(deps-dev): bump @testing-library/jest-dom from 5.17.0 to 6.1.6 by @dependabot in #2540
  • build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #2506
  • build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #2504

🛠️ Behind the scenes

  • refactor: do not add data attribute when it's value is empty by @ilandikov in #2543
  • refactor: replace className() method with addClassName() by @ilandikov in #2548
  • test: test LayoutOptions with the full task from TaskBuilder by @ilandikov in #2524
  • test: improve rendering tests with matchers by @ilandikov in #2525
  • test: convert tests with testHiddenComponentClasses() to it.each() & use test task from TaskBuilder by @ilandikov in #2544
  • test: remove FieldRenderer from TaskLineRenderer tests by @ilandikov in #2545

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

5.4.0: Better statuses on Recurring tasks - and 'explain' improvements

26 Dec 22:30

Choose a tag to compare

What's Changed

🌟 Most Notable

Please quit and restart Obsidian after updating the plugin. Thank you.

Here are the most notable user-visible changes.

🌟 Features

💪 Fixes

📖 Documentation

  • docs: Updates for recent fixes of statuses with recurrence by @claremacrae in #2534

🛠️ Behind the scenes

  • refactor: extract QueryLayoutOptions from LayoutOptions by @ilandikov in #2521
  • refactor: Move new status calculation for recurring tasks to StatusRegistry by @claremacrae in #2526
  • test: improve testLayoutOptions() test function to have the expected description in one parameter with other expected components by @ilandikov in #2515
  • test: test adding data attributes with only name & only value by @ilandikov in #2518
  • test: use the toHaveDataAttributes() matcher in TaskFieldRenderer tests by @ilandikov in #2523

New Contributors

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

5.3.0: Easily postpone tasks and apply any status

16 Dec 19:54

Choose a tag to compare

What's Changed

🌟 Most Notable

Please quit and restart Obsidian after updating the plugin. Thank you.

🌟 Easily postpone tasks that have dates. Thanks @m0rtyn and @ilandikov

  • New 'postpone button' in search results - with click and right-click actions.
  • Defer Due, Scheduled or Start dates.
  • Docs: Postponing
    image
    image

🌟 New "change task status" context menu. Thanks @chrabia

🌟 Add Tasks docs to the HelpMate plugin

  • View the latest Tasks documentation in a side-panel right inside your vault.
  • The HelpMate plugin provides a lovely way to view plugin docs inside your vault.
  • And now it knows how to find the Tasks documentation.
    image

Main changes

Here are the most notable user-visible changes.

🌟 Features

  • feat: Add a button, with context menu, to "postpone" tasks by @m0rtyn in #2191
  • feat: add "change task status" context menu by @chrabia in #2476
  • feat: Add Tasks docs to the HelpMate plugin by @claremacrae in #2466

💪 Fixes

📖 Documentation

🛠️ Behind the scenes

Improvements made to new features prior to their release:

Other changes:

New Contributors

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

5.2.0: Query instructions can now contain capital letters

27 Nov 22:34

Choose a tag to compare

Please quit and restart Obsidian after updating the plugin. Thank you.

What's Changed

Most query instructions can now contain capital letters. Thank you @vdusart.

For example:

    ```tasks
    not done
    due AFTER yesterday
    due BEFORE in two weeks
    ```

Details: Capitals in Query Instructions - Case Insensitivity

  • feat: Add support for case-insensitive queries by @vdusart in #2418
  • refactor,docs: Refactor code & document case-insensitive queries by @claremacrae in #2450
  • docs: Add missing EOL to template file by @github-actions in #2451

New Contributors

Full Changelog: 5.1.1...5.2.0

🙏 Support Tasks development

5.1.1: Fix Live Preview's jumping to a task from a Tasks query block inside a callout

24 Nov 08:33

Choose a tag to compare

What's Changed

Please quit and restart Obsidian after updating the plugin. Thank you.

💪 Fixes

Jumping to a task from a Tasks query block inside a callout does now works properly in Live Preview.

  • fix: Prevent default click behavior when jumping to a task by @Cito in #2446

📖 Documentation

🛠️ Dependencies

🛠️ Behind the scenes

  • chore: Add comments to find locations for common edits by @claremacrae in #2437
  • refactor: extract data and behaviour of layout parameters by @ilandikov in #2403
  • refactor: move to FieldLayoutDetail and linline 2 functions by @ilandikov in #2408
  • refactor: add a container for FieldLayoutDetails and get data attributes from it by @ilandikov in #2425
  • refactor: create TaskLineRenderer class by @ilandikov in #2433
  • refactor: simplify TaskLineRenderer by @ilandikov in #2434
  • refactor: create TaskFieldRenderer.ts by @ilandikov in #2436
  • refactor: improve rendering code quality by @ilandikov in #2439
  • refactor: Rename symbols in TaskFieldRenderer by @ilandikov in #2440
  • refactor: add data attributes in TaskFieldRenderer instead of returning them by @ilandikov in #2442
  • vault: Add Templates to create tasks with range of dates, for testing. by @claremacrae in #2413

New Contributors

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

5.1.0: query.file.path & friends in custom searches; Check your Custom Statuses!

09 Nov 22:27

Choose a tag to compare

What's Changed

🌟 Most Notable

Please restart Obsidian after updating the plugin. Thank you.

Main changes

Here are the most notable user-visible changes.

🎉 Custom filters and groups can access query.file.path and friends directly

They no longer need {{ and }} placeholders and quotes.

For example:

filter by function task.file.folder.includes( query.file.folder )  
  • Find tasks in files in the folder that contains the query and any sub-folders.
filter by function task.file.folder === query.file.folder  
  • Find tasks in files in the folder that contains the query only (not tasks in any sub-folders).

🎉 Check and visualise your Custom Statuses

  • Using the 'Review and check your Statuses' button in Tasks' Status Settings.
  • See page Check your Statuses

For example:

image

The commits:

  • feat: Custom grouping accesses Query Properties directly, without Placeholders by @claremacrae in #2377
  • feat: Custom filters access Query Properties directly, without Placeholders by @claremacrae in #2378
  • feat: Enable visualisation of the Status settings by @claremacrae in #2383
  • feat: Statuses report now shows a Status Settings table by @claremacrae in #2385
  • feat: Enable logging configuration by @claremacrae in #2393 - thanks to @sytone for the initial code for this
  • feat: Add optional debug logging of searches and file handling by @claremacrae in #2397
  • feat: "Review and check your Statuses" now shows any problems by @claremacrae in #2399
  • feat: Colour-code the Mermaid status diagrams for readability by @claremacrae in #2400

💪 Fixes

📖 Documentation

  • docs: Update docs for 'filter by function' accessing query properties by @claremacrae in dfe0b99
  • docs: Fix typo in grouping.md (filenameWithoutExtension) by @andrewmwhite in #2369
  • docs: Document 'Review and check your Statuses' report by @claremacrae in #2406
  • contrib: Try improving the 'Local development.md' formatting. by @claremacrae in 4c58280
  • contrib: Cross-link between 'Local development.md' and 'Setting up build environment.md' by @claremacrae in b637e34
  • vault: Remove the 'ASCII Tasks Table' from the Tasks-Demo vault by @claremacrae in 54e6bfd

🛠️ Behind the scenes

New Contributors

Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development

5.0.0: Split long query lines; inline comments; detect unexpanded template text

21 Oct 18:55

Choose a tag to compare

What's Changed

🌟 Most Notable

Please restart Obsidian after updating the plugin. Thank you.

⚠️ Important The meaning of a final backslash (\) at the end of a line in a Tasks code block has changed.

If your vault has any lines in Task blocks that end in \ please make the following kind of change:

Old instruction Use this instruction instead
description includes something\ description includes something\\

Main changes

Here are the most notable user-visible changes.

🎉 Long query lines can now be split with backslashes by @sbliven in #2330

  • See page Line Continuations
  • Here is a before-and-after example image from the documentation (which now uses syntax-highlighting in some examples, for readability):

    image

🎉 Publicise inline comments mechanism by @sbliven in #2330

🎉 Prevent misleading date searches with template text by @claremacrae in #2331

  • All the built-in date searches now refuse to run if they detect any unexpanded template text in the filter.
  • This resolves a notable source of confusion seen in Support queries.
  • See section Troubleshooting Daily Agenda queries.

💪 Fixes


📖 Documentation

📖 New pages:

📖 New sections:

The changes...


🛠️ Behind the scenes


New Contributors

ℹ️ Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):

🙏 Support Tasks development