Repository navigation
v0.1.8
Release Notes: Matrix SDK Installer v0.1.8
This release focuses on a major overhaul of the installer's robustness, reliability, and debuggability. The failover logic for both runner discovery and dependency installation has been significantly enhanced to handle a wider variety of project configurations automatically, ensuring a smoother and more predictable installation experience.
Key Enhancements
🚀 Greatly Improved Installation Reliability
- Guaranteed Environment Isolation: The installer now creates a fresh, fully isolated Python virtual environment for every single run (
clear=True,system_site_packages=False). This prevents errors caused by corrupted states from previous failed installations and guarantees that the host system's environment is never affected. - Intelligent Runner Discovery Failover: Fixed a critical bug where installations would fail if a
runner.jsonwas not explicitly defined. The installer now includes a final failover step:- If no runner is found in the manifest or a
runner.jsonfile, the installer will now detect the presence ofpyproject.tomlorrequirements.txt. - Upon detection, it synthesizes a placeholder runner configuration. This allows the installation to proceed to the dependency installation phase, resolving the "runner not found" class of errors.
- If no runner is found in the manifest or a
🧠 Smarter and More Flexible Dependency Management
The dependency installation logic has been redesigned to follow a more intelligent, multi-layered failover procedure that respects modern Python packaging standards:
- Runner Instructions First: Strictly adheres to any dependency instructions found in the discovered
runner.json(from the manifest or a file). requirements.txtFallback: If the runner provides no instructions, it automatically looks for and uses arequirements.txtfile.- Comprehensive
pyproject.tomlHandling: As a final fallback, it now correctly handles projects managed withpyproject.toml:- Poetry Application Support: Intelligently detects "non-package mode" Poetry projects and correctly runs
poetry installto manage their dependencies. - Standard Packages: For all other standard packages, it uses a robust editable install (
pip install -e .) with an automatic retry to a non-editable install (pip install .) upon failure.
- Poetry Application Support: Intelligently detects "non-package mode" Poetry projects and correctly runs
🛠️ Enhanced Debugging and Diagnostics
- Verbose Logging: The entire installation process is now instrumented with extensive debug logging.
- Easy Debug Mode: To see a full step-by-step trace of the installer's logic, simply set the environment variable
MATRIX_SDK_DEBUG=1before running your script. This makes it significantly easier to diagnose any installation issues.