Skip to content

v0.31.8

Python builds can use a PyPI mirror and cache what uv downloads, and slow crate downloads no longer trip the build idle timeout.

Released on October 2, 2026

Container builds

  • Set pypi_mirror in peppy_config.json5 to a mirror's packages base URL to download the PyPI files a Python build's uv.lock pins from that mirror instead of PyPI.
  • Python container builds on the peppy base image now cache the packages and interpreters uv downloads, so a rebuild fetches neither again.
  • Container builds expose a PEPPY_DOWNLOAD_CACHE directory a def can use to cache files it downloads, keyed by their sha256.
  • Builds run cargo with progress always on, so a slow crate download keeps reporting progress and no longer trips the build idle timeout.

MCP

  • On the per-robot surface, a refused member error now also names the other targets the robot fills with a member of that name.

Daemon

  • On Linux, the daemon's managed Zenoh router now ends the moment the daemon process dies, so an unclean daemon death no longer leaves a router holding its port.

View all releases