Skip to content

stemdeckapp/stemdeck

v0.4.0-alpha.2 Bugfix

This release fixes issues for SREs watching stability and regressions.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Fixed Python stdlib missing error that prevented the backend from starting.

Changes in this release

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.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.

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

Track stemdeckapp/stemdeck

Get notified when new releases ship.

Sign up free

About stemdeckapp/stemdeck

All releases →

Related context

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]