Releases: lima-vm/lima
v1.0.0
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
v1.0.0-beta.0
With the support from 110+ contributors in 3+ years, the Lima project has finally reached v1.0 (Pre-release). 🎉
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 image conversion (lima-vm/go-qcow2reader#31 , lima-vm/go-qcow2reader#34 , 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
(#2570, thanks to @jandubois) - Support template expansion in mounts (#2588, thanks to @norio-nomura)
-
limactl
CLI:- Add
--log-format=json
(#2584, thanks to @nirs) limactl prune
: Add--keep-referred
(#2569, thanks to @norio-nomura)
- Add
-
nerdctl:
- rootless: allocate 1G subuids from 524288 (0x80000) for new users (#2725)
-
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 (#2717)opensuse
: Renamed toopensuse-leap
(#2612, thanks to @afbjorklund)experimental/opensuse-tumbleweed
: Support aarch64 (#2613, thanks to @afbjorklund)
- 🔴
-
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 @SmartManoj @YorikSar @abiosoft @afbjorklund @alexandear @balajiv113 @hasan4791 @jandubois @nirs @norio-nomura @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/11430109582
The sha256sum of the SHA256SUMS file itself is 85671aa3701b7b206af26ecd5a2e5a30dca3aa2d9dce9f35a5f58a6fcfad5779
.
Release manager: @AkihiroSuda
v1.0.0-alpha.0
Changes
- vz:
- Use VZ by default for new instances on macOS >= 13.5 (#1951)
Full changes: https://github.com/lima-vm/lima/milestone/47?closed=1
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/10628063124
The sha256sum of the SHA256SUMS file itself is 69bbfccf7e046e03edd5d3facd8bf699f8276ee91dd1c2e50ecd97fd7ed36def
.
Release manager: @AkihiroSuda
v0.23.2
Changes
Full changes: https://github.com/lima-vm/lima/milestone/49?closed=1
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/10610584784
The sha256sum of the SHA256SUMS file itself is 9183a5703205d331d89f4a62abdbbb377cb77f1f49f8171cfa722960d7174bf1
.
Release manager: @AkihiroSuda
v0.23.1
Changes
- Fixed the CI to generate the release note (#2555)
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/10441930092
The sha256sum of the SHA256SUMS file itself is e93a48f3a011c25367da50ab3609bb28437fcde259371f005f8b234caa46efff
.
Release manager: @AkihiroSuda
v0.23.0
-
YAML:
- Add a
param
field for defining variables (#2498, thanks to @norio-nomura)
- Add a
-
vz:
- Prioritize rosetta over qemu-user-static (#2474, thanks to @norio-nomura)
- Configura AOT caching options using an abstract socket (#2489, thanks to @norio-nomura)
-
Templates:
- add
alpine-image
(#2360, thanks to @jandubois) - remove
centos-stream-8
,deprecated/centos-7
(#2457) - update to the latest revisions (#2553)
- add
-
Governance:
- MAINTAINERS: invite Oleksandr Redko (@alexandear) as a Reviewer (#2383)
Full changes: https://github.com/lima-vm/lima/milestone/46?closed=1
Thanks to @AdamKorcz @AmedeeBulle @SmartManoj @afbjorklund @alexandear @danchr @fwilhe2 @jandubois @norio-nomura @tcooper @why168
v0.22.0
This release drops the support for vde_vmnet
(deprecated since 2022) in favor of socket_vmnet
.
vmnet users will need to regenerate the /etc/sudoers.d/lima
file:
limactl sudoers >etc_sudoers.d_lima
sudo install -o root etc_sudoers.d_lima /etc/sudoers.d/lima
Users may also want to clean up the vde-related lines from their ~/.lima/_config/networks.yaml
:
--- /Users/user/.lima/_config/networks.yaml.bak 2024-05-07 14:17:28
+++ /Users/user/.lima/_config/networks.yaml 2024-05-07 14:18:09
@@ -13,9 +13,6 @@
# socketVMNet requires Lima >= 0.12 .
# socketVMNet has precedence over vdeVMNet.
socketVMNet: "/opt/socket_vmnet/bin/socket_vmnet"
-# vdeSwitch and vdeVMNet are DEPRECATED.
- vdeSwitch: /opt/vde/bin/vde_switch
- vdeVMNet: /opt/vde/bin/vde_vmnet
varRun: /private/var/run/lima
sudoers: /private/etc/sudoers.d/lima
Changes
-
vmnet:
- Remove the support for
vde_vmnet
(Deprecated since Sep 2022, in favor ofsocket_vmnet
) (#2311)
- Remove the support for
-
limactl
CLI:limactl ls $INSTANCE
now exits with non-zero status if the instance does not exist (#2295, thanks to @BajuMcBites)
-
nerdctl:
-
Misc:
- Drop support for Go 1.20 (#2258)
-
Templates:
Full changes: https://github.com/lima-vm/lima/milestone/45?closed=1
Thanks to @BajuMcBites @afbjorklund @alexandear @jandubois @vasileknik76
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/8980002249
The sha256sum of the SHA256SUMS file itself is ae6c43a8f145d574142deb1c6e105e4ab79156947b9098bf57c94d91ff15da97
.
v0.21.0
This release adds the support for limactl start-at-login
and inotify.
Changes
-
limactl
CLI:- Add
limactl start-at-login INSTANCE
command (#2151, thanks to @roman-kiselenko)
- Add
-
Mounts:
- Support for inotify:
limactl start --mount-inotify
(#1913, thanks to @balajiv113)
- Support for inotify:
-
YAML:
- Allow
{{.Name}}
in provision scripts (#2179)
- Allow
-
nerdctl:
-
Templates:
Full changes: https://github.com/lima-vm/lima/milestone/43?closed=1
Thanks to @afbjorklund @alexandear @balajiv113 @blmhemu @jandubois @norio-nomura @pendo324 @roman-kiselenko @terev
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/8307250970
The sha256sum of the SHA256SUMS file itself is 3a4fc483678ef5aea033a9d19b5e4db1ddc480f54d1a12afb257f255d72b5395
.
v0.21.0-beta.0
Changes
-
limactl
CLI:- Add
limactl start-at-login INSTANCE
command (#2151, thanks to @roman-kiselenko)
- Add
-
Mounts:
- Support for inotify:
limactl start --mount-inotify
(#1913, thanks to @balajiv113)
- Support for inotify:
-
YAML:
- Allow
{{.Name}}
in provision scripts (#2179)
- Allow
-
Templates:
- Alpine: demote from Tier 1 to Tier 2 (#2236)
Full changes: https://github.com/lima-vm/lima/milestone/43?closed=1
Thanks to @afbjorklund @alexandear @balajiv113 @blmhemu @jandubois @norio-nomura @pendo324
@roman-kiselenko
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/8245128886
The sha256sum of the SHA256SUMS file itself is a7d9e816923b4c027393d7eb37084288e8808807937a9d38fd13bea2e4367cf7
.
v0.20.2
Changes
alpine: avoid wiping out writable host mounts under /home, etc
(#2244, thanks to @jandubois)
Prior to Lima v0.20.2, a host directory could be wiped out when all the following conditions are met:
- The directory is mounted to Lima via virtiofs or 9p (reverse-sshfs is not affected)
- The mount is writable
- The mount point in the guest is under one of: /etc /home /root /usr/local /var/lib
- The guest OS is Alpine Linux
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/8244166862
The sha256sum of the SHA256SUMS file itself is 1aa58b5567fb1e2ca60500ed0e8b7fefbdf930d74214b3858add6b20f5dbdec3
.