0.4.6
Task feature release, and general bugfix release which fixes some performance issues due to a bad CSV implementation,
adds asynchronous script support, and fixes some performance issues for DataviewJS.
Task Improvements
Thanks to @sheeley, Dataview is finally getting some task query improvements! It is frankly still really janky, but much
more usable. TASK
queries can now filter over tasks instead of just pages in the WHERE
, SORT
, and GROUP BY
statements. So things like:
TASK WHERE !completed
Or
TASK WHERE contains(text, "haha")
Are now possible. Note that FROM
statements in task queries still select based on pages for now until we finish the
revamp, so
TASK FROM #tag
will still select tasks from pages with the given tag. That being said, you can select tasks with the given tag via a
quick TASK WHERE contains(text, "#tag")
.
More improvements and general performance upgrades for task queries are already in the works, and should be available in
0.4.7.
Asynchronous CSV Loading
Dataview now properly loads CSVs on-demand and asynchronously, instead of trying to index them all when Dataview starts
up (which is bad and horridly slow). This will fix performance problems for people who have lots of CSV files, though
the downside is that the JavaScript API dv.csv
call has been made asynchronous and moved to a sub-api. If you want to
load CSV files in DataviewJS, use
let data = await dv.io.csv("path");
The API supports local files in the vault OR files that can be fetched via AJAX (so http, https):
let data = await dv.io.csv("https://some.domain.com/thing.csv");
DataviewJS blocks have been updated to automatically support asynchronous calls, so you can now use await
and async
.
Bug Fixes
-
Improve #454: Revert link comparison behavior to default
-
Improve #462: Don't render unrecognized classes
Prevents some freezes if you have a preview window open and try to
render$= dv
or something.Also adds a few more nice functions like
min
andmax
. -
Improve #462: Add max render depth for values to avoid freezes