Skip to main content

ZotFlow 1.2.1

This release makes footnote citations reliable when you customize their templates, and fixes a logging regression in background tasks.

Updating is safe. Your existing notes and settings keep working. If you use a custom Footnote Definition Template, see Action needed below to get the most out of the new behavior.

Highlights

  • Footnote references and their definitions now always share the same marker — even with custom templates and per-annotation footnotes.
  • Footnote Definition Templates can now loop over annotations, just like the reference template.
  • Fixed missing task telemetry in the Activity Center.

Footnote citations that stay aligned

Previously, if your Footnote Reference Template produced a marker other than the citation key — for example [^smith2024-p13] — the definition appended at the bottom of the note still used the raw citation key ([^smith2024]:). Obsidian couldn't connect the two, so you had to fix the marker by hand:

lorem ipsum[^smith2024-p13]

[^smith2024]: <reference> ← didn't match

Now the reference and its definition always use the same marker:

lorem ipsum[^smith2024-p13]

[^smith2024-p13]: <reference> ← matches

How it works now: the Footnote Definition Template receives the same annotation context as the Footnote Reference Template and is responsible for emitting its own [^marker]: prefix. This lets a single template produce one reference and one matching definition per annotation, keeping them aligned by construction rather than by guesswork.

No duplicate definitions. When you insert the same citation again, existing definitions are detected per-marker and skipped — while a newly added annotation's definition is still appended.

Action needed: custom footnote templates

If you use the default footnote templates, you don't need to do anything — the default definition now outputs a complete [^citationKey]: … line automatically.

If you have a custom Footnote Definition Template, update it to include the [^marker]: prefix itself so it matches your reference template. ZotFlow will show a reminder notification whenever it falls back to the old behavior.

Before (body only — legacy):

{{ item.creators[0].name }}, *{{ item.title }}*, {{ item.year }}

After (owns its markers):

[^{{ item.citationKey | default: item.key }}]: {{ item.creators[0].name }}, *{{ item.title }}*, {{ item.year }}

Make sure the markers match your Footnote Reference Template, for example:

[^{{ item.citationKey | default: item.key }}]

Legacy body-only templates still work: ZotFlow prepends a single marker derived from the rendered reference. The reminder notification links here so you can update when convenient.

Bug Fixes

  • Footnote definition marker mismatch — custom footnote reference markers now always match their generated definitions (see above).
  • Duplicate footnote definitions — inserting the same citation repeatedly no longer appends duplicate definitions; deduplication is now per-marker.
  • Missing task telemetry — fixed a regression where logs from background tasks (such as batch note generation) could be dropped and never reach the Activity Center. Task telemetry is now consistently visible. This is an internal reliability fix with no change to how tasks run.