Repository navigation
v0.9.2
Moodle CLI 0.9.2
moodle mcp deploy works again. Since 0.8.0 it could not finish, and each attempt
left the Worker unable to sign new clients in.
The deployment check read a retired result shape
0.8.0 gave the CLI and the MCP server one shared vocabulary, and the tools became
home, units and unit. The check that decides whether a new release is healthy
was not moved with them: it still called get_user, list_courses and get_course,
and read user.fullname, courses[] and course.course.id. The Worker answered
correctly every time and the check read the wrong fields, so every deploy ended at
MCP_SMOKE_FAILED.
That was not only a failed command. A deploy publishes a recovery release before the
check runs — it carries the session re-encrypted under the new key — and a failure
deliberately restores it rather than the older version that can no longer read the
session. The recovery release serves Moodle data over the token your clients already
hold, but it has no authorization server, so /oauth/* answered 503 and a hosted
client asked to connect reported that it could not register with the sign-in service.
Because the token path kept working, moodle mcp status reported pass throughout.
The check now calls the tools the server advertises and reads the fields their
contracts define, a test feeds the real server's results to the check's own parser so
a future rename fails CI instead of production, and moodle mcp status says plainly
when the recovery release is the live one.
If a deploy left your Worker on the recovery release, moodle mcp deploy on this
version restores it; nothing else is needed, and your session, tokens and client
configuration are untouched.
The MCP screens are coloured like the rest of the CLI
mcp deploy and mcp status were the last human output built as plain strings. They
now use the same theme as every other screen: headings stand out, the endpoint and
the commands worth typing are the colour you already learned means "you can type
this", dates and labels recede, and status words carry their meaning — green for
ready, amber for missing or not connected, red for failed. Stage ticks are green as
they complete.
Colour follows the same rules as everywhere else: NO_COLOR, --no-color, a pipe or
--json all turn it off, and because progress is written to stderr while the summary
goes to stdout, both have to be a terminal before either is painted. With colour off
the output is byte-for-byte what it was before.
Upgrade
npm install -g moodle-cli@0.9.2No configuration or cache format changes.