Releases: abiosoft/colima
v0.10.0
Highlights
This release introduces AI support and other updates.
AI is here
Colima now has AI support.
By leveraging Krunkit and Ramalama, Colima is able to provide the ideal platform to run confined, isolated and secure gpu-powered AI workloads on Apple Silicon devices.
# run a model
colima model run gemma3
# serve a model, chat interface would be availabe at localhost:8080
colima model serve gemma3
# for more
colima model --helpOther Updates
- Addition of
krunkitvirtual machine type with gpu support.colima start --vm-type krunkit. - Incus instances are now reachable directly from the host if network address is enabled.
colima start --network-address. - Containerd runtime (with nerdctl command) now inherits
CONTAINERD_*andNERDCTL_*environment variables on the host. - Port forwarding can now be disabled by passing
--port-forwarder=nonetocolima start. - Volume mounts can now be disabled by passing
--mount=nonetocolima start. - Download mechanism has been reworked in native Go, eliminating dependency on
curlandshasumon the host. - New
after-bootandreadyprovision modes for provision scripts.
Runtime version bumps
NOTE: container runtime versions can be updated manually by running the colima update command.
- Docker version updated to
v29.2.0 - Nerdctl version updated to
v2.2.1 - Incus version updated to
v6.21 - K3s version defaults to
v1.35.0+k3s1.
Commits
- ci: move to macos-15-intel runner by @abiosoft in #1425
- docs: add older macos versions incompatibility instructions by @mlbiche in #1428
- build(deps): bump mxschmitt/action-tmate from 3.22 to 3.23 by @dependabot[bot] in #1439
- build(deps): bump actions/upload-artifact from 4.6.2 to 5.0.0 by @dependabot[bot] in #1440
- build(deps): bump actions/download-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #1441
- build(deps): bump golangci/golangci-lint-action from 8.0.0 to 9.0.0 by @dependabot[bot] in #1446
- docs: specify qemu-full for Arch instructions by @zachcb in #1451
- docs: add mise as an installation method by @jylenhof in #1456
- net: add ability to customize gateway address by @Guilospanck in #1447
- misc: multiple updates by @abiosoft in #1473
- build(deps): bump actions/setup-go from 6.0.0 to 6.1.0 by @dependabot[bot] in #1455
- build(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.2.0 by @dependabot[bot] in #1464
- build(deps): bump actions/checkout from 5.0.0 to 6.0.1 by @dependabot[bot] in #1465
- build(deps): bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #1466
- build(deps): bump actions/download-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #1467
- build(deps): bump actions/setup-go from 6.1.0 to 6.2.0 by @dependabot[bot] in #1479
- build(deps): bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in #1482
- core: update disk images by @abiosoft in #1484
- Multiple minor updates by @abiosoft in #1485
- incus: use RFC 5737 IPv4 network for the default network by @jessa0 in #1487
- nerdctl: propagate CONTAINERD_* and NERDCTL_* environment variables. by @abiosoft in #1491
- chore: improve downloader by @abiosoft in #1492
- build(deps): bump golang.org/x/term from 0.33.0 to 0.39.0 by @dependabot[bot] in #1493
- build(deps): bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 by @dependabot[bot] in #1494
- build(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.2 by @dependabot[bot] in #1495
- incus: make instance ips host reachable by @abiosoft in #1496
- incus: improve defaults by @abiosoft in #1497
- core: support AI models by @abiosoft in #1499
- chore: minor updates by @abiosoft in #1500
- chore: improve terminal experience for AI runner model setup. by @abiosoft in #1502
- build(deps): bump golang.org/x/term from 0.39.0 to 0.40.0 by @dependabot[bot] in #1503
- chore: improve terminal for long subprocess outputs by @abiosoft in #1504
- Docs update by @abiosoft in #1505
New Contributors
- @mlbiche made their first contribution in #1428
- @zachcb made their first contribution in #1451
- @jylenhof made their first contribution in #1456
- @Guilospanck made their first contribution in #1447
- @jessa0 made their first contribution in #1487
Full Changelog: v0.9.1...v0.10.0
v0.9.1
Highlights
This is a hotfix release to address disk error issues for a subset of users.
Check v0.9.0 release notes for the main release notes.
Commits
- vm: fix root disk size getting set to zero by @abiosoft in #1418
- k3s: customizable listen port by @abiosoft in #1419
Full Changelog: v0.9.0...v0.9.1
v0.9.0
Highlights
This is a new release with several fixes and new features.
New Features
Bridged network
This has been a long requested feature and it is finally here. A new --network-mode flag has been introduced.
Valid options are shared and bridged with the default being shared.
colima start --network-address --network-mode bridged
Persistent Disk
This applies only to newly created instances.
Colima now uses a separate virtual machine disk for container data as a means to guard against accidental loss of data.
A deleted instance would not delete the container data disk, and a subsequent colima start would attempt to reinstate the data.
Supported for Docker, Containerd and Incus runtimes. Kubernetes however is not yet support.
To delete all data, the --data flag should be passed to colima delete.
colima delete --data # delete instance and container dataFixes
- The previous behaviour with templates has been reinstated. i.e. Colima would load config from template file if present. It can still be disabled by passing
--template=falsetocolima start. - DNS resolution for
host.docker.internalhas been improved and now works fine in Docker, Containerd and Kubernetes containers. /tmp/colimahas been removed as a default mount due to issues caused when Colima is being run by multiple users on macOS.- Port forwarder is now configurable between
sshandgrpcwith the--port-forwarderflag. Defaults tossh. - Fix for 386 architecture emulation when Rosetta is enabled.
- Introduction of
--network-preferred-routeflag to use the network address interface as the default route when network address is enabled. This resolves networking issue for some users. - The size of the default storage pool for Incus runtime is now synced on startup to align with the available disk space on the virtual machine.
Runtime version bumps
NOTE: container runtime versions can be updated manually by running the colima update command.
- Docker version updated to
v28.4.0 - Nerdctl version updated to
v2.1.4 - Incus version updated to
v6.16 - K3s version defaults to
v1.33.4+k3s1
Commits
- k3s: retry ip address retrieval during setup by @Nevon in #1374
- build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 by @dependabot[bot] in #1377
- build(deps): bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #1378
- chore: replace net.ParseIP("0.0.0.0") with net.IPv4zero by @alexandear in #1375
- chore: remove tmp mount by @abiosoft in #1379
- cli: default template flag to true. by @abiosoft in #1380
- net: use internal dnsmasq by @abiosoft in #1381
- net: add support for bridged mode by @abiosoft in #1382
- misc: improve password prompt message for network setup by @abiosoft in #1383
- vm: make port forwarder configurable by @abiosoft in #1384
- chore: fix default value for portForwarder by @abiosoft in #1385
- core: update disk images by @abiosoft in #1387
- chore: update start command k3s-args example by @jessegonzalez in #1386
- vm: enable 386 emulation regardless of rosetta by @abiosoft in #1388
- config: consider MountPoint in checkOverlappingMounts by @sakkyoi in #1391
- net: add option to make vmnet the default route by @sakkyoi in #1392
- build(deps): bump actions/setup-go from 5.5.0 to 6.0.0 by @dependabot[bot] in #1394
- docs: add contribution instructions. by @abiosoft in #1396
- vm: use external disk for container runtime by @abiosoft in #1397
- core: update disk images by @abiosoft in #1398
- vm: fix service clash with runtime disk mount by @abiosoft in #1399
- vm: fix runtime disk mount directories for containerd by @abiosoft in #1400
- vm: validate container runtime for the runtime disk by @abiosoft in #1401
- vm: improve container runtime disk by @abiosoft in #1404
- docs: add how to edit colima default template file to README by @olamilekan000 in #1405
- Improvements to dedicated runtime disk by @abiosoft in #1408
- chore: code cleanups by @abiosoft in #1409
- incus: fix unavailable storage pool on restart by @abiosoft in #1410
- Pre release cleanup by @abiosoft in #1411
- incus: rework runtime disk by @abiosoft in #1412
- expose configuration for root disk size by @abiosoft in #1413
- Disk Cleanups by @abiosoft in #1414
- incus: sync size of the default pool on startup by @abiosoft in #1415
New Contributors
- @jessegonzalez made their first contribution in #1386
- @sakkyoi made their first contribution in #1391
Full Changelog: v0.8.4...v0.9.0
v0.8.4
Highlights
This is another hotfix release to address a regression that causes exec /bin/sh: exec format error when running a cross-architecture image. The issue is finally resolved.
Other Updates
- Disable implicit loading of config from template (when present). Now requires the
--templateflag. - Cross-architecture container execution can now be disabled by setting
--binfmt=falseflag.
Commits
- vm: fix binfmt not enabled after restart by @abiosoft in #1371
- config: make template optional when present by @abiosoft in #1372
Full Changelog: v0.8.3...v0.8.4
v0.8.3
Highlights
This is an hotfix release to address a regression that causes exec /bin/sh: exec format error when running a cross-architecture image.
Fixes
- Fix exec format error when running a cross-architecture image. Requires recreating instance if created with v0.8.2. Fixes #1367.
- Set default volume mount type to
virtiofswhen VZ is in use.
Other Updates
- Use containerd image store for Docker
- Mount containerd socket for Docker and Containerd runtimes
- Mount buildkitd socket for Containerd runtime.
- Add mounted socket path(s) to the output of
colima statusfor all container runtimes. - Allow overriding default k3s flags with
--k3s-argflag.
Commits
- Potential fix for code scanning alert no. 7: Incorrect conversion between integer types by @abiosoft in #1357
- containerd: expose containerd and buildkit sockets by @abiosoft in #1358
- cli: set default mount type to virtiofs for vz by @abiosoft in #1359
- Docker improvements by @abiosoft in #1360
- k3s: allow overriding default k3s args by @Nevon in #1365
- core: update disk images by @abiosoft in #1368
New Contributors
Full Changelog: v0.8.2...v0.8.3
v0.8.2
Highlights
This is an incremental release with bug fixes.
Fixes
- Report errors that occur while reading configuration file. Fixes #1239.
- Use native shasum binary for download assets verification. Fixes #1163.
- Fix download errors when K3s version when empty in config.
- Reset formatting after questions prompts in the terminal. Fixes #1319.
Other Updates
- UDP port forwarding is now supported. Resolves #1292, #1300.
- Binfmt emulation is configurable via the
--binfmtflag andbinfmtconfig. Defaults totruewhen Rosetta is disabled. - Rename
--cpuflag to--cpusforcolima start, to align with Lima.--cpustill works but deprecated. - Current profile can now be set with
COLIMA_PROFILEenvironment variable. Resolves #1308.
Runtime version bumps
NOTE: container runtime versions can be updated manually by running the colima update command.
- Docker version updated to
v28.3.3 - Nerdctl version updated to
v2.1.3 - Incus version updated to
v6.14 - K3s version defaults to
v1.33.3+k3s1
Commits
- ci: enable gocritic in golangci by @PascalBourdier in #1223
- faq: update to address potential need for Docker client configuration by @carljmosca in #1231
- cli: add quotes to k3s-arg example for colima start by @olamilekan000 in #1230
- chore: update LICENSE, fix copyright license year by @JasonnnW3000 in #1235
- chore: fix copyright license year (Revert #1235) by @windyakin in #1237
- chore: log possible error while reading config file by @olamilekan000 in #1240
- build(deps): bump golang.org/x/term from 0.27.0 to 0.28.0 by @dependabot[bot] in #1242
- core: use native shasum binary on macOS for download verification by @abiosoft in #1245
- core: config initial value for kubernetes version if empty in yaml by @jason19970210 in #1255
- k8s: update latest version for default kubernetes release by @jason19970210 in #1259
- core: respect LIMA_SSH_PORT_FORWARDER env var by @abiosoft in #1263
- build(deps): bump golang.org/x/term from 0.28.0 to 0.29.0 by @dependabot[bot] in #1268
- incus: remove core.https_address from default config by @abiosoft in #1273
- build(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 by @dependabot[bot] in #1274
- docker: fix cgroupdriver by @win-t in #1312
- revert: "docker: fix cgroupdriver" by @abiosoft in #1314
- Properly reset formatting at the end of question prompts by @SukritBhatt in #1324
- chore: reorganize dependencies in go.mod by @alexandear in #1325
- github workflows: pin dependencies by @thypon in #1326
- vm: support UDP port forwarding by @stek29 in #1343
- core: update disk images by @abiosoft in #1351
- k3s: fix config defaults for Kubernetes values by @kaisq in #1322
- vm: make binfmt emulation configurable by @winterqt in #1315
- docker: replace also localhost with host gateway ip in docker daemon.json by @fralken in #1298
- k3s: write kubeconfig to KUBECONFIG defined file by @Sumoa in #978
- Multiple minor updates by @abiosoft in #1352
- build(deps): bump golang.org/x/term from 0.29.0 to 0.30.0 by @dependabot[bot] in #1281
- chore: expend the path information about current profile being used by @jason19970210 in #1270
- core: add support for COLIMA_PROFILE environment variable. by @abiosoft in #1353
- ci: bump Go version by @abiosoft in #1354
New Contributors
- @PascalBourdier made their first contribution in #1223
- @carljmosca made their first contribution in #1231
- @olamilekan000 made their first contribution in #1230
- @JasonnnW3000 made their first contribution in #1235
- @windyakin made their first contribution in #1237
- @jason19970210 made their first contribution in #1255
- @win-t made their first contribution in #1312
- @SukritBhatt made their first contribution in #1324
- @alexandear made their first contribution in #1325
- @thypon made their first contribution in #1326
- @stek29 made their first contribution in #1343
- @kaisq made their first contribution in #1322
- @winterqt made their first contribution in #1315
- @fralken made their first contribution in #1298
- @Sumoa made their first contribution in #978
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Highlights
This is an incremental release with bug fixes.
Fixes
- Cleanup of network assets directory on startup. Fixes #1210, #1029, #1212, #1116.
- Use of primary network adapter as default route when external network address is enabled. Fixes #1214.
Other Updates
VZis now the default virtual machine type on macOS 13 or newer. Qemu can still be used if specified.- Disk image can now be downloaded locally and specified with the
--disk-imageflag forcolima start.
Runtime version bumps
Runtime version can be updated running the colima update command.
- Docker version updated to
27.4.0 - Nerdctl version updated to
2.0.2 - Incus version updated to
6.8
Commits
- ci: fix integration tests by @abiosoft in #1190
- build(deps): bump golang.org/x/term from 0.25.0 to 0.26.0 by @dependabot in #1189
- core: update disk images by @abiosoft in #1191
- cli: add --json flag to status command by @ecrousseau in #1196
- config: ability to specifying memory in decimal GiB by @qiao-summer in #1206
- build(deps): bump golang.org/x/term from 0.26.0 to 0.27.0 by @dependabot in #1207
- net: clear assets directory on startup by @abiosoft in #1213
- net: set route for external address by @abiosoft in #1214
- core: update disk images by @abiosoft in #1215
- vm: add support for custom disk images by @abiosoft in #1216
- config: use vz as default vm type on macOS 13 or newer by @abiosoft in #1217
- ci: clean up by @abiosoft in #1220
New Contributors
- @ecrousseau made their first contribution in #1196
- @qiao-summer made their first contribution in #1206
Full Changelog: v0.8.0...v0.8.1
v0.8.0
Highlights
This is a new release to address compatibility issues with Lima v1.0.0.
- Colima now utilises virtualization.framework on macOS when Qemu is not available. Fixes #1188.
- SSH port-forwarding is retained for Lima v1.0.0. Fixes #1181, #1184, #1185.
Other Updates
- Nested Virtualization is now supported with the
--nested-virtualizationflag ornestedVirtualizationconfig for m3 devices. - The default disk size is now 100GiB.
Commits
- core: retain SSH port forwarder by @abiosoft in #1182
- core: make qemu an optional dependency by @abiosoft in #1187
Full Changelog: v0.7.6...v0.8.0
v0.7.6
Highlights
This release introduces the colima update command to update the container runtime version (e.g. Docker version) without needing to upgrade Colima or wait for the next release.
Other Fixes
- Avoid error when docker-certs directory does not exist. Fixes #1128.
- Update host-gateway-ip in proxy settings for docker daemon. Fixes #956, #1040.
Commits
- docker: avoid error where the cache docker-certs directory does not exist by @AlexanderOMara in #1129
- build(deps): bump golang.org/x/term from 0.23.0 to 0.24.0 by @dependabot in #1133
- docs: fixed typo on Apple Silicon in README by @analogsignals in #1137
- docker: replace 127.0.0.1 with host gateway ip in docker daemon.json proxy settings by @rteeling-evernorth in #1145
- ci: bump Go version by @abiosoft in #1148
- net: update vmnet by @abiosoft in #1152
- build(deps): bump golang.org/x/term from 0.24.0 to 0.25.0 by @dependabot in #1154
- Minor updates by @abiosoft in #1156
- ci: use older qemu version by @abiosoft in #1160
- build(deps): bump github.com/fatih/color from 1.17.0 to 1.18.0 by @dependabot in #1171
- cli: add update command by @abiosoft in #1178
- core: update disk images by @abiosoft in #1179
New Contributors
- @AlexanderOMara made their first contribution in #1129
- @analogsignals made their first contribution in #1137
- @rteeling-evernorth made their first contribution in #1145
Full Changelog: v0.7.5...v0.7.6
v0.7.5
Highlights
This is an hotfix release to address a regression in networking for Incus runtime.
Commits
Full Changelog: v0.7.4...v0.7.5