v0.1.7
Matrix CLI — v0.1.7 Release Notes
This release focuses on reliable local installs, clearer diagnostics, and first-class support for MCP connectors. It pairs with the SDK improvements (v0.1.10) so the CLI “just works” on fresh machines—especially on macOS.
Highlights
-
Auto-clone from manifest
When the Hub plan returnsartifacts: [], the CLI (via the SDK) now discovers repositories from the manifest and clones them by default. No extra flags required. -
Smarter runner discovery
Theinstallpath can now source a runner from:runner_b64/runner_urlon the plan (relative URLs resolved against provenance).- Embedded
runnerobjects. - Embedded manifests (direct runner or v1 server URL → connector).
- An existing
runner.json(including shallow search). - MCP registration (synthesizes a connector when a
server.urlis present).
-
Hardened networking (great on macOS)
HTTP fetches prefer the OS trust store viatruststore, with a certifi fallback. Fewer TLS surprises; better behavior behind corporate proxies. -
Actionable logs & UX
Consistent INFO/DEBUG logs acrossinstall,run,ps,logs,doctor, andstop. You’ll see what was planned, what was fetched, and why a path was taken.
New
-
installauto-discovers repo(s) from:repository/repositoriesin manifest (embedded or fetched from provenance).- Lockfile provenance (when the Hub embeds a
source_url).
-
Connector synthesis when the plan/manifest includes an MCP server:
- The CLI will generate a minimal connector
runner.jsonif needed, soruncan attach to the remote SSE endpoint immediately.
- The CLI will generate a minimal connector
-
GitHub URL normalization:
github.com/.../blob/<branch>/path→raw.githubusercontent.com/.../<branch>/pathraw.githubusercontent.com/.../refs/heads/<branch>/path→.../<branch>/path
-
Safer git defaults:
- If no
refis provided in the manifest, we omit it and let git use the repository’s default branch (no more forcedmaster).
- If no
Changed
-
Errors during artifact fetch are now surfaced as typed failures (propagated from the SDK), yielding clearer messages instead of silent skips.
-
Deterministic runner discovery order with explicit, per-strategy logging (so you can tell which strategy produced your
runner.json). -
Consistent command messages:
installprints plan/installer summaries.runclearly distinguishes local processes vs. connectors (pid 0).doctorsummarizes status and common misconfigurations.
Fixed
- Situations where no repos were cloned because the Hub didn’t enumerate
artifacts. - Relative
runner_urlnot resolving against provenance in certain plans. - Logs that previously contained stray format placeholders or unhelpful messages.
- TLS trust issues on macOS when fetching manifests/runners from GitHub.
Quality-of-Life
- Better defaults: shallow search for
runner.jsonskipsnode_modules,.venv,.git,__pycache__. - Atomic writes for
runner.json; traversal-safe path handling when writing files. - More helpful
logsandpsoutputs for connectors (clearly shows “no local process”).
Environment variables & Flags
Advanced tuning (the CLI passes these through to the SDK):
MATRIX_SDK_DEBUG=1— verbose DEBUG logs in CLI + installer pipeline.MATRIX_SDK_HTTP_TIMEOUT=15— fetch timeout (seconds).MATRIX_SDK_MANIFEST_DOMAINS— allow-list for manifest fetches
e.g.raw.githubusercontent.com,github.com,codeload.github.comMATRIX_SDK_ENABLE_CONNECTOR=1— enable connector synthesis strategies (default on).MATRIX_SDK_RUNNER_SEARCH_DEPTH=2— depth for shallowrunner.jsonsearch.
Common flags remain unchanged (e.g., --alias, --target). No breaking CLI flag changes.
macOS Notes
- Uses macOS system trust (Keychain) via
truststorewhen available, withcertififallback. - Atomic file operations are APFS-friendly.
- Shallow directory scanning avoids heavyweight folders during discovery.
Upgrade Guide
- No breaking changes to CLI commands.
- If your manifests previously omitted
ref, that’s now fine—the default branch will be used automatically. - To debug installs, export
MATRIX_SDK_DEBUG=1and re-runinstall; logs will pinpoint planning, repo discovery, and runner selection.
Known Limitations
- Connector mode (
pid=0) intentionally does not spawn a local process.logswill be empty unless your connector server emits logs elsewhere. - If you restrict
MATRIX_SDK_MANIFEST_DOMAINS, ensure any provenance URLs are included—or repository discovery via manifest fetch will be skipped.
Thanks
Big thanks to folks who reported empty artifacts / no-clone issues, relative URL edge cases, and macOS truststore hiccups—your reports shaped this release.
—
v0.1.7 makes the CLI more forgiving, more transparent, and much easier to use on fresh machines. If you hit anything odd, run with MATRIX_SDK_DEBUG=1, capture the output of install → run → doctor, and share it—we’ve made the logs specifically to speed up troubleshooting.