Releases: mxstack/mxmake
Releases · mxstack/mxmake
2.1.0 Monorepo Support
- Feature: Add monorepo support with
PROJECT_PATH_PYTHONsetting.
Python projects can now be located in subdirectories while keeping the Makefile at the repository root. Includes auto-detection ofpyproject.tomlin subdirectories on init,--project-path-pythonCLI flag and preseed file support.
Useful for monorepos with multiple applications (e.g., frontend + backend).
See the "Monorepo Support" section in getting-started.md for details. - Feature: Add
--version(-v) command line flag to display mxmake version.
[jensens, 02-11-2025] - Enhancement: Use tables in the generated sphinx code for topic/domains.
[jensens, 02-11-2025]
Large Overhaul
- Breaking: Drop Python 3.9 support. Minimum Python version is now 3.10.
- Feature: Modernize codebase to use Python 3.10+ features (PEP 604 union types, built-in generic types).
- Critical fix:
SOURCES_TARGETused mxdev wrongly with-o(offline) option.
The offline option had a bug and was fixed in mxdev #34 and released with mxdev>=5.
This fix switches from-oto the correct-f(no fetch from vcs).
To update your makefile usemxmake updatein the folder with yourMakefile. - Fix: theme for newer Sphinx 7.x.
- Fix: interactive uv venv, use
--allow-existinginstead. - Fix: The project was using
pytestas the test runner all along (as configured in the Makefile and generated test scripts), butzope.testrunnerwas incorrectly listed as the dependency. - Feature: Add support for Python 3.14.
- Breaking: Removed
MXENV_UV_GLOBALsetting in favor of automatic UV detection.
WhenPYTHON_PACKAGE_INSTALLER=uv, mxmake now automatically detects and uses
a globally installeduvif available. To force local installation of uv,
simply don't install it globally or remove it from PATH. - Feature: Add
UV_PYTHONsetting to specify Python version for UV-managed virtual
environments. Defaults toPRIMARY_PYTHONfor backward compatibility. This
provides semantic clarity:PRIMARY_PYTHONis the system interpreter path
(e.g.,python3.11), whileUV_PYTHONis the version spec for UV
(e.g.,3.14,cpython@3.14). - Feature: Automatic detection of global UV installation using simple shell check.
No manual configuration required. - Feature: All UV commands now run with
--quiet --no-progressflags for better
CI/CD compatibility and cleaner log output. - Feature: When using global UV, mxmake checks if updates are available using
uv self update --dry-runand displays a helpful non-blocking warning if a
newer version is available. - Improvement: Simplified mxenv.mk logic from 3+ nesting levels to 1-2 levels
using computed intermediate variables (USE_GLOBAL_UV,USE_LOCAL_UV).
Code is now more maintainable and easier to extend. - Tests/CI: Increase coverage, test UV-only scenario.
- Docs: Overhaul and improve. Focus on UV only.
- Chore: Migrate to hatch-vcs for automated versioning from git tags.
testargs added
What's Changed
- Add testargs for pytest via mx.ini by @jensens
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #49
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #48
Full Changelog: v1.2.2...v1.3.0
Bug Fixes
v1.2.1
- Fix test-script to not end with backslash if there is no testpaths (which is valid). Improve tests to cover more edge cases, i.e. above and multi-line.
- Fix Python check for global UV and use PRIMARY_PYTHON for UV as version definition.
- Improve test to read large amount of output from file (Makefile template check).
- Full Changelog: v1.2.0...v1.2.1
v1.2.0
Zope, Help and chores
What's Changed
- feat: add zope-adduser target by @jensens in #42
- feat: first basic impl of a help system by @jensens in #44
- chore: Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in #45
- chore update build system
New Contributors
- @dependabot made their first contribution in #45
Full Changelog: v1.0...v1.0.0
First final release
see CHANGES.md