Skip to content

Releases: oekeur/zotero-linked-mindmaps

Release v1.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 13:11

First stable release. Every phase of the roadmap is built, and the stored format is now something later versions migrate rather than break.

⬆️ Upgrading

Zotero's plugin updater will offer this version. To install by hand, download the .xpi below, then Tools, Plugins, gear icon, "Install Plugin From File...", and restart.

Mindmaps made with 0.1.0 or 0.2.0 open unchanged, and one saved by 1.0.0 still opens on 0.2.0.

  • Zotero: 7, 8, 9 and 10.0 are supported and tested. 10.1 and later will not load the plugin until a release confirms them.
  • Menu: the mindmap entry moved from File to Tools. The shortcut is unchanged.

🐛 Fixed from 0.2.0

Five things a 0.2.0 user could run into.

  • Item pane: the Mindmaps section stayed blank until scrolled to, and did not refresh after a link was added elsewhere.
  • Graph: collapsing and expanding the sidebar left the graph too wide until the tab was reopened.
  • Graph: an item with no title drew as a bare circle. It is labelled as untitled.
  • Data: with Zotero 10's multi-select, picking items from two libraries at once wrote nodes into the wrong library's mindmap. Such a selection is refused. Library menu
  • Settings: the default link types stayed English in a Dutch Zotero. They follow the interface language until you first edit the list. Link types

✨ What's new

Grouping was redrawn. A group used to be a box that, on any real layout, covered most of the graph; it is now a region shaped by where its members sit, and a node can belong to more than one.

  • Graph: a group is a shaded region around its members, tight enough to take in no node that is not one. Grouping
  • Graph: grouping an already grouped node adds it instead of moving it. Each group has its own colour, and a pip per group on every member says which ones a shared node is in.
  • Graph: a Re-layout button recomputes positions on request, for the whole mindmap or only the selected nodes. It asks first. Layout
  • Settings: two buttons open the project's bug and feature forms on GitHub. The bug form arrives with your versions, OS and the plugin's recent errors filled in; nothing is sent until you submit. Reporting a bug

🔧 Under the hood

Most commits since 0.2.0 went into how the plugin is verified rather than what it does.

  • Testing: seven user journeys write down the manual verification pass, corrected wherever a live walk found Zotero doing something else. The automated suite runs on a virtual display and waits on conditions instead of fixed sleeps.
  • Tooling: a development session can read the running Zotero's errors, logs and DOM instead of guessing from a blank console, and the scripts that kill or gate a Zotero touch one checkout only.
  • Docs: the internals grew, a drift check ranks pages whose code moved since they were written, and twelve defects in the tooling the plugin is built on are written up with patches for filing upstream.

⚠️ Known rough edges

Two problems carried over from 0.2.0. Neither is solved in this release.

  • Editing one mindmap on two machines before they sync can lose a whole document, not just the conflicting change. Why
  • Hiding the container row patches a Zotero internal, so a Zotero update can bring the row back with no message.

📚 Documentation

Full docs at https://oekeur.github.io/zotero-linked-mindmaps/, including a getting started walkthrough.

Full changelog: v0.2.0...v1.0.0

Release v0.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 19:34

Second release. A full UI redesign, plus fixes for the things 0.1.0 shipped broken.

⬆️ Upgrading

Zotero's plugin updater will offer this version. To install by hand, download the .xpi below, then Tools, Plugins, gear icon, "Install Plugin From File...", and restart.

Mindmaps made with 0.1.0 open unchanged.

🐛 Fixed from 0.1.0

Three features were unusable as shipped, and two gaps let the plugin overwrite or misread its own data. All five are fixed here.

  • Graph: selecting a second node did nothing, which made grouping unreachable. Selection works, and grouping is on the node menu.
  • Dialog: the Add Link window opened with blank labels, a clipped Save button and dropdowns that would not open. Rebuilt.
  • Menu: the library menu always wrote to the first mindmap. It now lets you pick.
  • Item pane: directional links drew two arrows. Now one, and none when the link has no direction.
  • Data: the plugin's own container and storage notes could be added to a mindmap as nodes. Both are refused.
  • Data: trashing plugin data made the plugin build replacements, which looked like a mindmap being erased. It now warns and refuses to write. Recovering plugin data

✨ What's new

