Skip to content

v0.3.4

Choose a tag to compare

@jameskermode jameskermode released this 22 Apr 17:55
· 5 commits to main since this release

Fix: WASM cache loading now actually works

Two bugs blocked native-to-Pyodide cache loading in every 0.3.x release until now:

  1. LazyLoader.restore_cache spawns threads. Upstream parallelises blob loading with one threading.Thread per blob; Pyodide's pthread-less runtime refuses Thread.start() with RuntimeError. Overridden with a sequential loader — same outputs, just slower on wide cache entries.

  2. Hash-insensitive manifest fallback was lost in 0.3.0. Caches precomputed in native CPython hash differently than identical code executed in Pyodide, so the manifest filename encodes a hash the WASM runtime never matches exactly. Restored the C_*.jsonl glob fallback in _resolve_vfs_path.

Also: load_cache now surfaces restore_cache errors via stdout; upstream buries them in a LOGGER.warning that doesn't reach the browser console, which is how the threading bug hid for several releases.

Full diff: v0.3.3...v0.3.4