github lima-vm/lima v1.0.0

9 hours ago

With the support from 110+ contributors in 3+ years, the Lima project has finally reached v1.0. 🎉

This release introduces several breaking changes, such as switching the default machine driver from QEMU to VZ for better filesystem performance.

The limactl CLI is designed to print hints when the user hits those breaking changes.
e.g., limactl create template://experimental/vz now fails with a hint that suggests using limactl create --vm-type=vz template://default instead.

🔴 = Major breaking changes
🟡 = Minor breaking changes

  • VZ:

  • QEMU:

    • Graduate 9p mount driver from experimental (#2758)
    • 🔴 Use 9p by default for most templates (#1953, #2822)
    • riscv64: switch from u-boot to EDK2 (#2592)
  • Network:

    • Graduate user-v2 network driver from experimental (#2758)
    • Support UDP port forwarding (#2411, thanks to @balajiv113)
    • 🔴 Strictly require socket_vmnet binary to be owned by root (#2734)
  • SSH:

    • 🟡 Disable ssh.loadDotSSHPubKeys by default (#2706)
  • YAML:

  • limactl CLI:

    • Add limactl tunnel command so as to allow the host to join the guest network (#2710)
    • Add --log-format=json (#2584, thanks to @nirs)
    • limactl prune: Add --keep-referred (#2569, thanks to @norio-nomura)
  • nerdctl:

    • Updated to v2.0.0 (#2178)
    • rootless: allocate 1G subuids from 524288 (0x80000) for new users (#2725)
  • Templates:

    • 🔴 experimental/vz: Merged into the default template (#2730, #2736)
    • 🟡 experimental/{riscv64, armv7l}: Merged into the default template (#2730, #2736)
    • 🔴 vmnet: Removed in favor of limactl create --network=lima:shared template://default (#2736)
    • 🟡 experimental/net-user-v2: Removed in favor of limactl create --network=lima:user-v2 template://default (#2736)
    • 🔴 experimental/9p: Removed in favor of limactl create --mount-type=9p template://default (#2736)
    • 🟡 experimental/virtiofs-linux: Removed in favor of limactl create --mount-type=virtiofs template://default (#2736)
    • 🔴 alpine: Renamed to alpine-iso (#2704)
    • 🔴 alpine-image: Renamed to alpine (#2704)
    • archlinux: Demoted from Tier 1 to Tier 2 (#2717, #2823)
    • default, ubuntu, ...: Updated to Ubuntu 24.10. The older versions are available as ubuntu-20.04, ubuntu-22.04, and ubuntu-24.04 (#2755, #2795)
    • fedora: Updated to Fedora 41 (#2821, #2822, thanks to @subpop)
    • opensuse: Renamed to opensuse-leap. Still aliased as opensuse (#2612, thanks to @afbjorklund)
    • experimental/opensuse-tumbleweed: Support aarch64 (#2613, thanks to @afbjorklund)
    • hack/update-template.sh is added for automating updates (#1347, thanks to @norio-nomura)
  • Project:

Full changes: https://github.com/lima-vm/lima/milestone/47?closed=1
Thanks to @AdamKorcz @Mr-Sunglasses @SmartManoj @YorikSar @abiosoft @afbjorklund @alexandear @balajiv113 @hasan4791 @jandubois @nirs @norio-nomura @pvdvreede @subpop @tsukasaI

Usage

[macOS]$ limactl create
[macOS]$ limactl start
...
INFO[0029] READY. Run `lima` to open the shell.

[macOS]$ lima uname
Linux

The binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/11695321667

The sha256sum of the SHA256SUMS file itself is 4bd200a163111fe78c6f3e6de405113d416053802fe1507597f9a42f89a98c90 .


Release manager: @AkihiroSuda

Don't miss a new lima release

NewReleases is sending notifications on new releases.