v0.40.0
Features
Watch a document, alert the owning thread on changes (#559) — mark a note as watched and the thread that owns it gets told when it changes, so an agent working from a spec notices when the spec moves under it.
Agent Board ribbon icon (#560) — the Agent Board is now one click from the sidebar instead of a command-palette lookup.
Peer-plugin MCP API (#565) — other Obsidian plugins can register global MCP servers (stdio/http/sse/oauth) and request OS-keychain-backed secrets through Agent Threads via api.v1.mcp.register and api.v1.mcp.requestSecret, rather than reinventing MCP config UI or credential storage. Both reuse the same human-in-the-loop confirmation machinery the agent-facing tools already use — there is no silent path for a peer plugin, and requestSecret never returns the secret value to the caller.
Compass "Send to Agent" receiver (#566) — Agent Threads now listens for agent.handoff events from Compass running in Geode's Web Viewer and seeds a local thread from the handoff context. This ships inert: Compass's sending side isn't built yet, so nothing emits the event in this release. It's the receiving half landing first on purpose — a receiver with no sender is invisible, whereas a sender with no receiver is a dead button.
Fixes
- OAuth MCP consent opens in the system browser, not the Web Viewer (#562) — several providers refuse to complete sign-in inside an embedded view.
- MCP capability tokens stay stable across turns (#563) — they were being regenerated mid-conversation, breaking long-running sessions.
- OAuth MCP scopes default to the resource's advertised list (#564) — instead of a hardcoded guess that some providers rejected.
Maintenance
The screenshot suite is fully green again — 207 passed, 0 failed. Four baselines had been failing for several releases and repeatedly written off as "pre-existing." They turned out to be stale baselines: the diffs were confined to deliberate copy changes in Settings → Pull requests, with the components actually under test rendering pixel-identical. Verified by inspecting the rendered diffs before regenerating, not by assumption.
Install: BRAT → Update all beta plugins. Assets are attached below.