Skip to content

Releases: obsidian-tasks-group/obsidian-tasks

4.6.0: 'ignore global query', dates 'on or before' and 'on or after', debug logging removed

12 Aug 14:17
Compare
Choose a tag to compare

What's Changed

Please restart Obsidian after updating the plugin. Thank you.

🌟 Features

  • Add ignore global query instruction by @ilandikov in #2113
  • New date options: on or before, on or after, in or before & in or after by @ilandikov in #2186
    • This greatly simplifies queries for daily notes!
    • No more ( due before {{date:YYYY-MM-DD}} ) OR ( due on {{date:YYYY-MM-DD}} )
    • docs for single dates
    • docs for date ranges

💪 Fixes

📖 Documentation

🛠️ Behind the scenes

  • docs/contrib/vault: Update snippets and examples in markdown by @github-actions in #2194

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

🙏 Support Tasks development (Optional!)

4.5.0: Support + character as a list marker

06 Aug 13:19
Compare
Choose a tag to compare

What's Changed

Dependencies have been updated. Please restart Obsidian after updating the plugin. Thank you.

Here are the most notable user-visible changes.

🌟 Features

🛠️ Behind the scenes

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

4.4.0: custom groups and filters support variables, functions, if and return statements

30 Jul 10:54
Compare
Choose a tag to compare

What's Changed

Please restart Obsidian after updating the plugin. Thank you.

Here are the most notable user-visible changes.

🌟 Features

  • feat: Support variables and more in custom filters and groups by @claremacrae in #2179

The following can now be used in filter by function and group by function:

  • Named variables
  • Functions
  • if statements
  • return

There are some simple examples in the Expressions docs page.

For example, Before:

# 4 places need updating to change from using task.due to, say, task.happens:
group by function (!task.due.moment) ? '%%4%% ==Undated==' : task.due.moment.isBefore(moment(), 'day') ? '%%1%% ==Overdue==' : task.due.moment.isSame(moment(), 'day') ? '%%2%% ==Today==' : '%%3%% ==Future=='

After:

# Only 1 place needs updating to change from using task.due to, say, task.happens:
group by function const date = task.due.moment; return (!date) ? '%%4%% ==Undated==' : date.isBefore(moment(), 'day') ? '%%1%% ==Overdue==' : date.isSame(moment(), 'day') ? '%%2%% ==Today==' : '%%3%% ==Future=='

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

4.3.0: Regular Expressions bug-fixing and usability

17 Jul 14:25
Compare
Choose a tag to compare

What's Changed

🌟 Most Notable

Dependencies have been updated. Please restart Obsidian after updating the plugin. Thank you.

