Skip to content

Large Overhaul

Choose a tag to compare

@jensens jensens released this 24 Oct 00:07
· 17 commits to main since this release
  • 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_TARGET used 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 -o to the correct -f (no fetch from vcs).
    To update your makefile use mxmake update in the folder with your Makefile.
  • Fix: theme for newer Sphinx 7.x.
  • Fix: interactive uv venv, use --allow-existing instead.
  • Fix: The project was using pytest as the test runner all along (as configured in the Makefile and generated test scripts), but zope.testrunner was incorrectly listed as the dependency.
  • Feature: Add support for Python 3.14.
  • Breaking: Removed MXENV_UV_GLOBAL setting in favor of automatic UV detection.
    When PYTHON_PACKAGE_INSTALLER=uv, mxmake now automatically detects and uses
    a globally installed uv if available. To force local installation of uv,
    simply don't install it globally or remove it from PATH.
  • Feature: Add UV_PYTHON setting to specify Python version for UV-managed virtual
    environments. Defaults to PRIMARY_PYTHON for backward compatibility. This
    provides semantic clarity: PRIMARY_PYTHON is the system interpreter path
    (e.g., python3.11), while UV_PYTHON is the version spec for UV
    (e.g., 3.14, [email protected]).
  • Feature: Automatic detection of global UV installation using simple shell check.
    No manual configuration required.
  • Feature: All UV commands now run with --quiet --no-progress flags 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-run and 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.