[0.1.1] — 2026-04-26
Closing the production-readiness gap: full live coverage of all 30 Manus API v2 endpoints (was 23/30 in v0.1.0). Test-only release; no behaviour changes in the runtime library.
Added
- task.update live coverage: embedded into
test_task_lifecycle_minimal— renames the task and changesshare_visibilitybetweentask.detailandtask.stop. - task.sendMessage live test: tests/test_live_e2e.py::test_task_send_message_round_trip — verifies multi-turn conversation by sending a follow-up message and polling
task.listMessagesuntil the marker appears. - task.confirmAction live test: tests/test_live_e2e.py::test_task_confirm_action_via_terminal — triggers a
waitingstate via apwdterminal prompt and confirms with{accept: false, always_allow: false}. Skips with reason if the agent does not invoke a confirmation tool within 120s. - agent.update live test: tests/test_live_e2e.py::test_agent_update_round_trip — saves current
nickname/about, mutates, asserts, reverts. Skips when the account has no agents. - website.publish live test: tests/test_live_e2e.py::test_website_publish_idempotent — discovers any task with an attached website in
task.list, idempotently re-publishes the latest checkpoint. Skips when no website is found. - Webhook live e2e test: tests/test_live_webhook_e2e.py — spawns cloudflared quick tunnel +
manus_mcp.webhook_receiversubprocess, registers a webhook with Manus, fires a tiny task, polls the receiver's SQLite store for thetask_createdevent. Verifies the full delivery chain (Manus → tunnel → receiver → signature verification → store). tests/_webhook_helpers.py: extracted cloudflared/receiver subprocess plumbing so it is reusable from tests andscripts/webhook_e2e_check.py(DRY).- CI cloudflared install:
.github/workflows/live.ymlnow downloads the latestcloudflared-linux-amd64binary before runningpytest -m live, enabling the webhook e2e test on weekly runs. - Local pre-commit hooks installed via
pre-commit install(DoD #10 fulfilled). Addedpre-commit>=4to dev dependencies inpyproject.toml.
Changed
- All 30 Manus API v2 endpoints are now exercised live in some test (with documented graceful skips when the test account lacks the prerequisite — no agents, no website, no IM agent for
agent-default). test_task_lifecycle_minimalis now the single source fortask.updatecoverage to avoid extra credit cost.pyproject.tomlandmanus_mcp/__init__.pyversion bumped 0.1.0 → 0.1.1.
Security
- Local
pre-commithooks active: gitleaks runs on every commit, blocking accidental secret commits. - MANUS_API_KEY rotation remains a user-action step — see docs/SECURITY.md. Any key previously committed in
.envMUST be rotated on manus.im before publication of any work derived from this branch.
Notes
- Live coverage: 30/30 endpoints + 36/36 MCP tools.
- 5 new live tests (~600 LOC of test code added, no runtime LOC change).
- DoD progress: 13/15 done, 2 pending (live workflow needs four weekly runs after rotation; key rotation itself).
Full changelog: https://github.com/aruxojuyu665/Manus-MCP/blob/main/CHANGELOG.md