Symptom
Updating Nexus through Obsidian → Community plugins → Update fails for v5.9.7 with a generic error. Users have to manually download release assets (gh release download v5.9.7 ...) and copy them into .obsidian/plugins/nexus/ to receive the v5.9.7 bits.
Root cause
The v5.9.7 release tag is v5.9.7 (with leading v), but manifest.json in the same release declares "version": "5.9.7" (no prefix).
Obsidian's community-plugin updater queries GET /repos/{owner}/{repo}/releases/tags/{manifest.version} — i.e., it looks for the tag 5.9.7, not v5.9.7. Empirically:
$ gh api repos/ProfSynapse/nexus/releases/tags/5.9.7
{"message":"Not Found","documentation_url":"...","status":"404"}
$ gh api repos/ProfSynapse/nexus/releases/tags/v5.9.7
{"tag_name":"v5.9.7","name":"v5.9.7 — Fix archive visibility on tagged states", ...}
The 404 is what the updater sees, so it bails.
Convention break
Every prior release in the 5.x line uses an unprefixed tag (5.6.6, 5.7.0, ..., 5.9.5, 5.9.6). v5.9.7 is the first one with the v prefix — looks like a tagging slip rather than a convention change, since the manifest version stayed unprefixed.
Repro
- Have Nexus ≤ 5.9.6 installed in a vault.
- Settings → Community plugins → Check for updates → Update.
- Update fails for Nexus (succeeds for any other plugin that doesn't have the prefix mismatch).
Suggested fix
Either:
- Re-publish v5.9.7 with tag
5.9.7 (matching the manifest version), or
- Push an additional tag
5.9.7 pointing to the same commit as v5.9.7 so the API resolves both.
The first option is cleaner; the second avoids touching the release. Either restores Obsidian auto-update for everyone on v5.9.6 and earlier.
Note
For future releases, keeping the tag format consistent with manifest.version (no prefix) preserves Obsidian's updater contract — it's a direct string lookup, not a semver-aware match.
Thanks!
Symptom
Updating Nexus through Obsidian → Community plugins → Update fails for v5.9.7 with a generic error. Users have to manually download release assets (
gh release download v5.9.7 ...) and copy them into.obsidian/plugins/nexus/to receive the v5.9.7 bits.Root cause
The v5.9.7 release tag is
v5.9.7(with leadingv), butmanifest.jsonin the same release declares"version": "5.9.7"(no prefix).Obsidian's community-plugin updater queries
GET /repos/{owner}/{repo}/releases/tags/{manifest.version}— i.e., it looks for the tag5.9.7, notv5.9.7. Empirically:The 404 is what the updater sees, so it bails.
Convention break
Every prior release in the 5.x line uses an unprefixed tag (
5.6.6,5.7.0, ...,5.9.5,5.9.6). v5.9.7 is the first one with thevprefix — looks like a tagging slip rather than a convention change, since the manifest version stayed unprefixed.Repro
Suggested fix
Either:
5.9.7(matching the manifest version), or5.9.7pointing to the same commit asv5.9.7so the API resolves both.The first option is cleaner; the second avoids touching the release. Either restores Obsidian auto-update for everyone on v5.9.6 and earlier.
Note
For future releases, keeping the tag format consistent with
manifest.version(no prefix) preserves Obsidian's updater contract — it's a direct string lookup, not a semver-aware match.Thanks!