This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Summary
AI summaryFixed Python stdlib missing error that prevented the backend from starting.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Windows portable packages scanned with ClamAV in CI before upload. Windows portable packages scanned with ClamAV in CI before upload. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Extraction uses native Rust zstd, flate2, and tar crates. Extraction uses native Rust zstd, flate2, and tar crates. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Performance | Medium |
macOS extraction no longer relies on system bsdtar without zstd support. macOS extraction no longer relies on system bsdtar without zstd support. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Bundled Python runtime now includes complete standard library. Bundled Python runtime now includes complete standard library. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Runtime health check validates stdlib before marking ready. Runtime health check validates stdlib before marking ready. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Failed cached archive now deleted and re-downloaded on SHA256 error. Failed cached archive now deleted and re-downloaded on SHA256 error. Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
## What's fixed in alpha.2
[!IMPORTANT]
macOS users run this after installing:xattr -dr com.apple.quarantine /Applications/StemDeck.appmacOS 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.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About stemdeckapp/stemdeck
All releases →Related context
Related tools
Earlier breaking changes
- v0.6.0-alpha.1 Moves library and stems storage from `~/Library/Application Support/` to `~/Documents/StemDeck/`.
Beta — feedback welcome: [email protected]