github blacksmithgu/obsidian-dataview 0.4.5

latest releases: 0.5.66, 0.5.65, 0.5.64...
2 years ago

0.4.5

Bugfix release which includes a few minor features, and documentation improvements. This includes a few breaking changes
which align Dataview more closely with Obsidian preferences, especially around links.

Breaking Change: Frontmatter Links

As per Obsidian recommendation from Licat, Dataview now expects frontmatter links to be quoted. I.e.,

link: "[[Link]]"

Instead of

link: [[Link]]

This resolves a long-standing parse ambiguity error in frontmatter which was hurting people who preferred to use
frontmatter over inline fields. Note that inline fields are unaffected.

(Potentially) Breaking Change: Function Vectorization

A secretive and poorly-documented feature of Dataview allows you to call functions vectorized, where you can pass them
lists of arguments instead of single arguments, and the function will be applied to every element in the list.

If you tried to call a vectorized function with multiple list arguments, it would expand them quadratically before (a
cartesian product). It now expands linearly, where the function will be applied to the first argument of each list,
then the second, and so on. This should make vectorization more usable, especially when doing operations on GROUP BY.

I.e.,

# Before
replace(["hello", "jello"], "ello", ["a", "b"]) = [["ha", "ja"], ["hb", "jb"]]

# After
replace(["hello", "jello"], "ello", ["a", "b"]) = ["ha", "jb"]

More work on vectorization and how it interacts with variable indexing will follow in the future.

Development Experience

The documentation has been updated with instructions on how to build and use Dataview locally; thanks to @sheeley for
adding hot-reloading of the plugin and a test-vault.

Dataview types and utility libraries are now also available on npm as blacksmithhgu/obsidian-dataview; they are
updated every time dataview is updated.

The codebase now uses Prettifier for a consistent formatting experience (even if it does wierd things sometimes I wish
it wouldn't do).

Misc. Bugfixes

  • Fix #213: Use a more permissive task parsing bailout which fixes subtasks not showing up.
  • Fix #385: replace() replaces all instances.
  • Fix #415: Only add markdown files to prefix index
  • Fix #310: Sort links by display name, fixing simple date comparisons
  • Fix #440: Add LIST WITHOUT ID.
  • Fix #401: Restore original behavior of [[]].
  • Fix #375: Add WITHOUT ID for lists.
  • Fix #344: Add containsword(), which is a case-insensitive contains which checks for exact word matches.
  • Fix #419: Improve docs around link indexing

Don't miss a new obsidian-dataview release

NewReleases is sending notifications on new releases.