Skip to content

4.2.0: Add 'filter by function'

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Jul 19:38

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