Releases: obsidian-tasks-group/obsidian-tasks
5.2.0: Query instructions can now contain capital letters
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
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.
π Documentation
- docs: changed wrong definition of done by @koenengels11 in #2412
- docs: add example for query options and using callouts by @Cito in #2447
π οΈ Dependencies
- build(deps): bump actions/setup-node from 3 to 4 by @dependabot in #2365
- build(deps-dev): bump esbuild-svelte from 0.7.3 to 0.8.0 by @dependabot in #2297
- build(deps-dev): bump prettier-plugin-svelte from 2.10.0 to 2.10.1 by @dependabot in #2298
- build(deps): bump postcss from 8.4.30 to 8.4.31 by @dependabot in #2315
- build(deps): bump @babel/traverse from 7.15.4 to 7.23.3 by @dependabot in #2411
- build(deps-dev): bump jest and @types/jest by @dependabot in #2416
- build(deps-dev): bump @evilmartians/lefthook from 1.1.1 to 1.5.2 by @dependabot in #2414
- build(deps-dev): bump @types/mustache from 4.2.2 to 4.2.5 by @dependabot in #2420
- build(deps-dev): bump svelte, svelte-check and svelte-preprocess by @claremacrae in #2421
- build(deps-dev): bump various eslint dependencies by @claremacrae in #2422
- build(deps): bump typescript and tslib by @claremacrae in #2423
- build(deps): bump jest dependencies by @claremacrae in #2424
π οΈ 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
- @koenengels11 made their first contribution in #2412
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!
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.
- See page Query Properties
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:
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
- fix: Correct (unreleased) display of special chars in Mermaid status diagrams by @claremacrae in #2382
- fix: 'Add All Unknown Status Types' now sorts new statuses by symbol by @claremacrae in #2384
- fix: Allow indenting tasks while suggest popup present by @CamerAllan in #2362 - thanks also to @RyotaUshio for help on the Forum.
- fix: hide blockid in reading view by @theotheo in #2368
π 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
- chore: Update to ApprovalTests 6.2.4 by @claremacrae in c4f4750
- refactor: Introduce (empty) SearchInfo class by @claremacrae in #2373
- refactor: SearchInfo now contains list of tasks being searched by @claremacrae in #2374
- refactor: Add SearchInfo param to GrouperFunction by @claremacrae in #2376
- test: Add JestReporter as fallback diff tool - will help CI builds by @claremacrae in 95f2819
- test: Add AutoApprovingReporter, to update failing tests then review git diffs by @claremacrae in e014c72
- test: add task rendering HTML approval tests by @ilandikov in #2405
- test: include description and tags in Visualise HTML tests by @ilandikov in #2407
New Contributors
- @andrewmwhite made their first contribution in #2369
- @CamerAllan made their first contribution in #2362
- @theotheo made their first contribution in #2368
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
What's Changed
π Most Notable
Please restart Obsidian after updating the plugin. Thank you.
\
) 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):
π Publicise inline comments mechanism by @sbliven in #2330
- This has been enabled by the recent Placeholders mechanism
- See section Inline Comments.
π 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
-
Edit Task modal warns if no date set for recurrence by @DanielTMolloy919 in #2316
- See section Recurring tasks must have at least one date
- See section Recurring tasks must have at least one date
-
Double backslashes in line continuations no longer require next line to be blank by @claremacrae in 82c1abb
π Documentation
π New pages:
- Getting Started/Statuses:
- Queries:
- Support and Help:
π New sections:
- Comments:
- Recurring Tasks:
- Tasks Emoji Format:
The changes...
- Add new page 'Known Limitations' by @claremacrae in #2325
- Remove duplicate "path includes" in current file How To by @lukefernandez in #2327
- Wrap long lines in custom filter and group samples by @claremacrae in #2338
- Add new help page 'Breaking Changes' by @claremacrae in #2339
- Advertise line continuation characters in docs by @claremacrae in #2346
- Finish Line Continuation and Inline Comments docs by @claremacrae in #2347
- Colour the code in custom filter & group samples by @claremacrae in #2348
- Add Recurring Tasks's 'Known Issues' to 'Known Limitations by @claremacrae in #2350
- Mermaid status diagrams now machine-generated by @claremacrae in #2351
- Add page 'Recurring Tasks and Custom Statuses' by @claremacrae in #2352
- Major enhancements to 'Recurring Tasks' docs by @claremacrae in #2359
- Refine the wording of the warning in Edit Task modal by @claremacrae in #2360
π οΈ Behind the scenes
- test: Prevent IDEs from stripping spaces from test by @claremacrae in #2336
- refactor: Divide up regex in line continuation code by @claremacrae in #2337
New Contributors
- @DanielTMolloy919 made their first contribution in #2316
- @lukefernandez made their first contribution in #2327
- @sbliven made their first contribution in #2330
βΉοΈ 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
What's Changed
- feature: Add
task.priorityNameGroupText
andtask.status.typeGroupText
by @claremacrae in #2308 - feature: Add custom grouping by 'date category' and 'time from now' by @claremacrae in #2312
- Thanks to @paolo-santucci for help implementing the 'time from now' one.
- date property docs
- docs: major new section Values in TasksDate Properties
Example new instructions:
group by function task.priorityNameGroupText + ': ' + task.status.typeGroupText
group by function task.due.fromNow.groupText
group by function task.due.category.groupText
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
4.8.1: Fix crash at startup on first install - or if settings never before edited
What's Changed
- fix: Prevent crash at startup if user never previously edited settings by @claremacrae in #2303
Full Changelog: 4.8.0...4.8.1
4.8.0: See total task counts, 'group by backlink' now hyperlinks and easier scripting access to paths and filenames
What's Changed
π Most Notable
Dependencies have been updated. Please restart Obsidian after updating the plugin. Thank you.
- Added more query file properties
query.file.pathWithoutExtension
query.file.filenameWithoutExtension
- docs: Values for Query File Properties
- Added more task file properties
task.file.pathWithoutExtension
task.file.filenameWithoutExtension
- docs: Values for Task File Properties
- Add hyperlink to
group by backlink
headings (thanks, @ilandikov)- As well as jumping to the relevant heading, it also shows a hover preview of the section containing the task(s)
- Add total task count to
show task count
display- If a
limit
instruction means not all matching tasks are shown, the total tasks count is shown, such as50 of 686 tasks
. - This is useful when combined with
limit 0
if you just want to see how many tasks match your query. - docs: Limiting
- If a
Main changes
Here are the most notable user-visible changes, and the more significant internal ones.
π Features
- feat: Scripting enables removing file extension from path and filename properties by @claremacrae in #2288
- feat:
group by backlink
headings link to location & show hover previews by @ilandikov in #2285 - feat:
show task count
now shows total, if 'limit' applied by @claremacrae in #2301
π οΈ Dependencies
- chore(deps): bump rrule from 2.7.1 to 2.7.2 by @dependabot in #2120
- chore(deps): bump word-wrap from 1.2.3 to 1.2.5 by @dependabot in #2291
- chore(deps-dev): bump ts-jest from 29.1.0 to 29.1.1 by @dependabot in #2122
- chore(deps): bump boon-js from 2.0.3 to 2.0.4 by @dependabot in #2121
- build(deps): bump @adobe/css-tools from 4.2.0 to 4.3.1 by @dependabot in #2240
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #2248
π οΈ Behind the scenes
- chore: Fix error TS5055: Cannot write file ...tests/global-setup.js by @claremacrae in #2277
- chore: automate detection of circular code dependencies by @claremacrae in #2295
- chore: Specify supported node versions in package.json by @axelson in #2065
- refactor: Introduce GlobalQuery class: the plugin uses a singleton. by @ilandikov in #2215
- refactor: Remove recently-added cyclic dependencies. by @claremacrae in #2279
- refactor: Separate settings out of GlobalFilter by @claremacrae in #2282
- refactor: remove unused return value in
createTasksList()
by @ilandikov in #2280 - refactor: Add getInstance() to GlobalFilter & make all else non-static by @claremacrae in #2283
- refactor: Convert one use of GlobalFilter.getInstance() to instance by @claremacrae in #2286
- refactor: remove cyclic dependencies & optional parameter in
TaskLineRenderer.ts
by @ilandikov in #2284 - refactor: extract data attribute names dictionary from
getComponentDataAttribute()
by @ilandikov in #2255 - refactor: remove destructured object and return in createTaskList() by @ilandikov in #2293
- refactor: remove destructured types in Query.ts by @ilandikov in #2292
- refactor: move code for task counts text to QueryResult by @claremacrae in #2300
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.7.1: 2 fixes for auto-adding Created Date
What's Changed
Please restart Obsidian after updating the plugin. Thank you.
Main changes
Here are the most notable user-visible changes.
πͺ Fixes
- fix: Editing a checkbox line with empty description now adds creation date, if enabled by @ilandikov in #2264
- fix: 'Create or edit task' now adds Created date if adding global filter by @claremacrae in #2274
π οΈ Behind the scenes
- test: Add exhaustive testing of 'Edit task modal' under wide range of scenarios by @claremacrae in #2272
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
4.7.0: Use Query file path, folder, root and name in queries directly
What's Changed
Please restart Obsidian after updating the plugin. Thank you.
π Use Query file path, folder, root and name in queries directly π
- support placeholders like
{{query.file.path}}
in queries by @claremacrae and @ilandikov in #2254- no more need to use dataview to access query file information
- examples:
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.includes( '{{query.file.folder}}' )
- Find tasks in files in the folder that contains the query and any sub-folders.
- Note that the placeholder text is expanded to a raw string, so needs to be inside quotes.
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).
- docs:
Other changes
π οΈ Behind the scenes
- refactor: separate concerns in
TaskLayout.ApplyOptions()
by @ilandikov in #2235 - test: enable combination-testing of async code by @claremacrae in #2251
- test: refactoring to simplify EditTask.test.ts by @claremacrae in #2253
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
4.6.1: Auto-Suggest is more selective
What's Changed
Please restart Obsidian after updating the plugin. Thank you.
Main changes
Here are the user-visible changes.
πͺ Fixes: Auto-Suggest is more selective
- fix: Only show dataview suggestions when there is an open bracket preceding the cursor position. by @kedestin in #2204
- fix: Prevent auto-suggest appearing before the end of the checkbox by @claremacrae in #2244
Docs:
π οΈ Behind the scenes
- refactor: split getComponentClassesAndData() in to 2 functions by @claremacrae in #2226
- refactor: simplify
getTaskComponentClass()
by @ilandikov in #2228 - refactor: remove unused parameter from
TaskLayout
constructor by @ilandikov in #2234 - test: Add tests for logic in EditorSuggestor.onTrigger() by @claremacrae in #2233
- vault: update smoke test for recent code changes by @ilandikov in #2207
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):