Skip to content

v0.54.0

Choose a tag to compare

@steipete steipete released this 09 Sep 16:08
· 647 commits to main since this release
Immutable release. Only release title and notes can be modified.
v0.54.0
135fb1e

0.54.0 - 2026-09-09

Highlights

  • More reliable managed WSL2 runners. Run Linux workloads as the non-root crabbox user with Node/npm ready on PATH, keep detached daemons alive between commands, and avoid headless WSLg and cloud-init startup stalls.
  • Less coordinator overhead and faster failure detection. Avoid repeated work over ended lease history, reject confirmed-deleted execution targets before SSH, and recover one transient lease-read failure without replaying the workload.
  • Offline-ready Linux toolchains. The developer-image builder now carries verified Node 24.19.0, Go 1.27.0, Bun 1.4.0, and reusable pnpm archives, with offline execution checks and protection for operator-owned tool paths.
  • Choose Ubuntu 24.04 for image publication. Select it explicitly while Ubuntu 26.04 remains the default, with promotion and receipt-based rollback scoped to the selected OS.

Upgrade notes

  • Reprovision existing managed WSL2 leases to receive the bootstrap fixes. New managed workloads run as crabbox with passwordless sudo and writable work/cache directories; use sudo for operations that require root. PR 1996, PR 2005, PR 2016.
  • Headless managed WSL2 bootstrap sets guiApplications=false in the Windows SSH user's .wslconfig, preserving other settings. Explicit desktop/browser requests retain the existing GUI configuration. WSL2 status probes allow up to 30 seconds; other SSH targets retain four seconds. PR 1996, PR 2005.
  • The pinned Node/Go/Bun archives apply to newly built or rebaked Linux x86_64 developer images. Managed WSL2 installs the Node/npm subset, without the full image's Go, Docker, browser tools, pnpm activation, or offline pnpm archives. Updating the CLI does not rebake or replace existing images. PR 1944, PR 2006, PR 2008, PR 2009.
  • Image publication accepts linux_os=ubuntu:24.04 or ubuntu:26.04, defaulting to 26.04. Standalone Linux minting accepts CRABBOX_OS; explicit image overrides still take precedence, so the selector alone does not verify the guest OS or qualify an image. PR 2028.

Changes

  • Managed WSL2: disable redundant cloud-init discovery, verify cold-start Linux readiness before accepting bootstrap, and disable the unused WSLg compositor on headless leases while preserving other WSL settings and existing execution deadlines. PR 1996, PR 2005. Thanks @steipete.
  • Managed WSL2: install the shared Node/npm baseline and require both tools for readiness; run workloads as the non-root crabbox user with passwordless sudo, writable work/cache directories, and the managed Node path available. Keep the distribution alive between commands so detached Linux daemons survive until lease cleanup. PR 2008, PR 2016. Thanks @steipete.
  • Keep WSL2 workspace-owner renewal small and allow bounded workload contention while preserving token, expiry, and child-state checks. PR 2011. Thanks @steipete.
  • Reduce coordinator maintenance work for large lease histories: prepare relevant candidates once per pass, select bridge cleanup from live owners and existing records, and limit pool and provisioning lookups while preserving current-state ownership checks and wakeups. PR 1997, PR 2001. Thanks @steipete.
  • Reject run preparation on confirmed-deleted coordinator leases before SSH setup, keeping inspection and release available for recovery. PR 2001. Thanks @steipete.
  • Retry an exact coordinator lease read once on HTTP 5xx during run preparation, sharing the original deadline and preserving cancellation and reply-identity checks; SSH, scripts, permanent failures, and ordinary status reads are not replayed. PR 1999.
  • Linux developer-image builder: retain verified Node 24.19.0 and pnpm 11.22.0/12.3.4 archives, enforce the selected Node major, and verify an exact NodeSource package before retiring owned aliases on explicit Node 24-to-22 rebakes. Preserve operator-owned tool paths and public Yarn aliases. PR 1944. Thanks @vincentkoc.
  • Linux developer-image builder: bake checksum-pinned Go 1.27.0 with offline standard-library and CGO checks. Seed verified Node/Go copies and private Corepack shims into eligible quiescent native GitHub runners' default tool caches, correctly reading systemd's manager environment while preserving custom roots, existing slots, and operator-owned Go aliases. PR 2006. Thanks @vincentkoc.
  • Linux developer-image builder: add verified Bun 1.4.0 baseline and optimized archives, keep the portable baseline on the normal PATH, and require guest-compatible nonroot offline TypeScript, test, bundle, and local bunx checks. Preserve operator-owned tool paths across rebakes. PR 2009. Thanks @vincentkoc.
  • Add explicit Ubuntu 24.04 developer-image publication selection, retaining Ubuntu 26.04 by default and carrying the selected Linux OS through promotion and receipt rollback. PR 2028. Thanks @vincentkoc.

Maintenance

  • Consolidate configuration bindings and shared defaults for Anthropic Sandbox Runtime, Cloud Run Sandbox, FastAPI Cloud, Railway, and Upstash Box while preserving source precedence, explicit clearing, native defaults, and credential boundaries. PR 1993, PR 2000, PR 2004, PR 2007, PR 2010. Thanks @steipete.
  • Consolidate Azure Dynamic Sessions, Blaxel, Cloudflare container-runner, Cloudflare Sandbox, and E2B configuration bindings while preserving provider-specific parsing, timeout rules, trusted URL precedence, credential sources, and claim behavior. PR 2012, PR 2013, PR 2014, PR 2015, PR 2017. Thanks @steipete.
  • Unify Modal, OpenComputer, Orgo, Semaphore, SmolVM, and Tensorlake configuration/default ownership while retaining sizing and timeout overlays, key resolution, native defaults, cleanup intent, and repeatable-list semantics. PR 2018, PR 2019, PR 2020, PR 2022. Thanks @steipete.
  • Unify exe.dev, Lume, and Morph configuration bindings and defaults while preserving trusted hosts, work-root inheritance, input precedence, native image selection, deletion policy, and SSH wake behavior. PR 2024, PR 2025, PR 2029. Thanks @steipete.
  • Unify OVHcloud, Runpod, Vast, and W&B configuration bindings and fallback ownership while preserving credential precedence, numeric overlays, explicit image and instance-type selection, machine-class mapping, and release behavior. PR 2027, PR 2032, PR 2033, PR 2034. Thanks @steipete.
  • Share unsupported machine-sizing checks and work-root inheritance decisions across providers, preserving explicit-input behavior, provider guidance, raw roots, and validation order. PR 2023, PR 2026. Thanks @steipete.
  • Share declared provider names and aliases across selection guards while keeping normalized selection and raw-exact matching distinct, with unchanged validation order and claim matching. PR 2030, PR 2031. Thanks @steipete.