Releases: mironmax/claudecode-plugins
Releases · mironmax/claudecode-plugins
v0.9.14 — first run actually works: venv bootstrap + server auto-start
This release fixes the single biggest adoption blocker: a fresh install could not complete first run. There was no venv bootstrap anywhere — kg-memory start failed with venv/bin/python: No such file on any machine where the environment hadn't been built by hand, and plugin updates wiped it again by installing into a fresh directory.
Fixed
manage_server.sh/manage_visual.shnow build the Python environment automatically on start when it's missing or incomplete (one-time ~1 min; a marker file ensures a half-finishedpip installis retried, not trusted). This covers both first run and every post-update run.
Added
- Server auto-start: a bundled SessionStart hook health-checks the memory server on every session and launches it in the background when down. "Install → restart → done" is now literally true — no terminal, no scripts, no server management. The hook only ever starts the server; it never touches one you're running.
- When a session connected while the server was down, the kg tools stay offline for that session (Claude Code's MCP handshake went stale). The hook now tells Claude to walk you through the one step only you can do:
/mcp→plugin:knowledge-graph:kg→ Reconnect.
Changed
- README rewritten around the real first-run experience: Python 3.10+ stated up front, plus a "Your first five minutes" section — what Claude says when memory kicks in, how to seed the graph with
/kg-extractand/kg-scout, and what to ask next session.
Full details in CHANGELOG.md.
v0.9.13 — editor project-graph writes, refill that actually refills, security hardening
Born from a full in-depth review of the plugin (code, architecture, security) — every fix below is covered by the new test suites.
Fixed
- Visual editor writes to project graphs — creating a node, editing gist/notes/touches inline, and creating an edge on a project graph all returned 500 (the write-side sibling of the 0.9.12 recall/delete fixes). All node/edge operations now share one graph-addressing path.
- REST
DELETE /api/edges/...passed arguments in the wrong order and always failed (latent — the editor has no delete-edge UI yet). - Refill dead band — refill triggered only below 0.6× budget but filled to 0.8×, so graphs that settled between 0.6 and 0.8 never refilled: headroom sat unused while knowledge stayed stranded in the archive. Refill now acts whenever the graph is below the 0.8 fill ceiling, skips oversized candidates instead of letting one giant gist block the queue, and re-scores after each promotion so archived clusters lead themselves back.
kg_searchcould race the background maintenance thread (moved into the store, behind the lock); graph reads return snapshot copies.- Server shutdown ran the data flush twice with ~10s total latency; now idempotent and immediate.
Security
- Healer ReDoS, complete fix (CodeQL alert 12) — the previous lookahead fix left a quadratic path (7.7s on a crafted 140KB gist); the attribute-tail is now bounded and the same input heals in 100ms.
- WebSocket Origin validation — browsers don't apply CORS to WebSocket upgrades, so any web page could previously connect to the local server and receive live graph broadcasts. Non-local Origins are now rejected.
- Host-header validation on every HTTP/WS request of both servers (anti DNS-rebinding,
421). - Server-side identifier validation for node ids, edge endpoints, and rel types — markup can't enter the store and reach rendering surfaces. Existing graphs are unaffected.
- Visual-editor XSS hardening (quote-escaping, no inline-onclick interpolation).
- SECURITY.md now states the trust boundary explicitly.
Changed
- REST API extracted to
mcp_http/rest.py; validation errors return400with a real message, and the editor shows it. - Server/editor logs moved from
/tmpto~/.local/state/knowledge-graph/. - Two test suites run before every release now:
tests/test_core.py(59 assertions) andtests/test_http.py(28 assertions, every REST endpoint in-process). - Docs and wiki refreshed: git auto-commit backup story, refill semantics, current token defaults.
Full details in CHANGELOG.md.
v0.9.9 — scorer redesign, security hardening, visual editor demo
What changed
Scorer redesign
- Dropped
richnessdimension (rewarded verbosity, not value) connectednessnow counts only edges to active nodes, weighted in×0.66 + out×0.33- Grace period based on creation time only — reads and updates no longer reset it
- Resurrection pass after archiving: if a previously-archived node outscores a freshly-archived one by ≥0.05, they swap back
Security
- Path traversal protection: user-supplied project paths validated against home directory before any file operations
- Exception details no longer returned in HTTP 500 responses from the visual editor
SECURITY.mdadded with responsible disclosure instructions.github/dependabot.ymladded — weekly pip dependency monitoring
Dependencies updated
- mcp, pydantic, uvicorn, httpx, fastapi all bumped to latest
Docs
CHANGELOG.mdadded- Demo GIF added to README
- Wiki scoring formula updated
Install
/plugin marketplace add mironmax/claudecode-plugins
/plugin install knowledge-graph@maxim-plugins
bash ~/.claude/plugins/knowledge-graph/install_command.sh