Skip to content

smolvm v1.7.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 09:03
3d1117f

What's Changed

  • Bump the Nix flake to smolvm 1.6.0 by @BinSquare in #625
  • Fix the pacman repo build so it packages both architectures by @BinSquare in #626
  • Make VM boot failures diagnosable instead of opaque by @BinSquare in #627
  • docs: recommend the unix-socket docker endpoint; document the TCP alternative and its caveats by @BinSquare in #621
  • Add cuda to VmResources for CLI/SDK CUDA-over-vsock by @BinSquare in #628
  • CUDA fork independent serving: copy-on-fork isolation, graph mode, network transport by @BinSquare in #629
  • Detect a stale CUDA guest shim at boot instead of an opaque cuInit failure by @BinSquare in #630
  • feat: expose the docker-socket bridge in the machines HTTP API by @BinSquare in #631
  • Resolve a named config.User to a numeric uid for crun exec (#632) by @BinSquare in #634
  • Warn at launch when CUDA remoting is requested on a host with no usable GPU by @BinSquare in #635
  • CUDA Path 3: address-preserving per-clone-process fork isolation by @BinSquare in #633
  • Bump the workspace to 1.6.1 by @BinSquare in #641
  • Group container tasks under the sandbox shim (fixes containers on containerd 2.2+) by @BinSquare in #643
  • Rebuild the linux libkrun.so with a glibc 2.35 floor and gate it in CI by @BinSquare in #644
  • CUDA Path 3 follow-ups: fork crash fixes, zero-config forkable machines, remote (TCP) clone workers by @BinSquare in #648
  • Route smolmachine pack references through the host-side pack flow instead of the in-guest OCI puller by @BinSquare in #647
  • Stamp pushed smolmachine manifests with the OCI 1.1 artifactType and standard annotations by @BinSquare in #649
  • CUDA fork: release a torn-down golden's VRAM (close leaked export fds) by @BinSquare in #650
  • CUDA fork: fail fast when a clone's worker dies or its lineage is gone by @BinSquare in #652
  • Rename the CUDA fork env vars to describe behavior by @BinSquare in #653
  • release: bundle CUDA shims + smolvm-cuda-run in agent-rootfs by @NickyHeC in #601
  • Stream the pack overlay export to disk by @BinSquare in #654
  • CUDA image machines: run the create workload, and fail fast when no GPU host answers by @BinSquare in #655
  • feat: add --expose-socket and --mount-socket for forwarding arbitrary unix sockets by @BinSquare in #656
  • Run the pack-from-vm helper as the source VM's isolated uid so it can read the source disks by @BinSquare in #658
  • Fix silently dropped CUDA work after a fork-clone reconnect, and rebuild captured graphs in clone workers by @BinSquare in #659
  • Gate engine PRs on compiling the smol CLI and script the release cut by @BinSquare in #661
  • Export the pack sidecar, not the executable stub, when a machine is exported by @BinSquare in #662
  • Route fork clones to workers by an explicit connection preamble so a golden's reconnect can never be misrouted by @BinSquare in #663
  • Never LRU-evict the reference-shared pack store by @BinSquare in #666
  • Fail an image machine's start when the image pull fails by @BinSquare in #669
  • Flatten from-vm packs to a single layer and share the pack export, workload launch, and machine-create env handling in the lib by @BinSquare in #668
  • Cap keep-alive exec output so oversized results return a clear error instead of a frame-too-large crash by @BinSquare in #670
  • Fix file-upload body limit and clarify the oversized-exec-output guidance by @BinSquare in #671
  • CUDA fork: sync-call retry, allocation burst, multi-GPU pinning, sandboxed serve, and machine-create workload by @BinSquare in #672
  • Reload clone-worker modules byte-identical to the golden's images by @BinSquare in #673
  • Recover fork clones whose worker died, and give clone reconnects a real handshake window by @BinSquare in #675
  • CUDA 13 guest surface by @LoganGrasby in #674
  • Re-key the golden's persistent exec overlay to the clone so forks inherit filesystem state by @BinSquare in #677
  • Replay function attributes on clone-worker kernels, and print backtraces on fatal signals by @BinSquare in #676
  • nix/smolvm: bump to v1.6.13 by @BinSquare in #678
  • Route a fork clone's execs to its inherited overlay and heal the restored stale mount by @BinSquare in #680
  • Make fork clones restartable and refuse deleting a golden that still backs live clones by @BinSquare in #683
  • Advertise the CUDA 12.4 surface by default; cu13 wheels opt in via SMOLVM_CUDA_ADVERTISE by @BinSquare in #681
  • Fail a from-vm pack of a never-started machine with a clear error and stop leaking scratch dirs on failed helper boots by @BinSquare in #682
  • Enforce the exec timeout in the keep-alive container path so an image machine's exec honors its deadline by @BinSquare in #684
  • Make a provisioned local volume writable by the per-VM uid that mounts it by @BinSquare in #685
  • Stream exec output live over SSE instead of buffering the whole command to completion by @BinSquare in #686
  • Run a background exec detached inside the machine's keep-alive container so the process survives instead of dying within seconds by @BinSquare in #687
  • chore(libkrun): bump for macOS balloon free-page reclaim by @BinSquare in #689
  • Fix fork-clone serving, sm90 in-VM support, and per-replica module shipping by @BinSquare in #690
  • Enable ring transport and CUDA-graph capture for in-VM serving by @BinSquare in #692
  • Fixing some generic findings from six QA by @BinSquare in #691
  • Relaunch the workload and refresh config from the record on implicit starts by @BinSquare in #694
  • agent: idle balloon-pulse reclaim, on by default by @BinSquare in #693
  • chore(libkrun): bump for balloon cleanup and clone-reclaim persistence by @BinSquare in #696
  • Fork clones reuse the golden's extracted pack layers by @BinSquare in #703
  • Per-fork parameters: machine fork --env KEY=VALUE by @BinSquare in #705
  • Validate resources in the create-machine API so invalid cpu/memory is rejected at create by @BinSquare in #704
  • Block /boot from being mounted into a guest by @BinSquare in #706
  • Validate request env var names on create/exec/run by @BinSquare in #709
  • Take the lifecycle lock when resizing a machine by @BinSquare in #708
  • Reject cmd/entrypoint on an imageless machine create by @BinSquare in #707
  • Don't leak the internal log path when a machine has no logs yet by @BinSquare in #712
  • Remove the dead exec_machine handler and its duplicate OpenAPI exec path by @BinSquare in #716
  • Don't orphan the agent VM when an image pull fails during start by @BinSquare in #714
  • Reject duplicate guest mount targets on the HTTP create path by @BinSquare in #717
  • Validate published ports on the HTTP create path by @BinSquare in #720
  • Hold the lifecycle lock during machine export by @BinSquare in #719
  • Report the real /dev/kvm access failure on post-uid-drop boot failures by @BinSquare in #718
  • Canonicalize the volume path in the deprovision safety guard by @BinSquare in #711
  • Refuse to stop a fork base that has live clones by @BinSquare in #727
  • Validate pinned ports on fork by @BinSquare in #725
  • Validate egress CIDRs on the HTTP create path by @BinSquare in #721
  • Return a clean error instead of panicking on a NUL byte in allow-CIDR/allow-host by @BinSquare in #733
  • Reject duplicate guest mount targets on machine update by @BinSquare in #724
  • Correct the safe_unpack doc comment to match its actual symlink handling by @BinSquare in #736
  • Reject a duration whose seconds value overflows u64 in parse_duration_secs by @BinSquare in #735
  • Close a delete/fork race that could orphan a fork clone's disks by @BinSquare in #726
  • Keep an explicitly stopped machine stopped under restart policies by @BinSquare in #723
  • Register the machine /resize route by @BinSquare in #715
  • Clone graph capture-replay: forked VMs serve with CUDA graphs by @BinSquare in #695
  • Add per-fork secrets to the fork API so each clone gets its own secrets, resolved fresh per exec by @BinSquare in #731
  • Fix the CUDA guest crate builds so they compile without the host feature and on macOS by @BinSquare in #737
  • Fix fork weight sharing so clones import one copy of the weights instead of each privately copying them by @BinSquare in #741
  • Map shared weight chunks read-only so a stray post-fork base write cannot corrupt sibling clones by @BinSquare in #742
  • Bump libkrunfw to the DRM-enabled build so --gpu exposes /dev/dri by @BinSquare in #739
  • docs: describe CUDA API remoting in README by @NickyHeC in #740
  • tiny fix: machine create --from discards --mount-socket and --expose-socket by @Bnjoroge1 in #746
  • Cuda runtime fixes by @BinSquare in #747
  • Attach the machine id to the request span so failures are attributable to a machine by @BinSquare in #748
  • Name the missing credential when a registry denies the pack probe, and reuse a configured image credential for it by @BinSquare in #750
  • Accept registry credentials on machine start so private third-party images can be pulled by @BinSquare in #751
  • Refuse to resize a fork base that has live clones by @BinSquare in #728
  • Classify forking a non-forkable golden as 409, not 500 by @BinSquare in #710
  • Bump the workspace to 1.7.0 for the next engine release by @BinSquare in #752

New Contributors

Full Changelog: v1.6.0...v1.7.0