Repository navigation
v0.51.0
·
834 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
0.51.0 - 2026-09-06
Highlights
- Faster command startup. Commands begin without waiting for best-effort telemetry uploads, while run completion retains baseline samples and verified terminal receipts.
- More reliable failure recovery. More sandbox providers preserve the original command result, honor
--keep-on-failureduring preparation, and report retained recovery sessions when cleanup fails. Coordinator leases keep local credentials until provider cleanup is confirmed. - Safer retries and clearer SSH failures. Suggested retries preserve explicit
--no-syncand required-artifact globs. SSH readiness stops promptly on host-key rejection, including Windows/WSL connections. - More useful benchmark reports. Compare runner totals, runner phases, sync phases, and sync skips, grouped by record source so different kinds of observations stay separate.
- Broader local-container compatibility. Opt out of an explicit hostname for runtimes that share the host UTS namespace, and finish cleanup after Podman confirms a container is already gone.
- Recover blocked Azure cleanup. Owners and admins can explicitly acknowledge missing public-IP evidence for eligible expired leases, allowing normal cleanup to resume for the remaining disk with an audit trail.
- Safer AWS image publication. Failed publication smokes can restore the exact prior default aliases and retire the failed image revision without overwriting a newer promotion.
Upgrade notes
- Brokered lease cleanup now requires an updated coordinator that records
cleanupCompletedAtand clears remote access after confirmed deletion. Older coordinators and historical leases without that evidence leave local claims and SSH credentials intact; after upgrading, retrystopfor the exact lease when its provider identity is recorded. Missing identity without explicit no-resource evidence requires operator reconciliation. PR 1901. - A successful sandbox command can now return a failed run when automatic cleanup fails. Existing command failures keep their original exit code, with secondary cleanup and timing errors reported separately; use the printed recovery session to finish cleanup. This extends the previous release's behavior to more providers.
bench reportnow separates groups bysource; records without one useunknown. Consumers should include the source in group keys and tolerate absent phase summaries on legacy records. Only successful observations contribute timing distributions. PR 1896.- Transactional AWS image promotion and receipt-based rollback require an updated coordinator. Azure's audited recovery also requires an updated coordinator and an owner or admin credential; manage-share and device credentials cannot authorize it, and older workers reject recovered version-3 claims. PR 1756, PR 1893.
Changes
- Start commands without waiting for telemetry uploads; cancel and join the publisher before run completion or lease replacement while preserving baseline samples and verified terminal receipts. PR 1931.
- Preserve explicit
--no-syncand every--require-artifactglob in suggested failure retries, avoiding an unintended workspace reset or weakened evidence checks. PR 1933, Issue 1875, Issue 1895. Thanks @coygeek. - Stop SSH readiness promptly on host-key rejection, including WSL SFTP and split or oversized diagnostics, without changing host trust. PR 1877. Thanks @shunkakinoki.
- Keep coordinator lease credentials until cleanup completion is recorded under the original ownership claim; confirm AWS instance termination and clear stale remote access while preserving provider identity for recovery and audit. PR 1901.
- Group benchmark reports by record source and summarize successful runner totals, runner phases, sync phases, and sync skips, omitting telemetry absent from legacy records. PR 1896. Thanks @vincentkoc.
- Local containers: support
localContainer.noHostnameandCRABBOX_LOCAL_CONTAINER_NO_HOSTNAMEto omit the explicit hostname for runtimes sharing a host UTS namespace; reject incompatible fixed-ID reuse while preserving default fingerprints. PR 1813, PR 1924. Thanks @atrawog. - Local containers: recognize Podman's exact quoted-ID absence diagnostic so a retried
stopcan finish cleanup after the container disappears, retaining recovery state for ambiguous or inaccessible runtimes. PR 1922. - Preserve the requested capacity market for supported providers during coordinator provisioning, and expose retained provisioning failure, resource-existence, and retryability diagnostics in
crabbox inspect --json. PR 1892. Thanks @vincentkoc. - Azure: recognize completed Location polling responses and add explicit, audited recovery for eligible expired leases whose disk cleanup is blocked by missing public-IP completion evidence; retain original identities, ownership checks, and actual deletion receipts. PR 1893. Thanks @steipete.
- AWS images: capture prior default aliases atomically during promotion and restore them from a receipt after a failed publication smoke, retiring the exact failed catalog revision while preserving concurrent newer promotions. PR 1756. Thanks @vincentkoc.
- Shared sandbox runs: keep secondary cleanup and timing errors visible without replacing the primary exit code. PR 1907.
- Docker Sandbox: preserve primary failures through cleanup and timing errors, report retained sessions after failed removal, honor
--keep-on-failureduring preparation, and preserve successful clone commits across backend reporting failures. PR 1913. - Apple Machine: report failed or unconfirmed automatic deletion, retain recovery sessions for early
--keep-on-failureerrors, and preserve command outcomes while distinguishing native transport failures. PR 1914. - Apple Machine: honor cancellation through ownership waits and native controls, include claim-lock waiting in cleanup budgets, and preserve the original acquisition failure if rollback also fails. PR 1917.
- SmolVM: report deletion failures, honor
--keep-on-failureduring preparation, and preserve primary outcomes through cleanup and timing errors, retaining provider keep policy and separate profile/resource cleanup budgets. PR 1908. - SmolVM: honor cancellation during ownership publication, reuse, and cleanup waits; include lock waiting in rollback budgets and preserve the acquisition exit if rollback also fails. PR 1912.
- Tensorlake: honor
--keep-on-failurefor early failures, report retained recovery sessions after failed cleanup, and preserve command outcomes and native error causes through timing output; keep profile cleanup warning-only. PR 1905. Thanks @steipete. - Tensorlake: honor cancellation during run admission and ownership publication, include claim-lock waiting in cleanup and failed-create rollback deadlines, and preserve the original failure and ownership without operating on a replacement claim. PR 1888, PR 1906. Thanks @steipete.
- Modal and Docker Sandbox: preserve native cancellation, deadline, and I/O causes, and share command-outcome classification with Tensorlake so bridge failures are not reported as remote command exits. PR 1903. Thanks @steipete.
- Blaxel: report automatic deletion failures, retain recovery sessions after early setup failures, and preserve primary command failures through cleanup and timing errors; recheck the original claim and remote ownership before deletion. PR 1919.
- Freestyle: report automatic deletion failures, preserve command failures through cleanup and timing errors, and retain transport cancellation causes for callers. PR 1907.
- Cloud Run Sandbox: preserve command exits and typed failures through activity cleanup, teardown, and reporting, with final timing and recovery sessions reflecting the complete run outcome. PR 1928.
- AWS Lambda MicroVM: preserve primary outcomes through termination and timing errors, retain recovery metadata after setup failures, and distinguish transport failures from command exits while retaining claim-refresh and operation-lock behavior. PR 1923.
- Orgo: preserve primary command/API exit codes through cleanup and timing errors, and report failed cleanup without changing workspace ownership or no-copy behavior. PR 1926.
- Crownest: accept and omit framework-owned run bookkeeping while retaining command environment-forwarding restrictions; preserve primary outcomes and typed cleanup errors in final timing, and keep recovery claims if Workspace Run cancellation fails. PR 1927.
- W&B: finalize outcomes after automatic Stop, retain recovery sessions and failure retention when cleanup fails, preserve primary failures through timing output, and classify gRPC/API failures as provider errors. PR 1929.
- W&B: allow existing-sandbox runs to omit framework-owned run metadata while retaining explicit environment-forwarding restrictions. PR 1930.
- Fix documentation table-of-contents links for repeated headings so each reaches its own section, preserving existing first-heading URLs. PR 1787. Thanks @steipete.
- Define a provider-neutral Linux developer-image recipe whose digest binds the executable contract and exact installer/readiness source hashes. PR 1897. Thanks @vincentkoc.
- Fix protected image qualification to extract candidates at the canonical artifact path and skip finalization when deployment never started. PR 1915. Thanks @vincentkoc.
- Allow protected image qualification to seal the current CLI by stripping debug metadata and accepting a single artifact up to the existing 128 MiB total bundle cap. PR 1910.
- Fix protected AWS image qualification's Node setup with the supported no-cache input, keeping Go caching disabled. PR 1909.