ProxmoxMCP-Plus v0.4.8
This release hardens production behavior for persistent jobs, OpenAPI job controls, inventory reads, metrics cardinality, and release quality gates.
What Changed
- Hardened the SQLite-backed
JobStorewith WAL mode, busy timeout, schema migration tracking, indexes, SQL-side filtering/limits, and explicit connection close lifecycle. - Added policy checks to high-risk job retry paths in both MCP and OpenAPI, including approval-token enforcement.
- Fixed VM guest-agent command execution to poll
exec-statusuntil the command exits and to report non-zero exits as failures. - Reduced large-cluster list overhead by using cluster resource inventory for VM and LXC list defaults, with expensive stats now opt-in for containers.
- Changed OpenAPI Prometheus request labels to use route templates instead of raw request paths, avoiding high-cardinality
/jobs/{uuid}series. - Registered
clone_vmwith the persistent job store, including a persistedvm.cloneretry recipe and plain-text task/job output. - Widened Paramiko runtime support to
paramiko>=4.0.0,<5.0.0so patched 4.x releases can be adopted without another upper-bound change. - Added a tracked temporary
pip-auditexception forCVE-2026-44405while PyPI has no fixed Paramiko release. - Aligned CI and documentation around full
ruff check .,mypy src --ignore-missing-imports,pip-audit, and a 60% coverage gate.
Upgrade Notes
get_containersnow defaultsinclude_stats=false; passinclude_stats=truewhen per-container status/config/RRD detail is required.clone_vmresponses now include a stableJob IDin addition to the raw Proxmox task ID.- CI intentionally ignores only
CVE-2026-44405until a fixed Paramiko release is available. Remove the exception oncepip-audit -r requirements.txtpasses cleanly.
Validation
python -m pytest -q --cov=proxmox_mcp --cov-report=term-missing --cov-fail-under=60python -m ruff check .python -m mypy src --ignore-missing-importspython -m pip_audit -r requirements.txt --ignore-vuln CVE-2026-44405python -m buildpython -m twine check dist\*