Originally created by: adityaharishch
Users on macOS 14/15 got this crash on every install:
ImportError: dlopen(libmlx.dylib): Symbol not found in libc++
Referenced from: libmlx.dylib (built for macOS 26.0 which is newer than running OS)
Root cause: The v1.32.0 release CI (macOS 26 runner) compiled apple-fm-sdk into the shared venv tarball. apple-fm-sdk requires macOS 26 at both compile time AND runtime (FoundationModels framework does not exist on macOS 14/15). This stamped minos=26.0 onto libmlx.dylib. Every user on macOS 14/15 who downloaded that tarball hit the crash. Re-running the installer didn't help — the hash-stamp differential skip reused the broken venv every time.
Drop the pre-built venv tarball approach entirely. The venv is now built from PyPI at install time:
uv sync --frozen --python 3.11
PyPI MLX wheels are tagged macosx_13_0_arm64 / macosx_14_0_arm64 — pip's platform filter guarantees the correct ABI for the user's macOS. Pinning --python 3.11 means uv auto-downloads a managed Python 3.11 if the user doesn't have it; no Homebrew dependency required.
install-from-bundle.sh — replace Path A/B/C + _extract_venv with a single uv sync; uv.lock hash-stamp skip preserved so meridian update is instant when deps haven't changed; mlx.core import probe guards the skip to catch any future ABI issuespackage-release.sh — remove entire venv build section (uv sync, apple-fm-sdk compilation, tarball + sha256 upload)verify-release-bundle.sh — remove check [#3] (venv asset integrity); renumber and update commentsmeridian-npm-setup.sh — update stale comment (venv preservation logic is correct and stays).releaserc.json — remove venv GitHub Release asset entriesbash -n passes on all 4 modified scripts ✓.releaserc.json passes python3 -m json.tool ✓meridian setup on macOS 14 installs successfully (uv downloads macosx_13_0_arm64 MLX wheel)meridian update skips uv sync when uv.lock hash unchangedapple-fm-sdk installed via the per-user step🤖 Generated with Claude Code
Ticket changed by: adityaharishch
Originally posted by: adityaharishch
🎉 This PR is included in version 1.32.1 🎉
The release is available on:
v1.32.1Your semantic-release bot 📦🚀