🌟 Major safety and usability improvements for regular expressions (regex) searches

  • / characters no longer need to be escaped (as \/) in regular expressions.
    • This fixes #2136 - that file paths in regular expressions were wrongly truncated.
  • explain now explains regular expressions.
  • It's easier to correct syntax errors in regexes, as error info is now displayed, such as:
    • SyntaxError: Invalid regular expression: /hello(/: Unterminated group
  • The u unicode flag is now supported.
  • Any invalid flags are reported now instead of ignored.
    • These are often a sign of a missing / at the end of the regex.
  • Any problems with regex result in the following 'help' being displayed inside Tasks code blocks:
    image|500

Main changes

Here are the most notable user-visible changes.

🌟 Features

💪 Fixes

📖 Documentation

🛠️ Dependencies

🛠️ Behind the scenes

  • test: Simplify code-review of filter, sort and group additions by @claremacrae in #2126

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

4.2.0: Add 'filter by function'

09 Jul 19:38
Compare
Choose a tag to compare

What's Changed

🌟 Most Notable

Please restart Obsidian after updating the plugin. Thank you.

🌟 filter by function custom filters! - by @claremacrae

  • A powerful, flexible mechanism to give users total control over task filtering.
  • Docs

Some example custom filters, several of which were not previously possible:

# Find tasks due on Tuesdays, that is, any Tuesday.
filter by function task.due.format('dddd') === 'Tuesday'

# Find tasks that toggle to themselves, because the next symbol is the same as the current symbol.
filter by function task.status.symbol === task.status.nextSymbol

# Find tasks with more than one tag (other than any global filter)
filter by function task.tags.length > 1

# Find tasks with an urgency score between 8.0 and 11.0, inclusive.
filter by function task.urgency > 7.9999 && task.urgency < 11.0001

# Find tasks with any urgency other than the default score of 1.95.
filter by function task.urgency.toFixed(2) !== 1.95.toFixed(2)

# Find tasks that have a broken/invalid recurrence rule.
filter by function (!task.isRecurring) && task.originalMarkdown.includes('🔁')

🙏 Supporting Tasks development (Optional!)

The Tasks plugin is completely free to use, and very willingly developed and supported by Clare Macrae since May 2022.

Making the filter by function facility so well documented and usable, and this thoroughly tested, has been many, many days of work. It opens up some very exciting future capabilities.

If you would like to support Tasks development, and are able to do so, please see:

Donations will go towards my computing costs and licenses for development tools that I use for productivity. Thank you 🙏.


Main changes

Here are the most notable user-visible changes.

🌟 Features

📖 Documentation

  • docs: How to create groups Overdue, Today, Future & Undated by @claremacrae in #2110
  • docs: Finish docs for filter by function custom filters feature by @claremacrae in #2114

🛠️ Behind the scenes

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

4.1.0: `hide tags` and `show tags`

02 Jul 18:55
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.

🌟 Features

💪 Fixes

  • fix: hide tags now preserves styling of description for specific tags by @claremacrae in #2086

🛠️ Dependencies

🛠️ Behind the scenes

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

4.0.1: Bug fixes to Urgency and Edit Task modal

27 Jun 16:12
Compare
Choose a tag to compare

What's Changed

Please restart Obsidian after updating the plugin. Thank you.

Main changes

Here are the most notable user-visible changes.

💪 Fixes

  • fix: Make Edit modal use existing emojis if Global Filter missing by @ilandikov in #2054
  • fix: Prevent date components of Urgency changing at midday by @claremacrae in #2072

📖 Documentation

🛠️ Behind the scenes

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

4.0.0 - Custom Grouping!

15 Jun 18:17
Compare
Choose a tag to compare

What's Changed

Please restart Obsidian after updating the plugin. Thank you.

Most notable

⚠️ Important group by urgency now puts most urgent tasks first, not last.

If your vault uses group by urgency, please update your query blocks like this:

Old instruction Use this instruction instead
group by urgency reverse group by urgency
group by urgency group by urgency reverse

🌟 group by function custom groups! - by @claremacrae and @hauntedhost

  • A powerful, flexible mechanism to give users total control over task grouping.
  • Credit: This work was only made possible by @hauntedhost, who kindly taught me how to evaluate user-supplied functions in TypeScript.
  • Docs

Some example custom groups:

# Group by due date year and month number
group by function task.due.format("YYYY-MM")

# Group by any tags that contain "#context/"
group by function task.tags.filter( (tag) => tag.includes("#context/") )

# The opposite: create headings for all tags that do not contain "#tag".
group by function task.tags.filter( (tag) => ! tag.includes("#tag") )

You can also embed formatting in the group names, as markdown there is rendered.
For example, see the paler text in these group headings:

image


🙏 Supporting Tasks development (Optional!)

The Tasks plugin is completely free to use, and very willingly developed and supported by Clare Macrae since May 2022.

Making the group by function facility so well documented and usable, and this thoroughly tested, has been many, many days of work. It opens up some very exciting future capabilities.

If you would like to support Tasks development, and are able to do so, please see:

Donations will go towards my computing costs and licenses for development tools that I use for productivity. Thank you 🙏.


Main changes

Here are the most notable user-visible changes.

🌟 Features

💪 Fixes

  • fix: Stop bundling Moment in release by @claremacrae in #2016
  • fix: 'remove global filter' broke display of sub-tags of global filter by @ilandikov in #2022
  • fix!!: group by urgency now puts most urgent tasks first, not last by @ilandikov in #2046

📖 Documentation

  • docs: Add Scripting column to Quick Reference, showing property names by @claremacrae in #2033
  • docs: Update snippets and examples in markdown by @github-actions in #2048
  • contrib: Update snippets and examples in markdown by @github-actions in #2002

🛠️ 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):

3.10.0 - Fix Auto Suggest for High priority, more links in Settings

30 May 21:46
Compare
Choose a tag to compare

What's Changed

Please restart Obsidian after updating the plugin. Thank you.

Here are the most notable user-visible changes.

🌟 Features

💪 Fixes

  • fix: Enable 'High priority' to be selected easily in Auto Suggest by @claremacrae in #1996

🛠️ Dependencies

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

3.9.0 - More priorities: Highest & lowest; fix Obsidian 1.3.0 log spam

29 May 20:07
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.

🌟 Features

  • feat: Add new priorities: highest and lowest by @chrabia in #1943
    • Highest: 🔺
    • Lowest: ⏬
    • docs
  • feat: Update Urgency for Lowest to make linear by @claremacrae in #1984

💪 Fixes

  • fix: prevent Obsidian 1.3.0 log spam by @esm7 in #1952

🛠️ 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):