Context
mxdev 5.3.1 (PR #88) fixed a long-standing bug where hook namespaces silently swallowed any package whose name merely started with them (e.g. a uv hook claiming uvst.addon). The fix anchored section matching: hook sections must now be named exactly [namespace] or [namespace:subsection] — a colon, because colons cannot appear in Python distribution names.
That broke mxmake. Under 5.3.1, [mxmake-env], [mxmake-mxenv], and every [mxmake-{template}] section is reclassified as a package, then trips ValueError(\"Section mxmake-env has no URL set!\") on the first run.
mxdev 5.3.2 (in PR #89) restores the hyphen form with a deprecation warning, so mxmake keeps working without changes. This issue tracks the eventual migration to the canonical colon syntax.
What's affected in mxmake
With mxdev 5.3.2, all of the above logs a deprecation warning but continues to work.
Suggested migration path
NAMESPACE = \"mxmake-\" → NAMESPACE = \"mxmake\"
ns_name(name) → f\"mxmake:{name}\" for section names
- Settings keys inside
[settings] (e.g. mxmake-templates, mxmake-test-runner) are unaffected by mxdev's change — they are keys, not section names. Renaming them to mxmake:templates etc. for consistency is optional and would itself need its own deprecation cycle.
- Update
src/mxmake/templates/mx.ini → [mxmake:env], [mxmake:{{ template[\"name\"] }}]
- Adjust template generation so both old
[mxmake-*] and new [mxmake:*] keys are recognized during the transition (or accept that users must regenerate)
- Pin
mxdev>=5.3.2 in pyproject.toml (currently >=4.0.2) once mxdev 5.3.2 is released
- Add a release-note section documenting the rename for end users — they'll need to either regenerate from a new mxmake or rename
[mxmake-*] → [mxmake:*] in their mx.ini
Severity / urgency
Not urgent: mxdev 5.3.2 keeps everything working with a warning. Migration can be planned for the next mxmake feature release.
Refs
Context
mxdev 5.3.1 (PR #88) fixed a long-standing bug where hook namespaces silently swallowed any package whose name merely started with them (e.g. a
uvhook claiminguvst.addon). The fix anchored section matching: hook sections must now be named exactly[namespace]or[namespace:subsection]— a colon, because colons cannot appear in Python distribution names.That broke mxmake. Under 5.3.1,
[mxmake-env],[mxmake-mxenv], and every[mxmake-{template}]section is reclassified as a package, then tripsValueError(\"Section mxmake-env has no URL set!\")on the first run.mxdev 5.3.2 (in PR #89) restores the hyphen form with a deprecation warning, so mxmake keeps working without changes. This issue tracks the eventual migration to the canonical colon syntax.
What's affected in mxmake
src/mxmake/utils.py:6—NAMESPACE = \"mxmake-\"(trailing hyphen baked into the namespace)src/mxmake/hook.py:25—namespace: str = NAMESPACEsrc/mxmake/templates/mx.ini— emits[mxmake-env],[mxmake-{{ template[\"name\"] }}]src/mxmake/templates.py:123—self.config.hooks.get(ns_name(self.name), {})mx.iniWith mxdev 5.3.2, all of the above logs a deprecation warning but continues to work.
Suggested migration path
NAMESPACE = \"mxmake-\"→NAMESPACE = \"mxmake\"ns_name(name)→f\"mxmake:{name}\"for section names[settings](e.g.mxmake-templates,mxmake-test-runner) are unaffected by mxdev's change — they are keys, not section names. Renaming them tomxmake:templatesetc. for consistency is optional and would itself need its own deprecation cycle.src/mxmake/templates/mx.ini→[mxmake:env],[mxmake:{{ template[\"name\"] }}][mxmake-*]and new[mxmake:*]keys are recognized during the transition (or accept that users must regenerate)mxdev>=5.3.2inpyproject.toml(currently>=4.0.2) once mxdev 5.3.2 is released[mxmake-*]→[mxmake:*]in theirmx.iniSeverity / urgency
Not urgent: mxdev 5.3.2 keeps everything working with a warning. Migration can be planned for the next mxmake feature release.
Refs