What's fixed in alpha.2
Important
macOS users run this after installing:
xattr -dr com.apple.quarantine /Applications/StemDeck.app
macOS Gatekeeper will block the app on launch without this step. Proper code signing is planned for a future release.
Python runtime (ModuleNotFoundError: No module named 'encodings')
The backend failed to start on any user machine because the bundled Python runtime was missing its standard library. The root cause was using python -m venv to build the runtime pack venvs only create site-packages/ and borrow stdlib from the build machine's Python prefix, which doesn't exist on user machines.
Fix: The runtime pack now bundles the full python-build-standalone (UV PBS) Python installation, which already contains the complete stdlib at lib/python3.12/. PYTHONHOME is set at launch to point Python to this bundled location.
Stale/broken runtime no longer blocks upgrade
If a broken runtime from a previous install was on disk, the app would detect the Python binary as "ready", skip re-extraction, and crash. probe_runtime now runs python -c "import encodings" to validate the stdlib is actually working before declaring the runtime healthy. A broken install triggers re-extraction automatically.
Native zstd extraction (fixes macOS Tahoe issue #31)
macOS ships bsdtar compiled without zstd support, causing runtime pack extraction to fail with Can't initialize filter; unable to run program 'zstd -d -qq'. Extraction now uses native Rust crates (zstd, tar, flate2) with no dependency on system tar or zstd binaries.
Setup retries stale cached archive
If a previously downloaded runtime archive fails SHA256 verification, the app now deletes it and re-downloads instead of showing a permanent error.
Artifact scan
- Windows portable packages were scanned with ClamAV in CI before upload.
Artifact build
- macOS arm64 and x64 DMGs and runtime packs were built and inspected on a macOS Woodpecker agent before upload.