Release Notes 1.0.0
New Features
Auto-Update Source Notes After Sync
Source notes can now be refreshed automatically when a sync completes. Enable the new Auto-update source notes after sync toggle in Settings → Sync to have ZotFlow incrementally re-render source notes for every item that changed during the last sync — unchanged notes are skipped, so the update is fast.
Reader / Source Note Toggle Button
Opening the reader and the source note for the same item is now a one-click action. When a Markdown source note is active, a new action button appears in the editor header bar. Clicking it opens (or focuses) the attached PDF/EPUB in the ZotFlow reader. The reverse also works: when the reader is active, the same button jumps to the source note.
Auto-Copy Annotations
Newly created annotations can be copied to the system clipboard automatically. Configure the new Auto-copy on annotation create option in Settings → Citation:
| Mode | What is copied |
|---|---|
| Off | Nothing (default) |
| Embed link | ![[SourceNote#^annotationKey]] |
| Highlighted text | The raw highlighted text |
| Citation | Formatted citation using your default citation template |
This works for both cloud (Zotero library) and local vault attachments.
Centralized Annotation Sidecar Folder
Local annotation sidecars (.zf.json) can now be stored in a dedicated folder instead of sitting next to each attachment. Set Annotation Sidecar Folder in Settings → General (e.g. .zotflow/sidecars). When set, the original folder hierarchy is mirrored under that folder so sidecar paths remain unambiguous.
Leaving the field empty preserves the existing co-location behaviour.
Library Permissions & Write-Access Gating
A new LibraryService (worker) and LibraryCache (main thread) track per-library capabilities derived from your Zotero API key:
hasNotesAccess— whether the key can read/write child notes for that library.canWrite— whether the key has write permission for that library.
These flags are now used to gate UI actions automatically:
- The note editor and inline editable regions are disabled for libraries where your API key lacks write access.
- The Sync settings tab displays a read-only badge next to libraries you can't write to.
- The tree view hides note-editing actions for read-only libraries.
New Command Palette Commands
Five new commands are now available in the Obsidian command palette:
| Command | Description |
|---|---|
| Open Activity Center | Open the ZotFlow Activity Center |
| Sync all libraries | Trigger a sync for all configured libraries |
| Update all library source notes | Re-render source notes for all synced items (incremental) |
| Force update all library source notes | Re-render all source notes unconditionally |
| Extract all annotation images | Batch-extract annotation images from all synced items |
Sync Task Deduplication
If a sync is already running and another sync request arrives (e.g. from a command or the UI), the second request now waits for the running task to finish rather than creating a duplicate. This prevents redundant work during rapid successive triggers.
Hide Editable Region Markers
Source notes contain HTML comment markers (ZF_NOTE_BEG / ZF_NOTE_META / ZF_NOTE_END) that delimit editable regions. A new Hide Editable Region Markers toggle in Settings → General hides these comment tags in the editor while keeping the lock icon and region border fully visible.
Item Type Filtering in Item Picker and Tree View
The item picker modal and tree view services now support filtering items by type. This enables context-specific pickers — for example, commands that only need attachment items will no longer show notes or regular items.
Improvements
HTML ↔ Markdown Conversion
The note editor's conversion pipeline gains two improvements:
- Task lists —
[ ]and[x]checkboxes now round-trip correctly between Markdown and Zotero's HTML format. - Footnotes — footnote references and definitions survive HTML → Markdown → HTML round-trips.
- Wikilink escaping —
[[wikilink]]syntax inside note content is now properly escaped to\[\[wikilink]]when converting to Markdown, preventing accidental Obsidian links.
Markdown Editor Polish
- Line numbers in the note editor are now hidden when the content does not benefit from them, reducing visual noise.
- The Zotero reader view's read-only enforcement has been tightened to match the library permission model.
Reader Updated to Zotero 9.0.2
The bundled Zotero reader has been updated to the version shipped with Zotero 9.0.2.
Bug Fixes
- Auto-update after sync — Fixed a bug where source notes failed to update correctly after the sync task completed.
- Annotation auto-copy on reader load — Fixed a spurious clipboard write that occurred when the reader initialised and replayed existing annotations, triggering the new auto-copy logic unintentionally.