Skip to content

3.0.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 11:40
· 15 commits to main since this release

Most of this release is a settings screen. That is the least interesting thing I could lead with, so let me start with the part that is not.

Requires Obsidian 1.13. See Before you update below.

A DataviewJS query could delete itself

Worth updating for on its own.

once and eject runs a query, writes the result into the note, and removes the query — a one-way door by design, for when you want a snapshot rather than something that keeps refreshing.

The bug: when a dataviewjs query failed, the plugin treated the failure as "produced nothing" rather than "did not run". In once-and-eject mode the replacement is the output, so the query got removed and whatever it had previously produced went with it. No error, no notice, no undo.

A failed query now throws. Serialization stops, you get told, and the note is left exactly as it was.

For transparency: this was introduced in the previous commit of this same release cycle while fixing something adjacent, and caught by an adversarial review before it reached anyone. The test written at the time asserted the broken behaviour — a reminder that a test can lock a bug in as easily as keep it out.

A settings screen rebuilt from scratch

The settings pane is no longer drawn by the plugin. It is declared, and Obsidian draws it:

  • Settings are searchable — every name and description is indexed, so typing "folder" finds the folder lists without scrolling past nine toggles.
  • The folder lists have real delete buttons — add, remove and keyboard navigation come from Obsidian instead of a hand-rolled "Remove" button per row.
  • Keyboard navigation, focus handling and screen-reader labelling are Obsidian's, so they behave like the rest of the app's settings rather than approximately like them.

Everything that was there is still there: the three folder lists, the date placeholders in Folders to force update with their live "currently resolves to" preview, the link-format choice, the device-local disable, and the Git status row.

Fast edits no longer overwrite each other

Settings used to be written by building a new settings object and saving it. If a save was still in flight when you changed something else — adding a folder then immediately flipping a toggle — both edits built from the same starting point and the second silently discarded the first.

Writes are queued now, each starting from the last change that actually reached disk. A failed write no longer leaves the screen showing a value that was never saved: the control rolls back to what is really stored.

Two folders added in quick succession both survive. Two folders deleted in quick succession stay deleted. Neither was reliably true before.

Also in this release

  • The repo now lints against the same ruleset the Obsidian community catalog reviewer uses, which surfaced 47 previously invisible findings — including the dv.execute() bug above.
  • Dependency advisories: 30 (1 critical) down to 0.

Before you update

Dataview Serializer 3.0 requires Obsidian 1.13, which is what makes this a major version.

The declarative settings API arrived in 1.13, and it is all-or-nothing: either the whole settings screen is declarative, or none of it is. If you are on an older Obsidian, the community catalog will not offer you this update, so nothing breaks — check Settings → About first.

Your settings carry over untouched, and every command keeps its existing ID, so any keyboard shortcuts you have bound still work.

Install

Update from Community plugins in Obsidian.

For a manual install, download main.js, manifest.json and styles.css below into <Vault>/.obsidian/plugins/dataview-serializer/.

📖 Documentation · 🐛 Issues · ❤️ Support the work