Skip to content

Releases: obsidian-tasks-group/obsidian-tasks

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

19 Jan 23:02
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

4.9.0: Four powerful new 'group by function' options

03 Oct 20:04
Compare
Choose a tag to compare

What's Changed

Example new instructions:

group by function task.priorityNameGroupText + ': ' + task.status.typeGroupText

image

group by function task.due.fromNow.groupText

image

group by function task.due.category.groupText

image

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

πŸ™ Support Tasks development