Skip to content

Hostel v0.1.39

Latest

Choose a tag to compare

@qiankunli qiankunli released this 21 Oct 04:16
7f48512

Snapshot of GitHub main at 7f48512f0885072ce090529af77ac3d9ed4fea11, preserving the current Bed runtime baseline before the planned Bed/Pillow model changes.

Upgrade Notes

  • Bed management responses now return the Hostel lifecycle identity in id and the caller-supplied routing identity in name. Use name for request routing and business correlation; request paths and X-Hostel-Bed still accept that name. See the identity migration guide.
  • Filesystem declarations use per-Bed path_mappings and sync_paths; replace legacy instance-wide projection configuration. The carrier data root is configured with --beds-root / HOSTEL_BEDS_ROOT.
  • Services reference named Bed port mappings. Discover actual Bed/Host ports from status.port_mappings or the Service access response; callers supply the reachable Carrier host instead of consuming a generated endpoint URL.
  • Room types describe file isolation guarantees. Read component status for actual identity, network, process and resource capabilities; mechanism diagnostics use tools.

New Features

  • OpenSandbox Execd adapters for command execution, persistent sessions, file operations and execution logs, with optional per-Bed authentication.
  • Named Bed TCP port mappings with Service ownership and discovery across shared or private networking.
  • Optional Executor PID namespaces, with procfs and filesystem views tied to Executor lifecycle.
  • CPU and memory pressure signals for Carrier scheduling decisions, including early pressure thresholds.
  • A standalone, standard-library-only protocol Go module supporting Go 1.25 consumers independently of the daemon toolchain.

Bug Fixes

  • Commands, sessions and Services share Bed-native data paths and temporary files; file APIs remain usable when process path redirection is unavailable.
  • Prepare privileged Bed resources before dropping workload credentials, and preserve the selected isolation contract when Executors are replaced.
  • Preserve execution-history and preparation-error boundaries, handle oversized supervisor start requests, and support IPv4 NAT on older Linux kernels.
  • Smooth CPU pressure over a ten-second window to reduce transient scheduling noise.

Full Changelog: v0.1.14...v0.1.39