Upgrading dmx
Upgrading dmx takes two steps: update the package your IDE runs, then refresh the rule files dmx copied into your repo. The package brings new behavior. The rules tell your agent how to use it.
Step 1: Update the package
Your IDE runs dmx through uvx, which can keep using a copy it already downloaded. To make sure you get a new release, name the version in your MCP config.
Pin an exact version, so everyone on the team runs the same one:
{
"mcpServers": {
"dmx": {
"command": "uvx",
"args": ["--from", "deepmodel-dmx==0.5.0", "dmx", "serve"]
}
}
}Or always run the newest release:
{
"mcpServers": {
"dmx": {
"command": "uvx",
"args": ["--from", "deepmodel-dmx@latest", "dmx", "serve"]
}
}
}Every IDE uses this same mcpServers config, in .cursor/mcp.json, .mcp.json, or ~/.copilot/mcp-config.json (see MCP Setup). Restart your IDE after saving. If you added dmx to Claude Code for all projects with claude mcp add --scope user, run claude mcp remove dmx and add it again with the new version.
Step 2: Refresh the rules
On a branch, run:
/dmx/upgradeIt rewrites the dmx rule files in your repo, such as .cursor/rules/ or the dmx block in CLAUDE.md, for every IDE that already has them, plus the one you're using. Content outside the dmx block in shared files is left as it is. If the rules are already current, it says so and changes nothing.
Then open a new chat so the new rules take effect, and commit the changed files.
/dmx/upgrade doesn't touch .dmx/config.md, the memory bank, or .dmx/jobs/, and it doesn't commit for you.
If your repo's rules are older than the installed dmx, run_loop, loop_status, and list_skills add a reminder to their reply:
Your dmx rules are from 0.4.0 (dmx is 0.5.0). Run `/dmx/upgrade`.Upgrading to 0.5.0
Run /dmx/upgrade once in every repo. Skill discovery and the updated loop handling are in the 0.5.0 rules.
Custom loops with coverage_threshold. The bundled Dev Loop no longer lists this check, because the bundled run_tests never reported it. If you copied the old Dev Loop into .dmx/loops/dev.yaml or a shared source, remove the check or implement it in your own run_tests. Otherwise the missing check raises a warning, and a passing Dev Loop stops there instead of moving on to the Validate Loop.
Validator time limits. Validators used to stop after 120 seconds, which could cut off a test suite. The default is now 630 seconds, and you can change it per validator with timeout_seconds.
Repos without ticketing. dmx 0.4.2 filed loop runs for repos with ticketing set to none under .dmx/jobs/none/. Each branch now gets its own job folder. An in-progress run moves to its branch's folder the first time you run a loop command, and dmx tells you when it does. Completed runs stay in none/.
Spec Loop check. The Spec Loop has a new required check, spec_identity_matches_branch. A spec whose frontmatter names a different branch now pauses the loop instead of moving on to the Plan Loop.
See the Changelog for everything in the release.