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:
- Graduate VZ machine driver from experimental (#2758)
- 🔴 Use VZ by default for new instances on macOS >= 13.5 (#1951)
- Support nested virtualization on M3 (#2530, thanks to @abiosoft)
- Optimize qcow2-to-raw image conversion (lima-vm/go-qcow2reader@v0.1.2...v0.4.0 , thanks to @nirs)
- Support specifying a custom kernel (#2562, thanks to @norio-nomura)
-
QEMU:
-
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)
- 🟡 Disable
-
YAML:
- Support generating jsonschema (#2306, thanks to @afbjorklund)
- Support specifying
param
for provisioning scripts (#2570, thanks to @jandubois) - Support specifying
minimumLimaVersion
andvmOpts.qemu.minimumVersion
(#2659, thanks to @jandubois) - Support template expansion in mounts (#2588, thanks to @norio-nomura)
-
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)
- Add
-
nerdctl:
-
Templates:
- 🔴
experimental/vz
: Merged into thedefault
template (#2730, #2736) - 🟡
experimental/{riscv64, armv7l}
: Merged into thedefault
template (#2730, #2736) - 🔴
vmnet
: Removed in favor oflimactl create --network=lima:shared template://default
(#2736) - 🟡
experimental/net-user-v2
: Removed in favor oflimactl create --network=lima:user-v2 template://default
(#2736) - 🔴
experimental/9p
: Removed in favor oflimactl create --mount-type=9p template://default
(#2736) - 🟡
experimental/virtiofs-linux
: Removed in favor oflimactl create --mount-type=virtiofs template://default
(#2736) - 🔴
alpine
: Renamed toalpine-iso
(#2704) - 🔴
alpine-image
: Renamed toalpine
(#2704) archlinux
: Demoted from Tier 1 to Tier 2 (#2717, #2823)default
,ubuntu
, ...: Updated to Ubuntu 24.10. The older versions are available asubuntu-20.04
,ubuntu-22.04
, andubuntu-24.04
(#2755, #2795)fedora
: Updated to Fedora 41 (#2821, #2822, thanks to @subpop)opensuse
: Renamed toopensuse-leap
. Still aliased asopensuse
(#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:
- Invite Norio Nomura (@norio-nomura) as a Reviewer (#2567)
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