Releases: lima-vm/lima
v2.0.1
Changes
-
Binary release artifacts:
-
Misc:
- pkg/networks/usernet: use
SIGINTinstead ofSIGKILL(#4310, thanks to @norio-nomura)
- pkg/networks/usernet: use
Full changes: https://github.com/lima-vm/lima/milestone/64?closed=1
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/19137304035
The sha256sum of the SHA256SUMS file itself is 25ad222fa1cf91a85ef7be67664f2ba65228a5d82a39be1adbbe842096854e24 .
Release manager: @AkihiroSuda
v2.0.0
This is the second major release of Lima, featuring the support for pluggable VM drivers, GPU acceleration, and MCP.
This release also commemorates the promotion of the project from CNCF Sandbox to Incubating 🎉.
Highlights
- Experimental plug-in subsystem for VM driver infrastructure.
This will help implementing third-party plugins without modifying the code base of Lima.
Thanks to GSoC 2025 contributor @unsuman . - Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman)
- Experimental integration for Model Context Protocol (MCP) (#3744). i.e., Lima can be now used as a sandbox for AI agents such as Gemini.
- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000)
Other notable changes
/tmp/limais no longer mounted by default (#3951)- SSH port is no longer hard-coded to 60022 for the "default" instance (#3780)
- Forward UDP ports by default (#4054)
- Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported.
Details
-
VM driver infrastructure:
-
krunkit:
- Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman)
-
VZ:
- Support Rosetta AOT Caching with CDI (#3858, thanks to @norio-nomura)
- Support accelerating SSH using
AF_VSOCK(#3979, thanks to @norio-nomura)
-
QEMU:
- Fallback to TCG when KVM is not available on Linux hosts (#4204)
-
MCP:
- Experimental integration for Model Context Protocol (MCP) (#3744). Lima now provides MCP tools for reading, writing, and executing local files using a VM sandbox. Known to work with Google Gemini CLI.
-
limactlCLI:- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl (create|start|edit) --port-forwardflag for static port forwarding (#3699, thanks to @Horiodino).
Usually not needed, but useful for instances created with--plain. - Add
limactl (create|start|edit) --ssh-portflag (#3791) - Add
limactl (create|start|edit) --mount-onlyflag (#3947).
Similar to--mount, but overrides the existing mounts. Useful for mounting$(pwd). - Support specifying
--setmultiple times inlimactl (create|start|edit)(#4197, thanks to @AndiDog) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000).
See alsoLIMA_SHELLENV_ALLOWandLIMA_SHELLENV_BLOCK. - Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported. - Add
limactl copy --backend=rsyncflag as an alternative toscpbackend (#3143, thanks to @olamilekan000) - Add
limactl list--yqandlimactl info --yqflags (#3998, thanks to @jandubois) - Add
limactl rename OLD NEW(#4207) - Deprecate
--yesand introducelimactl (clone|rename|edit|shell) --startinstead (#4108, #4285, thanks to @Horiodino @nlordell)
- Add
-
YAML:
- Migrate
cpuTypetovmOpts.qemu(#3500, thanks to @unsuman) - Add
yqprovision mode (#3892, thanks to @norio-nomura) - Prohibit relative paths in YAML (#3950).
Relative paths were never intended to be supported,
but they were accidentally allowed due to a regression in v1.1.0.
The CLI commandlimactl (create|start|edit) --mount DIRstill supports relative paths.
- Migrate
-
Default template:
-
Network:
- Enable mDNS for vzNAT and socket_vmnet (#4272, thanks to @norio-nomura)
-
Port forwarding:
- Support port forwarding in plain mode (#3699, thanks to @Horiodino)
- Support host sockets in gRPC port forwarder (#4008, thanks to @norio-nomura)
- Forward UDP ports by default (#4054)
- Eliminated 3-second delay for detecting ports (#4066)
- Removed iptables watcher for
sudo nerdctl run -p ...(#4107).
sudo nerdctl run -p ...now requires nerdctl v2.1.6 or later. - Improved performance of gRPC forwarder (#4247, thanks to @balajiv113)
- Support UDP in Kubernetes (#4233)
- Change default of
guestIPMustBeZerototruewhenguestIPis0.0.0.0(#4221, thanks to @jandubois)
-
Build system:
-
Templates:
alpine,alpine-iso: update to Alpine 3.22 (#4184, #4190, thanks to @jandubois)debian: update to Debian 13 (#4029, thanks to @unsuman)docker,docker-rootful: Enable containerd image store (#3941, thanks to @norio-nomura)fedora: update to Fedora 43 (#4255)opensuse: update to openSUSE Leap 16 (#4203)oraclelinux: update to Oracle Linux 10 (#4236, thanks to @valdela1)ubuntu,default: update Ubuntu to 25.10 (#4202)k0s: New template (#3728, thanks to @plandem)experimental/ubuntu-next: update to Ubuntu 26.04 pre-release (#4311)
-
Project:
- Invite Ansuman Sahoo (@unsuman) as a Reviewer (#4003, thanks to @jandubois)
- Promote from CNCF Sandbox to Incubating (#4201)
Full changes: https://github.com/lima-vm/lima/milestone/59?closed=1
Thanks to @AndiDog @Horiodino @afbjorklund @alexandear @ashwat287 @balajiv113 @bonifaido @dharsanb @gnawhleinad @iamleot @jandubois @kachick @muchzill4 @ningmingxiao @nlordell @norio-nomura @olamilekan000 @plandem @stek29 @unsuman @valdela1 @vax-r @vishalanarase @zyfy29
EOL of v1.2
Lima v1.2 will continue to receive security updates and critical bug fixes until 2026-02-06 (3 months from now).
See also https://lima-vm.io/docs/releases/.
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/19130682878
The sha256sum of the SHA256SUMS file itself is 112f1ef1d9850e29b4be425ca71e8b6ac686f593ff741164885b51fbd6919ca6 .
Release manager: @AkihiroSuda
v1.2.2
Changes
- nerdctl: Update from v2.1.3 to v2.2.0
- v2.1.4 release note
- v2.1.5 release note
- v2.1.6 release note
- v2.2.0 release note
- Update containerd to v2.2.0 for fixing CVE-2024-25621 and CVE-2025-64329
- Update runc to v1.3.3 for fixing CVE-2025-31133, CVE-2025-52565, and CVE-2025-52881
Full changes: https://github.com/lima-vm/lima/milestone/63?closed=1
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/19129294069
The sha256sum of the SHA256SUMS file itself is 606387afe060bfab9be2669c8cc05a7370ff1a25aa73a85ca23258261bfcaac4 .
Release manager: @AkihiroSuda
v2.0.0-rc.1
Highlights:
- Experimental plug-in subsystem for VM driver infrastructure.
This will help implementing third-party plugins without modifying the code base of Lima.
Thanks to GSoC 2025 contributor @unsuman . - Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman)
- Experimental integration for Model Context Protocol (MCP) (#3744). i.e., Lima can be now used as a sandbox for Gemini, etc.
- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000)
Other notable changes:
/tmp/limais no longer mounted by default (#3951)- SSH port is no longer hard-coded to 60022 for the "default" instance (#3780)
- Forward UDP ports by default (#4054)
- Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported.
Changes
-
VM driver infrastructure:
-
krunkit:
- Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman)
-
VZ:
- Support Rosetta AOT Caching with CDI (#3858, thanks to @norio-nomura)
- Support accelerating SSH using
AF_VSOCK(#3979, thanks to @norio-nomura)
-
QEMU:
- Fallback to TCG when KVM is not available on Linux hosts (#4204)
-
MCP:
- Experimental integration for Model Context Protocol (MCP) (#3744). Lima now provides MCP tools for reading, writing, and executing local files using a VM sandbox. Known to work with Google Gemini CLI.
-
limactlCLI:- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl (create|start|edit) --port-forwardflag for static port forwarding (#3699, thanks to @Horiodino).
Usually not needed, but useful for instances created with--plain. - Add
limactl (create|start|edit) --ssh-portflag (#3791) - Add
limactl (create|start|edit) --mount-onlyflag (#3947).
Similar to--mount, but overrides the existing mounts. Useful for mounting$(pwd). - Support specifying
--setmultiple times inlimactl (create|start|edit)(#4197, thanks to @AndiDog) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000).
See alsoLIMA_SHELLENV_ALLOWandLIMA_SHELLENV_BLOCK. - Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported. - Add
limactl copy --backend=rsyncflag as an alternative toscpbackend (#3143, thanks to @olamilekan000) - Add
limactl list--yqandlimactl info --yqflags (#3998, thanks to @jandubois) - Add
limactl rename OLD NEW(#4207) - Deprecate
--yesand introducelimactl (clone|rename|edit|shell) --startinstead (#4108, #4285, thanks to @Horiodino @nlordell)
- Add
-
YAML:
- Migrate
cpuTypetovmOpts.qemu(#3500, thanks to @unsuman) - Add
yqprovision mode (#3892, thanks to @norio-nomura) - Prohibit relative paths in YAML (#3950).
Relative paths were never intended to be supported,
but they were accidentally allowed due to a regression in v1.1.0.
The CLI commandlimactl (create|start|edit) --mount DIRstill supports relative paths.
- Migrate
-
Default template:
-
Network:
- Enable mDNS for vzNAT and socket_vmnet (#4272, thanks to @norio-nomura)
-
Port forwarding:
- Support port forwarding in plain mode (#3699, thanks to @Horiodino)
- Support host sockets in gRPC port forwarder (#4008, thanks to @norio-nomura)
- Forward UDP ports by default (#4054)
- Eliminated 3-second delay for detecting ports (#4066)
- Removed iptables watcher for
sudo nerdctl run -p ...(#4107).
sudo nerdctl run -p ...now requires nerdctl v2.1.6 or later. - Improved performance of gRPC forwarder (#4247, thanks to @balajiv113)
- Support UDP in Kubernetes (#4233)
- Change default of
guestIPMustBeZerototruewhenguestIPis0.0.0.0(#4221, thanks to @jandubois)
-
nerdctl:
-
Build system:
-
Templates:
alpine,alpine-iso: update to Alpine 3.22 (#4184, #4190, thanks to @jandubois)debian: update to Debian 13 (#4029, thanks to @unsuman)docker,docker-rootful: Enable containerd image store (#3941, thanks to @norio-nomura)fedora: update to Fedora 43 (#4255)opensuse: update to openSUSE Leap 16 (#4203)oraclelinux: update to Oracle Linux 10 (#4236, thanks to @valdela1)ubuntu,default: update Ubuntu to 25.10 (#4202)k0s: New template (#3728, thanks to @plandem)
-
Project:
- Invite Ansuman Sahoo (@unsuman) as a Reviewer (#4003, thanks to @jandubois)
- Promote from CNCF Sandbox to Incubating (#4201)
Full changes: https://github.com/lima-vm/lima/milestone/59?closed=1
Thanks to @AndiDog @Horiodino @afbjorklund @alexandear @ashwat287 @balajiv113 @bonifaido @dharsanb @gnawhleinad @iamleot @jandubois @muchzill4 @ningmingxiao @nlordell @norio-nomura @olamilekan000 @plandem @stek29 @unsuman @valdela1 @vax-r @vishalanarase @zyfy29
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/19092989960
The sha256sum of the SHA256SUMS file itself is 8a792ec4caae41ff363d202fdbf450074d09d6b2ce65d50aef92dbd8e8165d81 .
Release manager: @AkihiroSuda
v2.0.0-rc.0
Highlights:
- Experimental plug-in subsystem for VM driver infrastructure.
This will help implementing third-party plugins without modifying the code base of Lima.
Thanks to GSoC 2025 contributor @unsuman . - Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman)
- Experimental integration for Model Context Protocol (MCP) (#3744). i.e., Lima can be now used as a sandbox for Gemini, etc.
- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000)
Other notable changes:
/tmp/limais no longer mounted by default (#3951)- SSH port is no longer hard-coded to 60022 for the "default" instance (#3780)
- Forward UDP ports by default (#4054)
- Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported.
Changes
-
VM driver infrastructure:
-
krunkit:
- Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman)
-
VZ:
- Support Rosetta AOT Caching with CDI (#3858, thanks to @norio-nomura)
- Support accelerating SSH using
AF_VSOCK(#3979, thanks to @norio-nomura)
-
QEMU:
- Fallback to TCG when KVM is not available on Linux hosts (#4204)
-
MCP:
- Experimental integration for Model Context Protocol (MCP) (#3744). Lima now provides MCP tools for reading, writing, and executing local files using a VM sandbox. Known to work with Google Gemini CLI.
-
limactlCLI:- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl (create|start|edit) --port-forwardflag for static port forwarding (#3699, thanks to @Horiodino).
Usually not needed, but useful for instances created with--plain. - Add
limactl (create|start|edit) --ssh-portflag (#3791) - Add
limactl (create|start|edit) --mount-onlyflag (#3947).
Similar to--mount, but overrides the existing mounts. Useful for mounting$(pwd). - Support specifying
--setmultiple times inlimactl (create|start|edit)(#4197, thanks to @AndiDog) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000).
See alsoLIMA_SHELLENV_ALLOWandLIMA_SHELLENV_BLOCK. - Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported. - Add
limactl copy --backend=rsyncflag as an alternative toscpbackend (#3143, thanks to @olamilekan000) - Add
limactl list--yqandlimactl info --yqflags (#3998, thanks to @jandubois) - Add
limactl rename OLD NEW(#4207) - Deprecate
--yesand introducelimactl (clone|rename|edit|shell) --startinstead (#4108, #4285, thanks to @Horiodino @nlordell) [New in v2.0.0-rc.0]
- Add
-
YAML:
- Migrate
cpuTypetovmOpts.qemu(#3500, thanks to @unsuman) - Add
yqprovision mode (#3892, thanks to @norio-nomura) - Prohibit relative paths in YAML (#3950).
Relative paths were never intended to be supported,
but they were accidentally allowed due to a regression in v1.1.0.
The CLI commandlimactl (create|start|edit) --mount DIRstill supports relative paths.
- Migrate
-
Default template:
-
Network:
- Enable mDNS for vzNAT and socket_vmnet (#4272, thanks to @norio-nomura) [New in v2.0.0-rc.0]
-
Port forwarding:
- Support port forwarding in plain mode (#3699, thanks to @Horiodino)
- Support host sockets in gRPC port forwarder (#4008, thanks to @norio-nomura)
- Forward UDP ports by default (#4054)
- Eliminated 3-second delay for detecting ports (#4066)
- Removed iptables watcher for
sudo nerdctl run -p ...(#4107).
sudo nerdctl run -p ...now requires nerdctl v2.1.6 or later. - Improved performance of gRPC forwarder (#4247, thanks to @balajiv113)
- Support UDP in Kubernetes (#4233)
- Change default of
guestIPMustBeZerototruewhenguestIPis0.0.0.0(#4221, thanks to @jandubois)
-
nerdctl:
-
Build system:
-
Templates:
alpine,alpine-iso: update to Alpine 3.22 (#4184, #4190, thanks to @jandubois)debian: update to Debian 13 (#4029, thanks to @unsuman)docker,docker-rootful: Enable containerd image store (#3941, thanks to @norio-nomura)fedora: update to Fedora 43 (#4255)opensuse: update to openSUSE Leap 16 (#4203)oraclelinux: update to Oracle Linux 10 (#4236, thanks to @valdela1)ubuntu,default: update Ubuntu to 25.10 (#4202)k0s: New template (#3728, thanks to @plandem)
-
Project:
- Invite Ansuman Sahoo (@unsuman) as a Reviewer (#4003, thanks to @jandubois)
- Promote from CNCF Sandbox to Incubating (#4201)
Full changes: https://github.com/lima-vm/lima/milestone/59?closed=1
Thanks to @AndiDog @Horiodino @afbjorklund @alexandear @ashwat287 @balajiv113 @bonifaido @dharsanb @gnawhleinad @iamleot @jandubois @muchzill4 @ningmingxiao @nlordell @norio-nomura @olamilekan000 @plandem @stek29 @unsuman @valdela1 @vax-r @vishalanarase @zyfy29
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/19076221777
The sha256sum of the SHA256SUMS file itself is 6c709722612fac112079f18b145acbb40970d88d734fdcc0318bd936ef59f8df .
Release manager: @AkihiroSuda
v2.0.0-beta.0
Highlights:
- Experimental plug-in subsystem for VM driver infrastructure.
This will help implementing third-party plugins without modifying the code base of Lima.
Thanks to GSoC 2025 contributor @unsuman . - Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman) [New in v2.0.0-beta.0]
- Experimental integration for Model Context Protocol (MCP) (#3744). i.e., Lima can be now used as a sandbox for Gemini, etc.
- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000)
Other notable changes:
/tmp/limais no longer mounted by default (#3951)- SSH port is no longer hard-coded to 60022 for the "default" instance (#3780)
- Forward UDP ports by default (#4054)
- Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported.
Changes
-
VM driver infrastructure:
-
krunkit:
- Experimental krunkit VM driver for supporting GPU acceleration (#4137, thanks to @unsuman) [New in v2.0.0-beta.0]
-
VZ:
- Support Rosetta AOT Caching with CDI (#3858, thanks to @norio-nomura)
- Support accelerating SSH using
AF_VSOCK(#3979, thanks to @norio-nomura)
-
QEMU:
- Fallback to TCG when KVM is not available on Linux hosts (#4204) [New in v2.0.0-beta.0]
-
MCP:
- Experimental integration for Model Context Protocol (MCP) (#3744). Lima now provides MCP tools for reading, writing, and executing local files using a VM sandbox. Known to work with Google Gemini CLI.
-
limactlCLI:- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl (create|start|edit) --port-forwardflag for static port forwarding (#3699, thanks to @Horiodino).
Usually not needed, but useful for instances created with--plain. - Add
limactl (create|start|edit) --ssh-portflag (#3791) - Add
limactl (create|start|edit) --mount-onlyflag (#3947).
Similar to--mount, but overrides the existing mounts. Useful for mounting$(pwd). - Support specifying
--setmultiple times inlimactl (create|start|edit)(#4197, thanks to @AndiDog) [New in v2.0.0-beta.0] - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000).
See alsoLIMA_SHELLENV_ALLOWandLIMA_SHELLENV_BLOCK. - Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported. - Add
limactl copy --backend=rsyncflag as an alternative toscpbackend (#3143, thanks to @olamilekan000) - Add
limactl list--yqandlimactl info --yqflags (#3998, thanks to @jandubois) - Add
limactl rename OLD NEW(#4207) [New in v2.0.0-beta.0]
- Add
-
YAML:
- Migrate
cpuTypetovmOpts.qemu(#3500, thanks to @unsuman) - Add
yqprovision mode (#3892, thanks to @norio-nomura) - Prohibit relative paths in YAML (#3950).
Relative paths were never intended to be supported,
but they were accidentally allowed due to a regression in v1.1.0.
The CLI commandlimactl (create|start|edit) --mount DIRstill supports relative paths.
- Migrate
-
Default template:
-
Port forwarding:
- Support port forwarding in plain mode (#3699, thanks to @Horiodino)
- Support host sockets in gRPC port forwarder (#4008, thanks to @norio-nomura)
- Forward UDP ports by default (#4054)
- Eliminated 3-second delay for detecting ports (#4066)
- Removed iptables watcher for
sudo nerdctl run -p ...(#4107).
sudo nerdctl run -p ...now requires nerdctl v2.1.6 or later. - Improved performance of gRPC forwarder (#4247, thanks to @balajiv113) [New in v2.0.0-beta.0]
- Support UDP in Kubernetes (#4233) [New in v2.0.0-beta.0]
- Change default of
guestIPMustBeZerototruewhenguestIPis0.0.0.0(#4221, thanks to @jandubois)[New in v2.0.0-beta.0]
-
nerdctl:
-
Build system:
-
Templates:
alpine,alpine-iso: update to Alpine 3.22 (#4184, #4190, thanks to @jandubois) [New in v2.0.0-beta.0]debian: update to Debian 13 (#4029, thanks to @unsuman)docker,docker-rootful: Enable containerd image store (#3941, thanks to @norio-nomura)fedora: update to Fedora 43 (#4255) [New in v2.0.0-beta.0]opensuse: update to openSUSE Leap 16 (#4203) [New in v2.0.0-beta.0]oraclelinux: update to Oracle Linux 10 (#4236, thanks to @valdela1) [New in v2.0.0-beta.0]ubuntu,default: update Ubuntu to 25.10 (#4202) [New in v2.0.0-beta.0]k0s: New template (#3728, thanks to @plandem)
-
Project:
- Invite Ansuman Sahoo (@unsuman) as a Reviewer (#4003, thanks to @jandubois)
- Promote from CNCF Sandbox to Incubating (#4201) [New in v2.0.0-beta.0]
Full changes: https://github.com/lima-vm/lima/milestone/59?closed=1
Thanks to @AndiDog @Horiodino @afbjorklund @alexandear @ashwat287 @balajiv113 @bonifaido @dharsanb @gnawhleinad @iamleot @jandubois @muchzill4 @ningmingxiao @norio-nomura @olamilekan000 @plandem @stek29 @unsuman @valdela1 @vax-r @vishalanarase @zyfy29
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/18926746087
The sha256sum of the SHA256SUMS file itself is 75cee3e4649e41406080f5b3df8e459ec73d696e45b75b6cdc61b0cc240f355b .
Release manager: @AkihiroSuda
v2.0.0-alpha.2
Highlights:
- Experimental plug-in subsystem for VM driver infrastructure.
This will help implementing third-party plugins without modifying the code base of Lima.
Thanks to GSoC 2025 contributor @unsuman . - Experimental integration for Model Context Protocol (MCP) (#3744). i.e., Lima can be now used as a sandbox for Gemini, etc.
- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000)
Other notable changes:
/tmp/limais no longer mounted by default (#3951)- SSH port is no longer hard-coded to 60022 for the "default" instance (#3780)
- Forward UDP ports by default (#4054)
- Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported. [New in v2.0.0-alpha.2]
Changes
-
VM driver infrastructure:
-
MCP:
- Experimental integration for Model Context Protocol (MCP) (#3744). Lima now provides MCP tools for reading, writing, and executing local files using a VM sandbox. Known to work with Google Gemini CLI.
-
VZ:
- Support Rosetta AOT Caching with CDI (#3858, thanks to @norio-nomura)
- Support accelerating SSH using
AF_VSOCK(#3979, thanks to @norio-nomura)
-
limactlCLI:- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl (create|start|edit) --port-forwardflag for static port forwarding (#3699, thanks to @Horiodino).
Usually not needed, but useful for instances created with--plain. - Add
limactl (create|start|edit) --ssh-portflag (#3791) - Add
limactl (create|start|edit) --mount-onlyflag (#3947).
Similar to--mount, but overrides the existing mounts. Useful for mounting$(pwd). - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000).
See alsoLIMA_SHELLENV_ALLOWandLIMA_SHELLENV_BLOCK. - Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Support custom URL scheme plugins (#3937, thanks to @jandubois).
template://defaultis now recommended to be written astemplate:default. The old form is still supported. [New in v2.0.0-alpha.2] - Add
limactl copy --backend=rsyncflag as an alternative toscpbackend (#3143, thanks to @olamilekan000) - Add
limactl list--yqandlimactl info --yqflags (#3998, thanks to @jandubois)
- Add
-
YAML:
- Migrate
cpuTypetovmOpts.qemu(#3500, thanks to @unsuman) - Add
yqprovision mode (#3892, thanks to @norio-nomura) - Prohibit relative paths in YAML (#3950).
Relative paths were never intended to be supported,
but they were accidentally allowed due to a regression in v1.1.0.
The CLI commandlimactl (create|start|edit) --mount DIRstill supports relative paths.
- Migrate
-
Default template:
-
Port forwarding:
- Support port forwarding in plain mode (#3699, thanks to @Horiodino)
- Support host sockets in gRPC port forwarder (#4008, thanks to @norio-nomura)
- Forward UDP ports by default (#4054)
- Eliminated 3-second delay for detecting ports (#4066)
- Removed iptables watcher for
sudo nerdctl run -p ...(#4107).
sudo nerdctl run -p ...now requires nerdctl v2.1.6 or later. [New in v2.0.0-alpha.2]
-
nerdctl:
-
Build system:
- Remove
Kconfigandconfig.mk, in favor of Makefile variables (#3732)
- Remove
-
Templates:
-
Project:
- Invite Ansuman Sahoo (@unsuman) as a Reviewer (#4003, thanks to @jandubois)
Full changes: https://github.com/lima-vm/lima/milestone/59?closed=1
Thanks to @Horiodino @afbjorklund @alexandear @ashwat287 @bonifaido @dharsanb @jandubois @muchzill4 @ningmingxiao @norio-nomura @olamilekan000 @plandem @stek29 @unsuman @vishalanarase @zyfy29
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/18215279041
The sha256sum of the SHA256SUMS file itself is 68126fab6e79467798d6edc8bcacebeca4d68d3cb79564079ce0a96d1cf332dd .
Release manager: @AkihiroSuda
v2.0.0-alpha.1
Highlights:
- Experimental plug-in subsystem for VM driver infrastructure.
This will help implementing third-party plugins without modifying the code base of Lima.
Thanks to GSoC 2025 contributor @unsuman . - Experimental integration for Model Context Protocol (MCP) (#3744). i.e., Lima can be now used as a sandbox for Gemini, etc. [New in alpha.1]
- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000)
Other notable changes:
/tmp/limais no longer mounted by default (#3951)- SSH port is no longer hard-coded to 60022 for the "default" instance (#3780)
- Forward UDP ports by default (#4054) [New in alpha.1]
Changes
-
VM driver infrastructure:
-
MCP:
- Experimental integration for Model Context Protocol (MCP) (#3744) [New in alpha.1]. Lima now provides MCP tools for reading, writing, and executing local files using a VM sandbox. Known to work with Google Gemini CLI.
-
VZ:
- Support Rosetta AOT Caching with CDI (#3858, thanks to @norio-nomura)
- Support accelerating SSH using
AF_VSOCK(#3979, thanks to @norio-nomura) [New in alpha.1]
-
limactlCLI:- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl (create|start|edit) --port-forwardflag for static port forwarding (#3699, thanks to @Horiodino).
Usually not needed, but useful for instances created with--plain. - Add
limactl (create|start|edit) --ssh-portflag (#3791) - Add
limactl (create|start|edit) --mount-onlyflag (#3947).
Similar to--mount, but overrides the existing mounts. Useful for mounting$(pwd). - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000).
See alsoLIMA_SHELLENV_ALLOWandLIMA_SHELLENV_BLOCK. - Support CLI plugins (#3834, #4009, thanks to @olamilekan000)
- Add
limactl copy --backend=rsyncflag as an alternative toscpbackend (#3143, thanks to @olamilekan000) [New in alpha.1] - Add
limactl list--yqandlimactl info --yqflags (#3998, thanks to @jandubois) [New in alpha.1]
- Add
-
YAML:
- Migrate
cpuTypetovmOpts.qemu(#3500, thanks to @unsuman) - Add
yqprovision mode (#3892, thanks to @norio-nomura) - Prohibit relative paths in YAML (#3950).
Relative paths were never intended to be supported,
but they were accidentally allowed due to a regression in v1.1.0.
The CLI commandlimactl (create|start|edit) --mount DIRstill supports relative paths.
- Migrate
-
Default template:
-
Port forwarding:
- Support port forwarding in plain mode (#3699, thanks to @Horiodino)
- Support host sockets in gRPC port forwarder (#4008, thanks to @norio-nomura) [New in alpha.1]
- Forward UDP ports by default (#4054) [New in alpha.1]
- Eliminated 3-second delay for detecting ports (#4066 [New in alpha.1]
-
Build system:
- Remove
Kconfigandconfig.mk, in favor of Makefile variables (#3732)
- Remove
-
Templates:
-
Project:
- Invite Ansuman Sahoo (@unsuman) as a Reviewer (#4003, thanks to @jandubois) [New in alpha.1]
Full changes: https://github.com/lima-vm/lima/milestone/59?closed=1
Thanks to @Horiodino @afbjorklund @alexandear @ashwat287 @bonifaido @dharsanb @jandubois @muchzill4 @ningmingxiao @norio-nomura @olamilekan000 @plandem @stek29 @unsuman @vishalanarase @zyfy29
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/17963648712
The sha256sum of the SHA256SUMS file itself is e66aacaa48c5aa91d4d0489e12aa0ecd36aa3cd0df830784b5fde37a96cbd6bc .
Release manager: @AkihiroSuda
v2.0.0-alpha.0
Highlights:
- Experimental plug-in subsystem for VM driver infrastructure.
This will help implementing third-party plugins without modifying the code base of Lima.
Thanks to GSoC 2025 contributor @unsuman . - Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000)
Other notable changes:
/tmp/limais no longer mounted by default (#3951)- SSH port is no longer hard-coded to 60022 for the "default" instance (#3780)
Changes
-
VM driver infrastructure:
-
VZ:
- Support Rosetta AOT Caching with CDI (#3858, thanks to @norio-nomura)
-
limactlCLI:- Add
limactl (start|restart) --progressflag to show the progress of provisioning (#3846, #3915, thanks to @olamilekan000 @norio-nomura) - Add
limactl (create|start|edit) --port-forwardflag for static port forwarding (#3699, thanks to @Horiodino).
Usually not needed, but useful for instances created with--plain. - Add
limactl (create|start|edit) --ssh-portflag (#3791) - Add
limactl (create|start|edit) --mount-onlyflag (#3947).
Similar to--mount, but overrides the existing mounts. Useful for mounting$(pwd). - Add
limactl shell --preserve-envflag to propagate env vars from the host to VM (#3830, thanks to @olamilekan000).
See alsoLIMA_SHELLENV_ALLOWandLIMA_SHELLENV_BLOCK. - Support CLI plugins (#3834, thanks to @olamilekan000)
- Add
-
YAML:
- Migrate
cpuTypetovmOpts.qemu(#3500, thanks to @unsuman) - Add
yqprovision mode (#3892, thanks to @norio-nomura) - Prohibit relative paths in YAML (#3950).
Relative paths were never intended to be supported,
but they were accidentally allowed due to a regression in v1.1.0.
The CLI commandlimactl (create|start|edit) --mount DIRstill supports relative paths.
- Migrate
-
Default template:
-
Port forwarding:
- Support port forwarding in plain mode (#3699, thanks to @Horiodino)
-
Build system:
- Remove
Kconfigandconfig.mk, in favor of Makefile variables (#3732)
- Remove
-
Templates:
docker,docker-rootful: Enable containerd image store (#3941, thanks to @norio-nomura)k0s: New template (#3728, thanks to @plandem)
Full changes: https://github.com/lima-vm/lima/milestone/59?closed=1
Thanks to @Horiodino @afbjorklund @alexandear @ashwat287 @bonifaido @dharsanb @jandubois @muchzill4 @ningmingxiao @norio-nomura @olamilekan000 @plandem @stek29 @unsuman @vishalanarase @zyfy29
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/17500188604
The sha256sum of the SHA256SUMS file itself is 6d2fa764a4d6773d19d721a495e1a6740fb6535f23e3aa81f02832c556ab62f5 .
Release manager: @AkihiroSuda
v1.2.1
Changes
- Cherry-picks from
mastertorelease/1.2(#3750)- portfwd: create separate gRPC streams for each UDP client (#3724, thanks to @stek29)
- qemuimgutil: fix "Failed to get "write" lock" error (#3742, thanks to @pavelanni)
- Embed templates edited from the user interface (#3745, thanks to @afbjorklund)
Usage
$ limactl create $ limactl start ... INFO[0029] READY. Run `lima` to open the shell. $ lima uname LinuxThe binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/lima-vm/lima/actions/runs/16405168554
The sha256sum of the SHA256SUMS file itself is fda636e062d8f75a689071b308a94dc902111620f7122746fc0d172959d7d26a .
Release manager: @AkihiroSuda