The interface was redesigned as a whole rather than adjusted piece by piece. Everything now follows the same patterns and sits more naturally inside Zotero's own UI: fewer permanent buttons, controls placed where you are already looking, and one vocabulary throughout. The item pane and the mindmap tab changed most.

  • UX: the item pane section is Mindmaps, not Connections, and "link" is the only word for what it holds.
  • UX: a link is one row with a type chip, a direction mark and a remove control on hover. The add form stays folded until you want it.
  • Feature: links can be edited in place instead of removed and re-added.
  • Feature: select several items in the library and group them onto a mindmap in one step.
  • Graph: a legend for every line style, plus zoom and fit-to-window.
  • Settings: the link types list draws the actual line each type produces.
  • UX: mindmap rows show their description, and row actions appear on hover.
  • Copy: menu icons, Title Case matching Zotero's own menus, and about ninety strings rewritten in English and Dutch.

🔧 Under the hood

Two changes you will only notice when something goes wrong, or when a new Zotero lands.

  • Logging: errors now reach Help, then Report Errors, without debug logging being on beforehand.
  • CI: every change is tested against Zotero 7, 8, 9 and 10.

⚠️ Known rough edges

Two problems carried over from 0.1.0. Neither is solved in this release.

  • Editing one mindmap on two machines before they sync can lose a whole document, not just the conflicting change. Why
  • Hiding the container row patches a Zotero internal, so a Zotero update can bring the row back with no message.

📚 Documentation

Full docs at https://oekeur.github.io/zotero-linked-mindmaps/, including a getting started walkthrough.

Full changelog: v0.1.0...v0.2.0

Release v0.1.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 17:27

First published build.

Zotero's tags and Related field record that two items are connected, but not how. Zotero Linked Mindmaps adds typed, named links between items and notes, sorts them into named mindmaps, and renders each mindmap as a graph in its own Zotero tab.

Install

Download zotero-linked-mindmaps.xpi from the assets below. If your browser opens it instead of saving it, use "Save link as".

In Zotero: open Tools, then Plugins. Click the gear icon at the top right, choose "Install Plugin From File...", pick the .xpi, and restart Zotero.

Requires Zotero 7. The build carries an update URL, so Zotero's own plugin updater will offer later versions once they're out.

A Zotero plugin that fails to load does so quietly, with no error dialog. After the restart, check that "Zotero Linked Mindmaps" is listed under Tools, then Plugins.

What's in it

  • Link types are a vocabulary you edit rather than a fixed list, each with an optional direction. "Critiques" and "primary source for chapter 3" stay distinct instead of collapsing into one generic "related".
  • Mindmaps are named and separate, so sources split by topic instead of piling into one global graph. Links can still reach from one mindmap into a node that belongs to another; those render styled as external.
  • The graph opens in its own tab, from the File menu or with Shift+G. Link type shows as a label plus a line style, not color alone, and parallel links between the same two nodes are offset so each stays readable.
  • Links are created where you already are: the Connections section in the item pane, a right-click in the library, or a right-click on a node in an open mindmap.
  • Drag a node and its position is stored with the mindmap. Nodes you have not placed get laid out for you.
  • Groups mark a cluster of nodes as belonging together without inventing a link between every pair.
  • Notes are first-class nodes, with a content preview on the node and a tie to their parent item.
  • Each mindmap is a JSON document in a Zotero note, parented to one container item per library, so mindmaps sync with the library through Zotero itself. No separate account, no external file. The container row can be hidden from the library view.

Known rough edges

Trashing the "Zotero Linked Mindmaps (plugin data)" item hides every mindmap in that library until you restore it. Nothing is lost, but it is alarming the first time. The plugin warns you when the container is in the trash; a single trashed storage note produces no warning at all. How to recover.

Sync conflicts are an accepted risk in this version, not a solved problem. A mindmap is one JSON document rewritten in full on every change, and Zotero does not merge note content across devices. Edit the same mindmap on two machines before they sync and one side's copy can overwrite the other's without warning, taking that whole document with it, not just the conflicting change. Why it works this way.

Hiding the container row from the library patches a Zotero internal, so it is off by default and fails open. If a Zotero upgrade breaks it you get one extra visible row, not a broken item tree, and no message saying so.

Documentation

Full docs at https://oekeur.github.io/zotero-linked-mindmaps/. Getting started goes from a fresh install to a first linked mindmap. ROADMAP.md covers what landed in which phase and what is still open.

This is the first tag in the repository, so its commit range is the project's entire history.

Release Manifest

Release Manifest Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Aug 17:27

This release is used to host update.json, please do not delete or modify it!
Updated in UTC 2026-09-15T13:11:22.430Z for version 1.0.0