Skip to content

Releases: blacksmithgu/obsidian-dataview

0.4.4

11 Aug 05:44
Compare
Choose a tag to compare

0.4.4

Feature release with some bugfixes for flatten and group by.

Lambdas

Adds basic lambda support to the dataview query language along with some functions which accept it. Lambdas have the
form (arg1, arg2, ...) => expression; for example:

(x) => x + 2
(tag) => contains(tag, "yes")
(a, b) => a + b

The following methods have been updated to support lambdas:

  • any(list, lambda): Returns true if the lambda returns true for any value in the list.
  • all(list, lambda): Returns true if the lambda returns true for all values in the list.
  • none(list, lambda): Returns true if the lambda returns true for no values in the list.
  • map(list, lambda): Returns a new list where the lambda has been applied to each element.
  • filter(list, lambda): Returns a new list consisting only of elements that the lambda returned true for.

Primitive Lists & Objects

You can write lists using a primitive JavaScript-like syntax: [1, 2, 3]; you can additionally write objects using a
primitive JavaScript-like syntax: { key1: value1, key2: value2 }. These are mostly useful for complicated sort and
equality checks, though will be more useful in the future as subqueries and complex FROM statements are added.

Bugs

  • #378: Fixes some list rendering.
  • #398: Fixes issues with the FLATTEN statement.

0.4.3

30 Jul 06:03
Compare
Choose a tag to compare

This is a bugfix release which also includes a few highly requested QOL features.

Timezone Date Support

Dataview now supports dates with milliseconds (HH:MM:ss.mmm), as well as dates with
timezones (HH:MM:ssZ or HH:MM:ss+6:30).

Fixed CSV Support

Several performance issues and bugs related to csv support have been fixed; you can query from a csv file via

TABLE WITHOUT ID field1, field2, ... FROM csv("path/to/file.csv")

Removing the 'File' field

You can remove the default 'File' or 'GROUP' fields now using the 'WITHOUT ID' qualifier in a table query:

TABLE WITHOUT ID ... FROM
...

Custom Date Formats

You can now specify the default date format that dataview should use everywhere in the settings. You can also
use custom formatting inside of the query language with the new dateformat(date, "...format...") function.

Index Fixes

Several issues with files not properly reloading due to renames or deletions have been fixed.

0.4.2

23 Jul 07:21
Compare
Choose a tag to compare

Adds support for simple queries from CSV, as well as custom dataviews, and a few bugfixes.

CSV Queries

You can query data from CSV files using the csv() modifier:

TABLE file.name, field, field2 FROM csv("file.csv")

Which will select "field" and "field2" from CSV. You can select from multiple CSVs:

TABLE file.name, field, field2 FROM csv("file.csv") or csv("file2.csv")

Custom Dataviews

You can now create custom dataviews for usage in DataviewJS (available through dv.view()). The function can be used as
such: dv.view("path/to/view", input). A custom view is a folder containing view.js, which should be JS code that
will be loaded and provided with the dv object and your input argument. For example, a trivial view which renders
whatever 'input' is:

test-view/view.js:

console.log("hi!");
dv.paragraph(input);

You could then execute this view using dv.view("test-view", 16); in another dataview. Views can also include CSS files
in the same folder (like test-view/view.css), which will be applied when the view is rendered.

Automatic Build/Testing on GitHub

Mostly useful for development, but all commits and pull request are now checked that they properly build and commit.

Bugfixes

  • #160: Better emoji handling.
  • #327: Fix GROUP BY behavior.
  • #339: You can now disable DataviewJS codeblocks.

0.4.1

11 Jul 23:24
Compare
Choose a tag to compare

Hotfix release which corrects spurious scary-looking error messages, as well as link comparisons and usage of this in
queries. Fixes #323, #324.

0.4.0

11 Jul 05:58
Compare
Choose a tag to compare

Major internal refactor, but which includes several nice new bugfixes!

  • Much better refreshing logic, so views should properly refresh when dataview starts up.
  • Indexing has been moved to several background worker threads, improving performance and preventing dataview from
    causing frontend freezes.
  • Dataview Inline JS! Use $= <js> to evaluate an inline JS expression. You have access to dv, like in DataviewJS.

0.3.13

04 Jun 22:47
Compare
Choose a tag to compare

Various small bugfixes:

  • #265: join now works on single values.
  • #262: Remove limiation on how long fields can be.
  • #253: Fix (most) cases of emoji messing up field names.
  • #263: Index now properly updates on renames and deletes.

0.3.12

26 May 23:07
Compare
Choose a tag to compare

Fix #247, #246.

0.3.11

25 May 22:17
Compare
Choose a tag to compare

Fix #228; empty lists no longer render as ''.

0.3.10

25 May 22:12
Compare
Choose a tag to compare

Small release before bigger feature work. Potential hotfix for people struggling with long index wait-times (#231, #239, #244).

0.3.9

19 May 23:46
Compare
Choose a tag to compare

Fix a random debugging console.log that snuck it's way into the last release.