v0.44.0
·
92 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
0.44.0 - 2026-08-18
Added
- Added credential-free
crabbox providers describediscovery for canonical provider-scoped run flags and compiled defaults. Thanks @coygeek. - Added supported versioned
go installas a CLI-only installation channel, with clean module dependency semantics, source-derived release and revision versions, and hermetic release verification. Thanks @coygeek. - Added an opt-in Linux/WSL2
raw_socketpreflight probe that distinguishes direct, non-interactive-sudo, unavailable, and missing-interpreter states without sending packets or elevating workloads. Thanks @coygeek. - Added checkpoint last-use tracking and composable
checkpoint prune --unused-forcleanup for inactive local records and provider artifacts. - Added provider-native create, verify, delete, and fork lifecycle for direct Hetzner project-snapshot checkpoints, including exact local-claim image deletion.
- Added
crabbox heartbeatso external SSH drivers can refresh owned lease idle deadlines and optionally update the idle timeout. - Added credential-free
crabbox claims listoutput for deterministic, secret-safe inspection of unverified local lease claims across providers. Thanks @coygeek. - Added retained local-container
--lease-outputrun-session handles with pre-sync emission and exact cleanup on output failure. Thanks @coygeek.
Fixed
- Kept local source and worktree builds on the
devidentity instead of trusting Go 1.26 pseudo-versions synthesized from VCS metadata in another checkout. - Prevented confirmed
run --stop-after alwaysteardown from racing workspace-owner renewal and replacing successful, evidence-backed runs with exit 7. Thanks @coygeek. - Retried brief GitHub API failures during browser login and kept exhausted post-exchange attempts safely retryable instead of turning the next CLI poll into a terminal failure.
- Bounded
crabbox claims listinventory reads to 1 MiB per local claim while preserving valid partial output for oversized files. Thanks @coygeek. - Made local-container heartbeat authorize recorded dynamic runtime scopes and durably compare-and-swap exact claim lifecycle state without recreating or overwriting changed claims. Thanks @coygeek.
- Made AWS image deletion resume from owner-level durable snapshot claims after AMI deregistration or catalog cleanup failures, preventing stale ordinary and capability-variant records from remaining selectable.
- Made static SSH heartbeats persist touched timestamps and explicit idle-timeout replacements across fresh CLI processes, while omitted overrides preserve the stored timeout. Thanks @coygeek.
- Bounded Lambda MicroVM runner response-header waits without limiting uploads or streamed executions, while preserving injected HTTP clients. Thanks @SebTardif.
- Fixed native local-container checkpoint forks to complete their recorded Docker runtime scope before claim creation, allowing immediate commands and safe normal stop while preserving exact claim validation.
- Split fallback E2B HTTP ownership so finite lifecycle calls cannot hang indefinitely while uploads and process streams remain caller-controlled. Thanks @SebTardif.
- Split fallback HTTP ownership for Azure Dynamic Sessions, Blaxel, Cloudflare Sandbox, Freestyle, Orgo, and SmolVM so finite control calls cannot hang while data-plane lifetimes remain caller-controlled. Thanks @SebTardif.
- Rejected ambiguous or extra
crabbox heartbeatidentifiers before configuration or provider resolution, preventing malformed commands from reaching lease mutation. Thanks @coygeek. - Rejected native Jujutsu and other unsupported local sync sources before delegated archive providers can provision or execute a remote sandbox.
- Accepted explicit local-container architecture assertions only when the selected Docker or Podman daemon reports a matching native architecture, without enabling emulation. Thanks @coygeek.
- Omitted coordinator-only history commands from failure digests when run history is unavailable, while preserving direct lease recovery guidance.
- Bypassed reusable-workspace ownership for fresh non-retained local-container runs while preserving ownership for retained and reused leases.
- Framed workspace-owner scripts outside native Windows SSH command arguments so retained runs avoid
cmd.exelimits, preserve finite stdin and nonzero exits, and clean up promptly.